很多初學(xué)的朋友學(xué)完HTML后開始學(xué)習(xí)CSS,在學(xué)習(xí)中常常遇到 div+css,但是不知道什么意思。網(wǎng)上很多資料說div就是取代〈table〉的,并且搜索引擎喜歡 div,更容易被搜索引擎收錄,反正很多。但到底 div+css(或者div)是什么意思?為什么用它?為什么不用〈table〉呢?這樣,我們先科普一下
css 是什么,然后再一起了解下 div+css 是什么。 css 是 Cascading Style Sheets (層疊樣式表)的簡稱,css 語言是一種標(biāo)記語言,它不需要編譯,可以直接由瀏覽器執(zhí)行(屬于瀏覽器解釋型語言)。
在學(xué)習(xí) css 之前你應(yīng)該掌握哪些基礎(chǔ)知識
1.什么是網(wǎng)頁,什么是超文本語言(html)。
2.會使用 Dreamweaver 等常用的網(wǎng)頁編輯器。
Dreamweaver 是現(xiàn)今最好的網(wǎng)站編輯工具之一,而 Dreamweaver8 增加的對 css 的支持更是你容易得來使用 css,用它來給制作網(wǎng)頁的 css 樣式表會更簡單、更方便。
CSS 是什么
CSS 就是 Cascading Style Sheets,中文翻譯為“層疊樣式表”,簡稱樣式表,它是一種制作網(wǎng)頁的新技術(shù)。
網(wǎng)頁設(shè)計最初是用HTML標(biāo)記來定義頁面文檔及格式,例如標(biāo)題<h1>、段落<p>、表格<table>、鏈接<a>等,但這些標(biāo)記不能滿足更多的文檔樣式需求,為了解決這個問題,在1997年W3C(The World Wide Web Consortium)頒布 HTML4 標(biāo)準(zhǔn)的同時也公布了有關(guān)樣式表的第一個標(biāo)準(zhǔn) CSS1, 自CSS1的版本之后,又在1998年5月發(fā)布了 CSS2 版本,樣式表得到了更多的充實。W3C 把 DHTML(Dynamic HTML)分為三個部分來實現(xiàn):腳本語言(包括JavaScript、Vbscript等)、支持動態(tài)效果的瀏覽器(包括 Internet Explorer、Netscape Navigator等)和CSS樣式表。
怎樣使用CSS
css 層疊樣式,層疊指的是上級標(biāo)簽的樣式會自動繼承到其所有下級標(biāo)簽,如針對<body>
設(shè)置的標(biāo)簽選擇器所設(shè)的字體樣式會自動應(yīng)用到<body>
下的<p>
中,除非<p>
重寫了相關(guān)樣式將其覆蓋。
css 語義化的命名是指用易于理解的名稱對 html 標(biāo)簽附加的 class 或 id 命名,如對于頁面上方的<div>
,可將其 id
設(shè)為 header
;頁面下方的<div>
設(shè)為 footer
,可以增強(qiáng) CSS 的可維護(hù)性。
基本上層疊的意思就是“繼承”、“權(quán)重”、“覆蓋”,通過良好的層級命名更好的實現(xiàn)效果,更少的代碼,更多的功能
比如下面的一個代碼我們這樣寫:
<div class="box">
<div class="h2">這是區(qū)塊標(biāo)題</div>
<div class="bd">這是區(qū)塊內(nèi)容</div>
<div>
使用 CSS 樣式,通常有3種方法:元素中直接添加樣式、從頁面頭部<style>
元素中調(diào)用、采用鏈接的形式調(diào)用。其中元素中直接添加樣式優(yōu)先級最高、從頁面頭部調(diào)用次之、采用鏈接外部CSS樣式最低。
你可以在你的 HTML 文檔的<HTML>
和<BODY>
標(biāo)記之間插入一個<STYLE>...</STYLE>塊對象。 示例如下:
<html>
<head>
<title>文檔標(biāo)題</title>
<style type="text/css">
<!--
body {font: 10pt "Arial"}
h1 {font: 15pt/17pt "Arial"; font-weight: bold; color: maroon;}
h2 {font: 13pt/15pt "Arial"; font-weight: bold; color: blue;}
p {font: 10pt/12pt "Arial"; color: black;}
-->
</style>
</head>
請注意,這里將 style 對象的 type 屬性設(shè)置為"text/css",是允許不支持這類型的瀏覽器忽略樣式表單。
css語法基礎(chǔ)
CSS 的定義是由三個部分構(gòu)成:選擇符(selector),屬性(properties)和屬性的取值(value)。
基本格式如下:
selector {property: value;}
(選擇符 {屬性:值})
選擇符是可以是多種形式,一般是你要定義樣式的HTML標(biāo)記,例如body、p、table……,你可以通過此方法定義它的屬性和值,屬性和值要用冒號隔開:
選擇符 body
是指頁面主體部分,color
是控制文字顏色的屬性,black
是顏色的值,此例的效果是使頁面中的文字為黑色。
如果屬性的值是多個單詞組成,必須在值上加引號,比如字體的名稱經(jīng)常是幾個單詞的組合:
p {font-family: "sans serif";}
(定義段落字體為sans serif)
如果需要對一個選擇符指定多個屬性時,我們使用分號將所有的屬性和值分開:
p {text-align: center; color: red;}
(段落居中排列;并且段落中的文字為紅色)
為了使你定義的樣式表方便閱讀,你可以采用分行的書寫格式:
p
{ text-align: center;
color: black;
font-family: arial; }
(段落排列居中,段落中文字為黑色,字體是arial)
2. 選擇符組
你可以把相同屬性和值的選擇符組合起來書寫,用逗號將選擇符分開,這樣可以減少樣式重復(fù)定義:
h1, h2, h3, h4, h5, h6 { color: green; }
(這個組里包括所有的標(biāo)題元素,每個標(biāo)題元素的文字都為綠色)
p, table{ font-size: 9px; }
(段落和表格里的文字尺寸為9號字)
效果完全等效于:
p { font-size: 9pt; }
table { font-size: 9pt; }
3. 類選擇符
用類選擇符你能夠把相同的元素分類定義不同的樣式,定義類選擇符時,在自定類的名稱前面加一個點號。假如你想要兩個不同的段落,一個段落向右對齊,一個段落居中,你可以先定義兩個類:
p.right {text-align: right;}
p.center {text-align: center;}
然后用不在不同的段落里,只要在 HTML 標(biāo)記里加入你定義的 class 參數(shù):
<p class="right"> 這個段落向右對齊的
</p>
<p class="center">
這個段落是居中排列的
</p>
注意:類的名稱可以是任意英文單詞或以英文開頭與數(shù)字的組合,一般以其功能和效果簡要命名。
類選擇符還有一種用法,在選擇符中省略 HTML 標(biāo)記名,這樣可以把幾個不同的元素定義成相同的樣式:
.center {text-align: center;}
(定義.center的類選擇符為文字居中排列)
這樣的類可以被應(yīng)用到任何元素上。下面我們使h1元素(標(biāo)題1)和p元素(段落)都?xì)w為"center"類,這使兩個元素的樣式都跟隨".center"這個類選擇符:
<h1 class="center">
這個標(biāo)題是居中排列的
</h1>
<p class="center">
這個段落也是居中排列的
</p>
注意:這種省略 HTML 標(biāo)記的類選擇符是我們經(jīng)后最常用的 CSS 方法,使用這種方法,我們可以很方便的在任意元素上套用預(yù)先定義好的類樣式。
4. ID選擇符
在HTML頁面中ID參數(shù)指定了某個單一元素,ID選擇符是用來對這個單一元素定義單獨的樣式。ID選擇符的應(yīng)用和類選擇符類似,只要把CLASS換成ID即可。將上例中類用ID替代:
<p id="intro">
這個段落向右對齊
</p>
定義ID選擇符要在ID名稱前加上一個#
號。和類選擇符相同,定義ID選擇符的屬性也有兩種方法。下面這個例子,ID屬性將匹配所有id="intro"
的元素:
#intro
{font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent; }
(字體尺寸為默認(rèn)尺寸的110%;粗體;藍(lán)色;背景顏色透明)
下面這個例子,ID屬性只匹配 id="intro"
的段落元素:
p#intro
{font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent; }
5. 包含選擇符
可以單獨對某種元素包含關(guān)系定義的樣式表,元素1里包含元素2,這種方式只對在元素1里的元素2定義,對單獨的元素1或元素2無定義,例如:
table a
{font-size: 12px;}
在表格內(nèi)的鏈接改變了樣式,文字大小為12象素,而表格外的鏈接的文字仍為默認(rèn)大小。
6. 樣式表的層疊性
層疊性就是繼承性,樣式表的繼承規(guī)則是外部的元素樣式會保留下來繼承給這個元素所包含的其他元素。事實上,所有在元素中嵌套的元素都會繼承外層元素指定的屬性值,有時會把很多層嵌套的樣式疊加在一起,除非另外更改。例如在DIV標(biāo)記中嵌套P標(biāo)記:
div { color: red; font-size:9pt;}
……
<div>
<p>
這個段落的文字為紅色9號字
</p>
</div>
(P元素里的內(nèi)容會繼承DIV定義的屬性)
注意:有些情況下內(nèi)部選擇符不繼承周圍選擇符的值,但理論上這些都是特殊的。例如,上邊界屬性值是不會繼承的,直覺上,一個段落不會同文檔BODY一樣的上邊界值。
另外,當(dāng)樣式表繼承遇到?jīng)_突時,總是以最后定義的樣式為準(zhǔn)。如果上例中定義了P的顏色:
div { color: red; font-size:9pt;}
p {color: blue;}
……
<div>
<p>
這個段落的文字為藍(lán)色9號字
</p>
</div>
我們可以看到段落里的文字大小為9號字是繼承 div 屬性的,而 color 屬性則依照最后定義的。
不同的選擇符定義相同的元素時,要考慮到不同的選擇符之間的優(yōu)先級。ID選擇符,類選擇符和HTML標(biāo)記選擇符,因為 ID 選擇符是最后加上元素上的,所以優(yōu)先級最高,其次是類選擇符。如果想超越這三者之間的關(guān)系,可以用 !important
提升樣式表的優(yōu)先權(quán),例如:
p { color: #FF0000!important; }
.blue { color: #0000FF;}
#id1 { color: #FFFF00;}
我們同時對頁面中的一個段落加上這三種樣式,它最后會依照被 !important
申明的HTML標(biāo)記選擇符樣式為紅色文字。如果去掉 !important
,則依照優(yōu)先權(quán)最高的ID選擇符為黃色文字。
7. 注釋
你可以在CSS中插入注釋來說明你代碼的意思,注釋有利于你或別人以后編輯和更改代碼時理解代碼的含義。在瀏覽器中,注釋是不顯示的。CSS注釋以/*
開頭,以*/
結(jié)尾,如下:
/* 定義段落樣式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字為黑色 */
font-family: arial; /* 字體為arial */
}
div+css是什么
一句話解釋:div 是框架,css 是樣式,用來裝飾框架。JS 讓它們動起來。再說詳細(xì)點,div就是給整個網(wǎng)頁布局,css 就是負(fù)責(zé)控制div的樣式,想讓 div 在哪里怎么顯示,都可以通過 css 來實現(xiàn),簡單的說網(wǎng)頁布局就像蓋房子,div 負(fù)責(zé)把這棟房子蓋起來,而 css 負(fù)責(zé)告訴他怎么蓋!
div是什么
1、DIV是html其中一個常用標(biāo)簽,如span、table、h1等之類標(biāo)簽
2、在HTML中DIV標(biāo)簽我們用的最多,具有代表性
3、div配合css類,布局出網(wǎng)頁
div語法
<div>內(nèi)容</div>
<div class="divcss5">內(nèi)容</div>
<div id="divcss5">內(nèi)容</div>
為什么用div+css取代〈table〉
很久很久以前,web 工程師通過 table 進(jìn)行頁面布局(現(xiàn)在Google 的 picasa 等應(yīng)用還能找到table布局應(yīng)用的例子),現(xiàn)在頁面布局大都推薦 div+css 方式。
在WEB前端開發(fā)中,HTML,CSS,JS 這三家三駕馬車分別代表著結(jié)構(gòu),展示,和交互。在 web1.0的時代,頁面的邏輯并不是特別復(fù)雜,對用戶體驗的要求也不是很高,table被大量開發(fā)者用來做布局元素,橫跨結(jié)構(gòu)和展示兩個部分,是很“重”的。
但是在如今 web 前端邏輯越來越復(fù)雜,用戶體驗要求越來越高的情況下,對這三者的解耦是必須的。此時再用 table 拿來做布局就不太合適了,因為 table 標(biāo)簽的語言根本不是用來做布局的,而是用來傳遞數(shù)據(jù)的。而 div+css 是符合解耦這一思想的,div 用來控制布局,css 用來控制樣式。好處從小了說是整個頁面的代碼組織結(jié)構(gòu)更合理,耦合度更低,從大了說是更利于前端開發(fā)的深度分工和復(fù)雜合作。
所謂的 div+css 是指通過 css 控制 div 的布局。其實這兒 div 可以理解為統(tǒng)稱,實際應(yīng)用的不僅是div,還有p,span,img,table 等任意節(jié)點的定位都可以通過 css 來控制。
簡要對比一下:
1、div+css 相對于 table 更為靈活,用 table 布局,代碼臃腫。
2、語義性問題。從語義上來說,table 應(yīng)該只是表格數(shù)據(jù)的容器,不應(yīng)該是布局的工具。
3、樣式渲染問題。table 布局要等內(nèi)容全部加載完畢后才渲染樣式,如果用戶網(wǎng)速不好,這樣用戶體驗會很差。
DIV+CSS布局該怎么學(xué)?基本流程及實例介紹
更多建議: