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

2020-11-16 09:37 更新

很多初學(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í)行(屬于瀏覽器解釋型語言)。


div+css

在學(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",是允許不支持這類型的瀏覽器忽略樣式表單。 


w3c

css語法基礎(chǔ)

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

基本格式如下:

selector {property: value;}

(選擇符 {屬性:值})

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

body {color: black;}

選擇符 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; }


css

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é)告訴他怎么蓋!
table

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é)?基本流程及實例介紹


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號