css就是一種先選擇html元素,然後設定選中元素css屬性的機制。
css選擇符合要應用的樣式構成一條css規則。
1.行內樣式,直接寫在特定標籤的style屬性中;
2.嵌入樣式,在head元素中嵌入,將css規則放入中;
3.鏈結樣式,在元素中使用外部的樣式表,如:
3種css樣式的優先順序:
行內樣式 > 嵌入樣式 > 鏈結樣式
css規則命名慣例:
css規則由選擇符和宣告2部分組成。選擇符用於指定元素,宣告又由2部分組成:屬性和值。如果選擇符由多個元素組成,則用逗號隔開。如果有多條宣告,則用分號隔開。簡單例子:
p,h1
用於選擇特定元素的選擇符分為3種:
1.上下文選擇符。基於祖先或同胞元素選擇乙個元素:
a.祖先選擇符。用空格符隔開,用於選定某個祖先元素下的元素。如我們需要只改變元素中的元素:
aside p
b.子選擇符。標籤2必須是標籤1的子元素:
標籤1 > 標籤2
c.臨近同胞選擇符。標籤2必須緊跟在其同胞標籤1的後面:
標籤1 + 標籤2
d.一般同胞選擇符。標籤2必須跟(不一定緊跟)在其同胞標籤1後面:
標籤1 ~ 標籤2
e.通用選擇符。*是乙個萬用字元,可以匹配任何元素。
2.id和類選擇符。只要在html中為元素新增了id和class屬性,就可以在css選擇符中使用id和類名,直接選中特定區域。id和class有點不同,id用來在頁面中唯一地標識乙個元素,類用來標識一組具有某些相同特徵的元素。
a.類選擇符:
.類名b.id選擇符:
#id屬性值
3.屬性選擇符。通過元素的屬性來定位元素。
a.屬性名選擇符。選擇帶有該屬性名的標籤名:
標籤名[屬性名]
b.屬性值選擇符。選擇帶有值為屬性值的屬性名的標籤名。
標籤名[屬性名="屬性值"]
偽類:
偽類這個叫法源自它們與類相似,但實際上並沒有類會附加到標籤上。偽類有2種:
ui偽類(在html元素處於某種狀態,如滑鼠懸停時,為該元素應用css樣式);
結構化偽類(標記中存在某種結構上的關係時,如某個元素是一組元素中的第乙個或最後乙個,為相應元素應用css樣式)。
ui偽類:
1.鏈結偽類:
a:link(預設狀態)
a:visited(使用者此前點選過的鏈結)
a:hover(滑鼠懸停)
a:active(鏈結正在被點選,滑鼠還沒有釋放)
2.focus偽類:
input:focus(獲得焦點)
3.target偽類:
如果使用者點選乙個指向頁面中其他元素的鏈結,則那個元素就是target,可以用:target偽類選中它:
#cankao:target
結構化偽類:
1.:first-child和:last-child(第乙個和最後乙個子元素)
2.:nth-child(n) (第n個子元素)
偽元素:
偽元素就是文件中若有實無的元素。
1.::first-letter(首字元)
2.::first-line(首行)
3.::before和::after(可用於在特定元素前面或後面新增特殊文字內容),如:
25p.age::before
最後瀏覽器顯示出的內容是:
我的年齡是:25
css應用機制:
1.繼承:
css中的元素會繼承其祖先元素的css樣式。
2.特指:
特指度表示一條規則有多明確。一條規則的特指度,由它的選擇符中包含多少個標籤、類名和id決定。計算方式:
計算i(id)-c(class)-e(element)3個值,組成乙個3位數,數值大的勝出。也就是說,id的權重大於class大於元素。
3.層疊:
層疊就是層疊樣式表中的層疊,它是css的核心機制:
a.包含id的選擇符勝過包含類的選擇符,包含類的選擇符勝過包含標籤名的選擇符(詳見特指度的計算);
b.如果幾個不同**都為同乙個標籤同乙個屬性定義了樣式,行內樣式勝過嵌入樣式勝過鏈結樣式。在鏈結的樣式表中,具有相同特指度的樣式,後宣告的勝過先宣告的。
規則a勝過規則b。也就是說,如果選擇符的特指度更高,就算是後宣告的,也會勝出。
c.設定的樣式勝過繼承的樣式,此時不用考慮特定度。
個人對css應用機制的理解:
a.繼承得到的永遠最小,不考慮特指度;
b.後設定的大於先設定的;
c.在所有設定的css中,特指度完爆一切,優先順序最高。
CSS學習筆記2 CSS選擇器
一 css選擇器 1.什麼是css選擇器 2.css選擇器的作用 根據指定標籤,在當前頁面中,找到所有符合條件的標籤,設定樣式 3.選擇器需要的注意點 選擇器選中的是所有該型別的標籤,不是一部分,是所有。無論標籤藏得多深,選擇器都可以找到該標籤 二 常見的css選擇器 1.標籤選擇器 作用 在整個頁...
css揭秘讀書筆記
currentcolor屬性讓hr和段落相同的顏色 div hr p裡面的hr標籤不變色 background origin padding box是背景的預設原點,background position right 10px bottom 10px 可以讓偏移,如果不支援這個屬性,可以這樣back...
《CSS世界》讀書筆記
css三無準則 無寬度 充分利用流特性 無浮動 無 無寬度與寬度分離分離準則相通 瀏覽器相容 區別 ie8僅支援單冒號的偽元素 如 element before 常用清楚浮動方式 清楚浮動 clearfix.clearfix after 需求 頁面某模組的文字內容是動態的,希望文字少的時候居中顯示,...