初學(xué)者必讀:CSS是什么?DIV+CSS又是什么?

2020-11-16 09:37 更新

很多初學(xué)的朋友學(xué)完HTML后開(kāi)始學(xué)習(xí)CSS,在學(xué)習(xí)中常常遇到 div+css,但是不知道什么意思。網(wǎng)上很多資料說(shuō)div就是取代〈table〉的,并且搜索引擎喜歡 div,更容易被搜索引擎收錄,反正很多。但到底 div+css(或者div)是什么意思?為什么用它?為什么不用〈table〉呢?這樣,我們先科普一下 css 是什么,然后再一起了解下 div+css 是什么。 css 是 Cascading Style Sheets (層疊樣式表)的簡(jiǎn)稱(chēng),css 語(yǔ)言是一種標(biāo)記語(yǔ)言,它不需要編譯,可以直接由瀏覽器執(zhí)行(屬于瀏覽器解釋型語(yǔ)言)。


div+css

在學(xué)習(xí) css 之前你應(yīng)該掌握哪些基礎(chǔ)知識(shí)

1.什么是網(wǎng)頁(yè),什么是超文本語(yǔ)言(html)。

2.會(huì)使用 Dreamweaver 等常用的網(wǎng)頁(yè)編輯器。

Dreamweaver 是現(xiàn)今最好的網(wǎng)站編輯工具之一,而 Dreamweaver8 增加的對(duì) css 的支持更是你容易得來(lái)使用 css,用它來(lái)給制作網(wǎng)頁(yè)的 css 樣式表會(huì)更簡(jiǎn)單、更方便。

CSS 是什么

CSS 就是 Cascading Style Sheets,中文翻譯為“層疊樣式表”,簡(jiǎn)稱(chēng)樣式表,它是一種制作網(wǎng)頁(yè)的新技術(shù)。

網(wǎng)頁(yè)設(shè)計(jì)最初是用HTML標(biāo)記來(lái)定義頁(yè)面文檔及格式,例如標(biāo)題<h1>、段落<p>、表格<table>、鏈接<a>等,但這些標(biāo)記不能滿(mǎn)足更多的文檔樣式需求,為了解決這個(gè)問(wèn)題,在1997年W3C(The World Wide Web Consortium)頒布 HTML4 標(biāo)準(zhǔn)的同時(shí)也公布了有關(guān)樣式表的第一個(gè)標(biāo)準(zhǔn) CSS1, 自CSS1的版本之后,又在1998年5月發(fā)布了 CSS2 版本,樣式表得到了更多的充實(shí)。W3C 把 DHTML(Dynamic HTML)分為三個(gè)部分來(lái)實(shí)現(xiàn):腳本語(yǔ)言(包括JavaScript、Vbscript等)、支持動(dòng)態(tài)效果的瀏覽器(包括 Internet Explorer、Netscape Navigator等)和CSS樣式表。

怎樣使用CSS

css 層疊樣式,層疊指的是上級(jí)標(biāo)簽的樣式會(huì)自動(dòng)繼承到其所有下級(jí)標(biāo)簽,如針對(duì)<body>設(shè)置的標(biāo)簽選擇器所設(shè)的字體樣式會(huì)自動(dòng)應(yīng)用到<body>下的<p>中,除非<p>重寫(xiě)了相關(guān)樣式將其覆蓋。

css 語(yǔ)義化的命名是指用易于理解的名稱(chēng)對(duì) html 標(biāo)簽附加的 class 或 id 命名,如對(duì)于頁(yè)面上方的<div>,可將其 id 設(shè)為 header;頁(yè)面下方的<div>設(shè)為 footer,可以增強(qiáng) CSS 的可維護(hù)性。

基本上層疊的意思就是“繼承”、“權(quán)重”、“覆蓋”,通過(guò)良好的層級(jí)命名更好的實(shí)現(xiàn)效果,更少的代碼,更多的功能


 比如下面的一個(gè)代碼我們這樣寫(xiě):

<div class="box">

<div class="h2">這是區(qū)塊標(biāo)題</div>

<div class="bd">這是區(qū)塊內(nèi)容</div>

<div> 

