1.CSS的定義
CSS指層疊樣式表(Cascading Style Sheets)吱涉,CSS就是控制頁(yè)面布局和樣式。
CSS通常稱為CSS樣式表或?qū)盈B樣式表(級(jí)聯(lián)樣式表)外里,主要用于設(shè)置HTML頁(yè)面中的文本內(nèi)容(字體怎爵、大小、對(duì)齊方式等)盅蝗、圖片的外形(寬高鳖链、邊框樣式、邊距等)以及版面的布局等外觀顯示樣式墩莫。
CSS以HTML為基礎(chǔ)芙委,提供了豐富的功能,如字體狂秦、顏色灌侣、背景的控制及整體排版等,而且還可以針對(duì)不同的瀏覽器設(shè)置不同的樣式故痊。
2.引入CSS樣式
a.嵌入樣式:在head標(biāo)簽中顶瞳,嵌套一個(gè)style標(biāo)簽,在style標(biāo)簽中可以書寫CSS的樣式內(nèi)容愕秫。
b.行內(nèi)樣式(瀏覽器樣式,默認(rèn)樣式):通過(guò)在標(biāo)簽中設(shè)置style屬性來(lái)控制標(biāo)簽的樣式和效果焰络。
c.外部樣式:用link標(biāo)簽引入戴甩,CSS文件為單獨(dú)的文件。
d.導(dǎo)入樣式:@import 闪彼,導(dǎo)入樣式會(huì)導(dǎo)致CSS文件不能并行下載甜孤,不推薦使用协饲;同時(shí),導(dǎo)入樣 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 式必須寫在所有CSS規(guī)劃之前缴川。
3.CSS注釋
CSS的注釋語(yǔ)法:/*注釋的內(nèi)容*/
快捷鍵:ctrl+/
注意:注釋不能嵌套使用
a.多行注釋:
/*
放多行的注釋內(nèi)容1
放多行的注釋內(nèi)容2
*/
一般用于模塊的注釋
b.文件頭注釋
4. CSS選擇器
a. 標(biāo)簽選擇器:標(biāo)簽選擇器就是選擇當(dāng)前頁(yè)面中相同名字的標(biāo)簽茉稠。
b. 通配符選擇器:通配符*代表所有的標(biāo)簽。通過(guò)通配符選擇器可以選擇頁(yè)面中的所有的標(biāo)簽把夸。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?穿透力很強(qiáng)而线。*{ ? }
c. ID選擇器:
A. HTML標(biāo)簽中ID的屬性值在一個(gè)頁(yè)面中必須是唯一的。
B. ID選擇器是可以幫助我們選擇當(dāng)前頁(yè)面中唯一id值的標(biāo)簽恋日,也就是根據(jù)標(biāo)簽的id屬性值進(jìn) ? ? ? ? ? ? ? ? ? ? 行選取設(shè)置樣式膀篮。
C. ID選擇器的的符號(hào)是#號(hào)。
d. 類選擇器:
A. 類選擇器就是選取頁(yè)面中所有標(biāo)簽的class屬性值相同的一類標(biāo)簽岂膳。
B. 類選擇器的符號(hào)是:. ?(點(diǎn))
e. 層級(jí)選擇器誓竿,分組選擇器,屬性選擇器谈截,子元素選擇器筷屡,相鄰兄弟選擇器,偽類選擇器簸喂,偽 ? ? ? ? ? ? ? 元素選擇器毙死;
注意:ID選擇器和class(類)選擇器的區(qū)別
1、相同的Class屬性值娘赴,可以在HTML中出現(xiàn)多次规哲。ID屬性值在頁(yè)面中只能出現(xiàn)一次。
2诽表、一個(gè)class的屬性可以有多個(gè)值唉锌,也就是說(shuō)一個(gè)標(biāo)簽可以有多個(gè)類。
5. 復(fù)合選擇器
a. 標(biāo)簽指定選擇器:標(biāo)簽指定式復(fù)合選擇器竿奏,要求必須是標(biāo)簽開頭然后其他選擇器袄简。eg: p.left{ }
b. 后代選擇器:后代選擇器用來(lái)選擇元素或元素組的后代,其寫法就是把外層標(biāo)記寫在前面泛啸,
內(nèi)層標(biāo)記寫在后面绿语,中間用空格分隔。當(dāng)標(biāo)記發(fā)生嵌套時(shí)候址,內(nèi)層標(biāo)記就成為外
層標(biāo)記的后代吕粹。后代不僅僅包括兒子,還包括子子孫孫岗仑。
c. 子代選擇器:子代選擇器匹耕,是讓CSS選擇器智能選擇兒子輩的元素。
eg:p> em {color:red;}
解讀為:選擇器p > em可以解釋為“選擇作為p元素子元素的所有em元素”荠雕。
尖括號(hào)和選擇器之間可以有空格也可以沒(méi)有稳其,沒(méi)有限制驶赏。
建議:選擇器和尖括號(hào)間有空格。
e. 屬性選擇器:屬性選擇器就是根據(jù)html標(biāo)簽的屬性進(jìn)行過(guò)濾選擇既鞠。
f. 偽類選擇器:
:link ?偽類將應(yīng)用于未被訪問(wèn)過(guò)的鏈接煤傍。IE6不兼容,解決此問(wèn)題嘱蛋,直接使用a標(biāo)簽蚯姆。
:hover ? 偽類將應(yīng)用于有鼠標(biāo)指針懸停于其上的元素。在IE6只能應(yīng)用于a連接浑槽,IE7+所有元素都兼 ? ? ? ? ? ? ? ? ? ?容蒋失。
:active ? ?偽類將應(yīng)用于被激活的元素,如被點(diǎn)擊的鏈接桐玻、被按下的按鈕等篙挽。
:visited ? 偽類將應(yīng)用于已經(jīng)被訪問(wèn)過(guò)的鏈接
:focus ? ? 偽類將應(yīng)用于擁有鍵盤輸入焦點(diǎn)的元素。
順序問(wèn)題:LoVe ?HAte原則镊靴。
g.偽元素選擇器:偽元素是控制內(nèi)容
:first-line偽元素
:first-letter偽元素
注釋:以上兩個(gè)偽元素只能用于塊級(jí)元素
:first-child偽元素铣卡,選擇屬于第一個(gè)子元素的元素。
例如:span:first-child{} ?/*選擇屬于第一個(gè)子元素的所有span標(biāo)簽偏竟。*/
:before與:after偽元素煮落,可以設(shè)置元素之前后之后的 內(nèi)容,并且配合content設(shè)置相關(guān)內(nèi)容踊谋。
6.CSS的特點(diǎn)
a.css的層疊性
? ?CSS的層疊性蝉仇,也就是說(shuō)后來(lái)設(shè)置的樣式會(huì)層疊(覆蓋)之前的樣式,層疊性的前提示CSS的選擇器的優(yōu)先級(jí)相同殖蚕。
b.css的繼承性
? ?CSS的繼承性是指轿衔,子容器的樣式會(huì)繼承父容器的樣式。但并不是所有的樣式都能繼承睦疫。只有部分樣式能繼承害驹,比如:文字相關(guān)字體大小、顏色蛤育、字體樣式宛官、行高、鼠標(biāo)樣式等瓦糕。盒子相關(guān)的樣式都不能繼承底洗,比如:寬高、背景色咕娄、邊距枷恕、浮動(dòng)、絕對(duì)定位等谭胚。
c.css的特殊性(優(yōu)先級(jí))
? 1徐块、首先比較行內(nèi)樣式,行內(nèi)樣式優(yōu)先級(jí)最高灾而。如果嵌入樣式和行內(nèi)樣式同時(shí)設(shè)置樣式時(shí)胡控,行內(nèi)樣式優(yōu)先級(jí)最高。
2旁趟、其次是內(nèi)嵌樣式的優(yōu)先級(jí)比較:
內(nèi)嵌樣式的昼激,ID選擇器對(duì)應(yīng)的樣式優(yōu)先級(jí)最高。
其次是Class樣式
再次是標(biāo)簽選擇器樣式锡搜,
再次是通配符選擇器設(shè)置的樣式
后面是繼承的樣式橙困,
最后是瀏覽器默認(rèn)的樣式。
7.css的display屬性
display可以控制標(biāo)簽的顯示模式耕餐。
display:none | inline | block | inline-block
繼承性:無(wú)
display值的解釋:
none:此元素不被顯示凡傅,在文檔中被移除。
block:此元素按塊級(jí)元素顯示:前后帶換行符肠缔,自己占一行夏跷。內(nèi)聯(lián)元素 → 塊元素
inline:此元素按內(nèi)聯(lián)元素顯示:1個(gè)挨著1個(gè)。塊元素 → 內(nèi)聯(lián)元素
inline-block:按行內(nèi)標(biāo)簽進(jìn)行排版明未,但是可以設(shè)置寬高槽华,而且高度可以影響行高
8.css的顏色表示
RGB:red,green趟妥,blue三元素疊加組成不同顏色猫态。
語(yǔ)法:color: rgb(33,33,33);
取值:0-255,也可以用百分比:0% - 100%
十六進(jìn)制是另外一種寫法:
Color:#3333333;
十六進(jìn)制也是rgb的表示方法另外一種寫法而已披摄。
9.文字排版
a.font-size屬性
? ? ? ?用于設(shè)置字號(hào)亲雪,該屬性的值可以使用相對(duì)長(zhǎng)度單位,也可以使用絕對(duì)長(zhǎng)度單位行疏。
其中匆光,相對(duì)長(zhǎng)度單位比較常用,推薦使用像素單位px酿联,絕對(duì)長(zhǎng)度單位使用較少终息。
可選參數(shù)值:xx-small | x-small | small | medium | large | x-large | xx-large|smaller | larger
b.設(shè)置字體font-family
使用font-family設(shè)置字體時(shí),需要注意以下幾點(diǎn):
?各種字體之間必須使用英文狀態(tài)下的逗號(hào)隔開贞让。
?中文字體需要加英文狀態(tài)下的引號(hào)周崭,英文字體一般不需要加引號(hào)。當(dāng)需要設(shè)置英文字體時(shí)喳张,英文字體名必須位于中文字體名之前续镇。
?如果字體名中包含空格、#销部、$等符號(hào)摸航,則該字體必須加英文狀態(tài)下的單引號(hào)或雙引號(hào)制跟,例如font-family: "Times New Roman";。
盡量使用系統(tǒng)默認(rèn)字體酱虎,保證在任何用戶的瀏覽器中都能正確顯示雨膨。
**例如:font-famliy: ?tahoma,arial,'Hiragino Sans GB',\5b8b\4f53,sans-serif;
? ?前面的字體都查找失敗后,在系統(tǒng)中找一種sans-serif字體作為默認(rèn)字體读串。
? 注意順序聊记,如果把sans-serif放前面去,后面的都失效了恢暖。
b設(shè)置字符的間距
letter-spacing屬性用于定義字間距排监,所謂字間距就是字符與字符之間的空白。其屬性值可為不同單位的數(shù)值杰捂,允許使用負(fù)值舆床,默認(rèn)為normal。
可以設(shè)置連續(xù)漢字(漢字間沒(méi)有空格)的間距琼娘,也可以設(shè)置英文字母之間的間距峭弟。
c.設(shè)置單詞間距
word-spacing屬性用于定義英文單詞之間的間距。也可以設(shè)置漢字中出現(xiàn)斷字的距離(比如:文字間出現(xiàn)空格等)脱拼。
d.text-decoration:文本裝飾
text-decoration屬性用于設(shè)置文本的下劃線瞒瘸,上劃線,刪除線等裝飾效果熄浓,其可用屬性值如下:
<s>刪除線</s>
none:沒(méi)有裝飾(正常文本默認(rèn)值)情臭。
underline:下劃線。
overline:上劃線赌蔑。
line-through:刪除線俯在。
e.text-align:水平對(duì)齊方式
text-align屬性用于設(shè)置文本內(nèi)容的水平對(duì)齊,相當(dāng)于html中的align對(duì)齊屬性娃惯。其可用屬性值如下:
left:左對(duì)齊(默認(rèn)值)
right:右對(duì)齊
center:居中對(duì)齊
f.text-indent:首行縮進(jìn)
text-indent屬性用于設(shè)置段落首行文本的縮進(jìn)跷乐,只能設(shè)置于塊級(jí)標(biāo)簽。其屬性值可為不同單位的數(shù)值趾浅、em字符寬度的倍數(shù)愕提、或相對(duì)于瀏覽器窗口寬度的百分比%,允許使用負(fù)值,建議使用em作為設(shè)置單位皿哨。
g.white-space:空白符的處理
屬性值:
Normal:正常的顯示浅侨,如果寬度不夠進(jìn)行折行顯示。
Nowrap:即使超過(guò)盒子的寬度证膨,文本也不進(jìn)行換行顯示如输。
Pre:寫html代碼的時(shí)候是什么樣式的,顯示就顯示成什么樣的。