摘要:選擇器是的核心,從最初的元素選擇器,演進(jìn)到偽元素偽類,以及中提供的更豐富的選擇器,定位頁(yè)面上的任意元素開(kāi)始變得愈發(fā)的簡(jiǎn)單。
選擇器是CSS的核心,從最初的元素、class/id選擇器,演進(jìn)到偽元素、偽類,以及CSS3中提供的更豐富的選擇器,定位頁(yè)面上的任意元素開(kāi)始變得愈發(fā)的簡(jiǎn)單。
1、元素選擇器這是最基本的CSS選擇器,HTML文檔中的元素本身就是一個(gè)選擇器:
p {line-height:1.5em; margin-bottom:1em;}
2、關(guān)系選擇器E F:后代選擇器,該選擇器定位元素E的后代中所有元素F:
ul li {margin-bottom:0.5em;}
E > F:子選擇器,該選擇器定位元素E的直接子元素中的所有元素F,它將忽略任何進(jìn)一步的嵌套:
ul > li {list-style:none;} //僅限ul的直接子元素li,如果li里面還嵌套著另一個(gè) ul 結(jié)構(gòu)時(shí),最里面的 li 將被忽略
E + F:相鄰兄弟選擇器,該選擇器定位與元素E具有相同父元素且在標(biāo)記中緊鄰E的元素F:
li + li {border-top:1px solid #ffffd;} //定位具有相同父元素ul里除第一個(gè)li之外的所有l(wèi)i
E ~ F:一般兄弟選擇器,該選擇器定位與元素E具有相同父元素且在標(biāo)記中位于E之后的所有元素F:
h1 ~ p {color:#f00;} //定位具有相同父元素的,h1標(biāo)簽之后的所有p標(biāo)簽
3、屬性選擇器E[attr]:該選擇器定位具有屬性attr的任何元素E:
input[required] {border:1px solid #f00;} //定位頁(yè)面里所有具有必填屬性"required"的input
E[attr=val]:該選擇器定位具有屬性attr且屬性值為val的任何元素E:
input[type=password] {border:1px solid #aaa;} //定位頁(yè)面里的密碼輸入框
E[attr|=avl]:該選擇器定位具有屬性attr且屬性值為val或以val-開(kāi)始的任何元素E:
p[class|=a] {color:#333;} //定位頁(yè)面里所有的P段落里具有class屬性且屬性值為a或是a-開(kāi)始的,比如class="a"以及class="a-b"
E[attr~=val]:該選擇器定位具有屬性attr且屬性值為完整單詞 val 的任何元素E:
div[title~=english] {color:#f88;} //定位頁(yè)面里所有具有屬性title且屬性值里擁有完整單詞english的div容器,比如title="english"以及title="a english"
E[attr^=val]:該選擇器定位具有屬性attr且屬性值以val開(kāi)頭的任何元素E:
div[class^=a] {color:#666;} //定位頁(yè)面里具有屬性class且屬性值以a開(kāi)頭的div容器,比如class="a"以及class="ab"
E[attr$=val]:該選擇器與E[attr^=val]正好相反,定位具有屬性attr且屬性值以val結(jié)尾的任何元素E:
div[class$=a] {color:#f00;} //定位頁(yè)面里具有屬性class且屬性值以a結(jié)尾的div窗口,比如class="nba"以及class="cba"
E[attr*=val]:該選擇器與E[attr~=val]相似,但更進(jìn)一步,定位具有屬性attr且屬性值任意位置包含val的元素E,val可以是一個(gè)完整的單詞,也可以是一個(gè)單詞中的一部分:
a[title*=link] {text-decoration:underline;} //定位所有title里具有l(wèi)ink字符串的a鏈接
4、偽類:link:未訪問(wèn)的鏈接;
:visited:已訪問(wèn)的鏈接,不建議使用;
:hover:鼠標(biāo)移動(dòng)到容器,不僅限于鏈接,可用于頁(yè)面中的任何元素;
:active:被激活時(shí)的狀態(tài),不僅限于鏈接,可用于任何具有tabindex屬性的元素;
:focus:獲得焦點(diǎn)時(shí)狀態(tài),不僅限于鏈接,可用于任何具有tabindex屬性的無(wú)線:
input:focus {border:1px solid #333;} //輸入框獲得焦點(diǎn)時(shí)的樣式
:enabled:已啟用的界面元素:
input:enabled {border:1px solid #899;}
:disabled:已禁用的界面元素:
input:disabled {background:#eee;}
:target:該選擇器定位當(dāng)前活動(dòng)頁(yè)面內(nèi)定位點(diǎn)的目標(biāo)元素:
"#info:target {font-size:12px;}" //當(dāng)訪問(wèn)的URL網(wǎng)址為 123.html#info 時(shí),id="info"將加載這個(gè)字體樣式
:default:應(yīng)用于一個(gè)或多個(gè)作為一組類似元素中的默認(rèn)元素的UI元素;
:valid:應(yīng)用于有效元素:
input:valid {border:1px solid #6a6;} //當(dāng)輸入框驗(yàn)證為有效時(shí)加載這個(gè)邊框樣式,基于type或pattern屬性
:invalid:應(yīng)用于空的必填元素,以及未能與type或pattern屬性所定義的需求相匹配的元素:
input:invalid {border:1px solid #f00;} //當(dāng)輸入框?yàn)榭涨冶靥顣r(shí),或已填寫但驗(yàn)證無(wú)效時(shí),加載此邊框樣式
:in-range:應(yīng)用于具有范圍限制的元素,其中該值位于限制內(nèi);比如具有min和max屬性的number和range輸入框;
:o ut-of-range:與:in-range選擇相反,其中該值在限制范圍外;
:required:應(yīng)用于具有必填屬性required的表單控件;
:o ptional:應(yīng)用于沒(méi)有必填屬性required的所有表單控件
:read-only:應(yīng)用于其內(nèi)容無(wú)法供用戶修改的元素;
:read-write:應(yīng)用于其內(nèi)容可供用戶修改的元素,比如輸入框;
:root:根元素,始終指html元素;
E F:nth-child(n):該選擇器定位元素E的第n個(gè)子元素的元素F:
div.class p:nth-child(3) {color:#f00;} //class="class"的div容器里的第3個(gè)元素p,如果第3個(gè)子元素不是p,此樣式將失效
E F:nth-last-child(n):該選擇器定位元素E的倒數(shù)第n個(gè)子元素的元素F;
E:nth-of-type(n):該選擇器定位元素E的第n個(gè)指定類型子元素;
E:nth-lash-of-type(n):該選擇器定位元素E的導(dǎo)數(shù)第n個(gè)指定類型子元素:
.class p:nth-child(2) 與 .class p:nth-of-type(2) 的區(qū)別在于,如果.class里的第2個(gè)子元素不是P元素時(shí),.class p:nth-child(2) 的樣式將無(wú)效,而.class p:nth-of-type(2) 將定位在 .class 里的第2個(gè)p元素
nth-child(n)、nth-last-child(n)、nth-of-type(n)、nth-last-of-type(n),這其中的 n 可以使用數(shù)字靜態(tài)式,比如 .nth-child(2n+1) 將匹配第1、3、5...個(gè)元素
E:first-child:父元素的第一個(gè)子元素E,與:nth-child(1)相同;
E:last-child:父元素的倒數(shù)第一個(gè)子元素E;
E:first-of-type:與:nth-of-type(1)相同;
E:last-of-type:與:nth-last-of-type(1)相同;
E:only-child:父元素中唯一的子元素E;
E:only-of-type:父元素中唯一具有該類型的元素E;
E:empty:沒(méi)有子元素的元素,沒(méi)有子元素包括文本節(jié)點(diǎn);
E:lang(en):具有使用雙字母縮寫(en)表示的語(yǔ)言的元素;
E:not(exception):該選擇器將選擇與括號(hào)內(nèi)的選擇器不匹配的元素:
p:not(.info) {font-size:12px;} //匹配所有class值不為info的p元素
5、偽元素偽元素可用于定位文檔中包含的文本,為與偽類進(jìn)行區(qū)分,偽元素使用雙冒號(hào) :: 定義,但單冒號(hào) : 也能被識(shí)別。
::first-line:匹配文本首行;
::first-letter:匹配文本首字母;
::before 與 ::after :使用 contnet 屬性生成額外的內(nèi)容并插入在標(biāo)記中:
a[href^=http]::after {content:"link"} //在頁(yè)面的a鏈接的后面插入文字link
::selection:匹配突出顯示的文本:
::selection {background:#444; color:#fff;} //定義選中的文本顏色與背景色
當(dāng)然,如果要方便的使用這些強(qiáng)大的CSS選擇器的話,使用Chrome、Firefox之類的瀏覽器吧,最起碼得拋棄IE9以下的IE版本瀏覽器吧。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/112055.html
摘要:網(wǎng)頁(yè)制作中規(guī)范使用命名規(guī)則,可以改善優(yōu)化功效特別是團(tuán)隊(duì)合作時(shí)候可以提供合作制作效率,具體命名規(guī)則命名大全內(nèi)容篇。 網(wǎng)頁(yè)制作中規(guī)范使用DIV+CSS命名規(guī)則,可以改善優(yōu)化功效特別是團(tuán)隊(duì)合作時(shí)候可以提供合作制作效率,具體DIV CSS命名規(guī)則CSS命名大全內(nèi)容篇。 常用DIV+CSS命名大全集合,即CSS命名規(guī)則 DIV CSS命名目錄我們開(kāi)發(fā)CSS+DIV網(wǎng)頁(yè)(Xhtml)時(shí)候,比較困惑...
摘要:為所有的請(qǐng)求進(jìn)行全局設(shè)置。從中取得一組值,顯示出來(lái)方法說(shuō)明顯示隱藏的匹配元素。通過(guò)高度變化向下增大來(lái)動(dòng)態(tài)地顯示所有匹配的元素,在顯示完成后可選地觸發(fā)一個(gè)回調(diào)函數(shù)。 Attribute: $(p).addClass(css中定義的樣式類型); 給某個(gè)元素添加樣式 $(img).attr({src:test.jpg,alt:test Image}); 給某個(gè)元素添加屬性/值,參數(shù)是map ...
摘要:一般情況下是全局對(duì)象。避免在頁(yè)面的主體布局中使用,要等其中的內(nèi)容完全下載之后才會(huì)顯示出來(lái),顯示布局慢。對(duì)普通的網(wǎng)站有一個(gè)統(tǒng)一的思路,就是盡量向前端優(yōu)化減少數(shù)據(jù)庫(kù)操作減少磁盤。 HTML面試題 1.XHTML和HTML有什么區(qū)別 HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同: XHTML 元素必須被正確地嵌套。 XHTML 元素必須被關(guān)閉。...
摘要:一般情況下是全局對(duì)象。避免在頁(yè)面的主體布局中使用,要等其中的內(nèi)容完全下載之后才會(huì)顯示出來(lái),顯示布局慢。對(duì)普通的網(wǎng)站有一個(gè)統(tǒng)一的思路,就是盡量向前端優(yōu)化減少數(shù)據(jù)庫(kù)操作減少磁盤。 HTML面試題 1.XHTML和HTML有什么區(qū)別 HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同: XHTML 元素必須被正確地嵌套。 XHTML 元素必須被關(guān)閉。...
閱讀 1129·2021-10-27 14:13
閱讀 2636·2021-10-09 09:54
閱讀 897·2021-09-30 09:46
閱讀 2424·2021-07-30 15:30
閱讀 2166·2019-08-30 15:55
閱讀 3409·2019-08-30 15:54
閱讀 2847·2019-08-29 14:14
閱讀 2771·2019-08-29 13:12