使用 CSS 樣式,通常有3種方法:元素中直接添加樣式、從頁(yè)面頭部<style>元素中調(diào)用、采用鏈接的形式調(diào)用。其中元素中直接添加樣式優(yōu)先級(jí)最高、從頁(yè)面頭部調(diào)用次之、采用鏈接外部CSS樣式最低。


你可以在你的 HTML 文檔的<HTML><BODY>標(biāo)記之間插入一個(gè)<STYLE>...</STYLE>塊對(duì)象。 示例如下:  

<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>

請(qǐng)注意,這里將 style 對(duì)象的 type 屬性設(shè)置為"text/css",是允許不支持這類(lèi)型的瀏覽器忽略樣式表單。 


w3c

css語(yǔ)法基礎(chǔ)

CSS 的定義是由三個(gè)部分構(gòu)成:選擇符(selector),屬性(properties)和屬性的取值(value)。

基本格式如下:

selector {property: value;}

(選擇符 {屬性:值})

選擇符是可以是多種形式,一般是你要定義樣式的HTML標(biāo)記,例如body、p、table……,你可以通過(guò)此方法定義它的屬性和值,屬性和值要用冒號(hào)隔開(kāi):

body {color: black;}

選擇符 body 是指頁(yè)面主體部分,color 是控制文字顏色的屬性,black是顏色的值,此例的效果是使頁(yè)面中的文字為黑色。

如果屬性的值是多個(gè)單詞組成,必須在值上加引號(hào),比如字體的名稱(chēng)經(jīng)常是幾個(gè)單詞的組合:

p {font-family: "sans serif";}

(定義段落字體為sans serif)

如果需要對(duì)一個(gè)選擇符指定多個(gè)屬性時(shí),我們使用分號(hào)將所有的屬性和值分開(kāi):

p {text-align: center; color: red;}

(段落居中排列;并且段落中的文字為紅色)

為了使你定義的樣式表方便閱讀,你可以采用分行的書(shū)寫(xiě)格式:

p

{ text-align: center;

color: black;

font-family: arial; }

(段落排列居中,段落中文字為黑色,字體是arial)

2. 選擇符組

你可以把相同屬性和值的選擇符組合起來(lái)書(shū)寫(xiě),用逗號(hào)將選擇符分開(kāi),這樣可以減少樣式重復(fù)定義:

h1, h2, h3, h4, h5, h6 { color: green; }

(這個(gè)組里包括所有的標(biāo)題元素,每個(gè)標(biāo)題元素的文字都為綠色)

p, table{ font-size: 9px; }

(段落和表格里的文字尺寸為9號(hào)字)

效果完全等效于:

p { font-size: 9pt; }

table { font-size: 9pt; }


3. 類(lèi)選擇符

用類(lèi)選擇符你能夠把相同的元素分類(lèi)定義不同的樣式,定義類(lèi)選擇符時(shí),在自定類(lèi)的名稱(chēng)前面加一個(gè)點(diǎn)號(hào)。假如你想要兩個(gè)不同的段落,一個(gè)段落向右對(duì)齊,一個(gè)段落居中,你可以先定義兩個(gè)類(lèi):

p.right {text-align: right;}

p.center {text-align: center;}

然后用不在不同的段落里,只要在 HTML 標(biāo)記里加入你定義的 class 參數(shù):

<p class="right"> 這個(gè)段落向右對(duì)齊的

</p> 

<p class="center">

這個(gè)段落是居中排列的

</p>

注意:類(lèi)的名稱(chēng)可以是任意英文單詞或以英文開(kāi)頭與數(shù)字的組合,一般以其功能和效果簡(jiǎn)要命名。

類(lèi)選擇符還有一種用法,在選擇符中省略 HTML 標(biāo)記名,這樣可以把幾個(gè)不同的元素定義成相同的樣式:

.center {text-align: center;}

(定義.center的類(lèi)選擇符為文字居中排列)

這樣的類(lèi)可以被應(yīng)用到任何元素上。下面我們使h1元素(標(biāo)題1)和p元素(段落)都?xì)w為"center"類(lèi),這使兩個(gè)元素的樣式都跟隨".center"這個(gè)類(lèi)選擇符:

<h1 class="center">

這個(gè)標(biāo)題是居中排列的

</h1>

<p class="center">

這個(gè)段落也是居中排列的

