知道自己有多差勁了嗎,趕緊努力吧。
起始進(jìn)度:
1.層疊和繼承
對(duì)于層疊來說帆啃,共有三種主要的樣式來源:
- 瀏覽器對(duì)HTML定義的默認(rèn)樣式。
- 用戶定義的樣式窍帝。
- 開發(fā)者定義的樣式努潘,可以有三種形式:
- 定義在外部文件(外鏈樣式):本教程中案例主要是通過這種形式定義樣式。
- 在頁面的頭部定義(內(nèi)聯(lián)樣式):通過這種形式定義的樣式只在本頁面內(nèi)生效坤学。
- 定義在特定的元素身上(行內(nèi)樣式):這種形式多用于測試疯坤,可維護(hù)性較差。
優(yōu)先級(jí)深浮,從高到低依次為:網(wǎng)頁開發(fā)者定義的樣式压怠、網(wǎng)頁閱讀者定義的樣式、瀏覽器的默認(rèn)樣式飞苇。對(duì)繼承的元素來說菌瘫,子元素自身的樣式優(yōu)先級(jí)高于從父級(jí)繼承來的樣式。
另外布卡,CSS提供了一個(gè) !important 關(guān)鍵字雨让,用戶可以通過使用這個(gè)關(guān)鍵字使自己定義的樣式覆蓋掉開發(fā)者定義的樣式。這就意味著忿等,作為開發(fā)者栖忠,你很難準(zhǔn)確的預(yù)知頁面最終在用戶電腦上的顯示效果。
2.選擇器
示例代碼
<p id="principal" class="key">
- Type selector
p {color: blue;}
- ID selector (唯一,區(qū)分大小寫)
#principal {color: blue;}
- Class selector
.key {color: blue;}
偽類選擇器(Pseudo-classes selectors)
CSS偽類(pseudo-class)是加在選擇器后面的用來指定元素狀態(tài)的關(guān)鍵字庵寞。比如虚汛,:hover
會(huì)在鼠標(biāo)懸停在選中元素上時(shí)應(yīng)用相應(yīng)的樣式。
偽類和偽元素(pseudo-elements)不僅可以讓你為符合某種文檔樹結(jié)構(gòu)的元素指定樣式皇帮,還可以為符合某些外部條件的元素指定樣式:瀏覽歷史(比如是否訪問過 (:visited
)卷哩, 內(nèi)容狀態(tài)(如:checked
), 鼠標(biāo)位置 (如:hover
).
偽類列表
:link
:visited
:active
:hover
:focus
:first-child
:nth-child
:nth-last-child
:nth-of-type
:first-of-type
:last-of-type
:empty
:target
:checked
:enabled
:disabled
常見的基于關(guān)系的選擇器
選擇器 | 選擇的元素 |
---|---|
A E | 元素A的任一后代元素E (后代節(jié)點(diǎn)指A的子節(jié)點(diǎn),子節(jié)點(diǎn)的子節(jié)點(diǎn)属拾,以此類推将谊,即A的子子孫孫) |
A > E | 元素A的任一子元素E(也就是直系后代) |
E:first-child | 任一是其父母結(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)的元素E |
B + E | 元素B的任一下一個(gè)兄弟元素E |
B ~ E | B元素后面的擁有共同父元素的兄弟元素E |