</p>

注意:這種省略 HTML 標(biāo)記的類(lèi)選擇符是我們經(jīng)后最常用的 CSS 方法,使用這種方法,我們可以很方便的在任意元素上套用預(yù)先定義好的類(lèi)樣式。

4. ID選擇符

在HTML頁(yè)面中ID參數(shù)指定了某個(gè)單一元素,ID選擇符是用來(lái)對(duì)這個(gè)單一元素定義單獨(dú)的樣式。ID選擇符的應(yīng)用和類(lèi)選擇符類(lèi)似,只要把CLASS換成ID即可。將上例中類(lèi)用ID替代:

<p id="intro">

這個(gè)段落向右對(duì)齊

</p>

定義ID選擇符要在ID名稱(chēng)前加上一個(gè)#號(hào)。和類(lèi)選擇符相同,定義ID選擇符的屬性也有兩種方法。下面這個(gè)例子,ID屬性將匹配所有id="intro"的元素:

#intro

{font-size:110%;

font-weight:bold;

color:#0000ff;

background-color:transparent; }

(字體尺寸為默認(rèn)尺寸的110%;粗體;藍(lán)色;背景顏色透明)

下面這個(gè)例子,ID屬性只匹配 id="intro"的段落元素:

p#intro

{font-size:110%;

font-weight:bold;

color:#0000ff;

background-color:transparent; }


css

5. 包含選擇符

可以單獨(dú)對(duì)某種元素包含關(guān)系定義的樣式表,元素1里包含元素2,這種方式只對(duì)在元素1里的元素2定義,對(duì)單獨(dú)的元素1或元素2無(wú)定義,例如:

table a

{font-size: 12px;}

在表格內(nèi)的鏈接改變了樣式,文字大小為12象素,而表格外的鏈接的文字仍為默認(rèn)大小。

6. 樣式表的層疊性

層疊性就是繼承性,樣式表的繼承規(guī)則是外部的元素樣式會(huì)保留下來(lái)繼承給這個(gè)元素所包含的其他元素。事實(shí)上,所有在元素中嵌套的元素都會(huì)繼承外層元素指定的屬性值,有時(shí)會(huì)把很多層嵌套的樣式疊加在一起,除非另外更改。例如在DIV標(biāo)記中嵌套P標(biāo)記:

div { color: red; font-size:9pt;}

……

<div>

<p>

這個(gè)段落的文字為紅色9號(hào)字

</p>

</div>

(P元素里的內(nèi)容會(huì)繼承DIV定義的屬性)

注意:有些情況下內(nèi)部選擇符不繼承周?chē)x擇符的值,但理論上這些都是特殊的。例如,上邊界屬性值是不會(huì)繼承的,直覺(jué)上,一個(gè)段落不會(huì)同文檔BODY一樣的上邊界值。

另外,當(dāng)樣式表繼承遇到?jīng)_突時(shí),總是以最后定義的樣式為準(zhǔn)。如果上例中定義了P的顏色:

div { color: red; font-size:9pt;}

p {color: blue;}

……

<div>

<p>

這個(gè)段落的文字為藍(lán)色9號(hào)字

</p>

</div>

我們可以看到段落里的文字大小為9號(hào)字是繼承 div 屬性的,而 color 屬性則依照最后定義的。

不同的選擇符定義相同的元素時(shí),要考慮到不同的選擇符之間的優(yōu)先級(jí)。ID選擇符,類(lèi)選擇符和HTML標(biāo)記選擇符,因?yàn)?ID 選擇符是最后加上元素上的,所以?xún)?yōu)先級(jí)最高,其次是類(lèi)選擇符。如果想超越這三者之間的關(guān)系,可以用 !important 提升樣式表的優(yōu)先權(quán),例如:

p { color: #FF0000!important; }

.blue { color: #0000FF;}

#id1 { color: #FFFF00;}

我們同時(shí)對(duì)頁(yè)面中的一個(gè)段落加上這三種樣式,它最后會(huì)依照被 !important 申明的HTML標(biāo)記選擇符樣式為紅色文字。如果去掉 !important,則依照優(yōu)先權(quán)最高的ID選擇符為黃色文字。

7. 注釋

你可以在CSS中插入注釋來(lái)說(shuō)明你代碼的意思,注釋有利于你或別人以后編輯和更改代碼時(shí)理解代碼的含義。在瀏覽器中,注釋是不顯示的。CSS注釋以/* 開(kāi)頭,以*/ 結(jié)尾,如下:

/* 定義段落樣式表 */

p

{

text-align: center; /* 文本居中排列 */

color: black; /* 文字為黑色 */

font-family: arial; /* 字體為arial */

}


div+css是什么

一句話(huà)解釋?zhuān)篸iv 是框架,css 是樣式,用來(lái)裝飾框架。JS 讓它們動(dòng)起來(lái)。再說(shuō)詳細(xì)點(diǎn),div就是給整個(gè)網(wǎng)頁(yè)布局,css 就是負(fù)責(zé)控制div的樣式,想讓 div 在哪里怎么顯示,都可以通過(guò) css 來(lái)實(shí)現(xiàn),簡(jiǎn)單的說(shuō)網(wǎng)頁(yè)布局就像蓋房子,div 負(fù)責(zé)把這棟房子蓋起來(lái),而 css 負(fù)責(zé)告訴他怎么蓋!
table

div是什么

1、DIV是html其中一個(gè)常用標(biāo)簽,如span、table、h1等之類(lèi)標(biāo)簽

2、在HTML中DIV標(biāo)簽我們用的最多,具有代表性

3、div配合css類(lèi),布局出網(wǎng)頁(yè)

div語(yǔ)法

<div>內(nèi)容</div>
<div class="divcss5">內(nèi)容</div>
<div id="divcss5">內(nèi)容</div>

為什么用div+css取代〈table〉

很久很久以前,web 工程師通過(guò) table 進(jìn)行頁(yè)面布局(現(xiàn)在Google 的 picasa 等應(yīng)用還能找到table布局應(yīng)用的例子),現(xiàn)在頁(yè)面布局大都推薦 div+css 方式。 

在WEB前端開(kāi)發(fā)中,HTML,CSS,JS 這三家三駕馬車(chē)分別代表著結(jié)構(gòu),展示,和交互。在 web1.0的時(shí)代,頁(yè)面的邏輯并不是特別復(fù)雜,對(duì)用戶(hù)體驗(yàn)的要求也不是很高,table被大量開(kāi)發(fā)者用來(lái)做布局元素,橫跨結(jié)構(gòu)和展示兩個(gè)部分,是很“重”的。

但是在如今 web 前端邏輯越來(lái)越復(fù)雜,用戶(hù)體驗(yàn)要求越來(lái)越高的情況下,對(duì)這三者的解耦是必須的。此時(shí)再用 table 拿來(lái)做布局就不太合適了,因?yàn)?table 標(biāo)簽的語(yǔ)言根本不是用來(lái)做布局的,而是用來(lái)傳遞數(shù)據(jù)的。而 div+css 是符合解耦這一思想的,div 用來(lái)控制布局,css 用來(lái)控制樣式。好處從小了說(shuō)是整個(gè)頁(yè)面的代碼組織結(jié)構(gòu)更合理,耦合度更低,從大了說(shuō)是更利于前端開(kāi)發(fā)的深度分工和復(fù)雜合作。

所謂的 div+css 是指通過(guò) css 控制 div 的布局。其實(shí)這兒 div 可以理解為統(tǒng)稱(chēng),實(shí)際應(yīng)用的不僅是div,還有p,span,img,table 等任意節(jié)點(diǎn)的定位都可以通過(guò) css 來(lái)控制。 

簡(jiǎn)要對(duì)比一下: 

1、div+css 相對(duì)于 table 更為靈活,用 table 布局,代碼臃腫。 

2、語(yǔ)義性問(wèn)題。從語(yǔ)義上來(lái)說(shuō),table 應(yīng)該只是表格數(shù)據(jù)的容器,不應(yīng)該是布局的工具。 

3、樣式渲染問(wèn)題。table 布局要等內(nèi)容全部加載完畢后才渲染樣式,如果用戶(hù)網(wǎng)速不好,這樣用戶(hù)體驗(yàn)會(huì)很差。

DIV+CSS布局該怎么學(xué)?基本流程及實(shí)例介紹


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)