日本a在线观看_久久久三区_久久99精品久久久久久国产越南_在线观看中文字幕av_国产精品久久久久久久久久东京_a免费视频

PS設計教程網歡迎你!

CSS教程:征服高級CSS選擇器(4)

文章來源于 前端觀察,感謝作者 神采飛揚 給我們帶來經精彩的文章!
設計教程/前端設計/前端設計2009-08-29
:nth-last-child :nth-last-child偽類基本上和:nth-child偽類的作用相同,但是它從最后一個元素開始算。 使用上面的一個例子來看看: ul li:nth-child(-n+4) {color: green;} 不是匹配最前面的四個li元素,該選擇器

:nth-last-child

:nth-last-child偽類基本上和:nth-child偽類的作用相同,但是它從最后一個元素開始算。

使用上面的一個例子來看看:

ul li:nth-child(-n+4) {
	color: green;
	}

不是匹配最前面的四個li元素,該選擇器匹配最后面的四個元素。

你同樣可以使用“even” 或“odd”只,同樣與nth-child不同的是,這是從最后面的元素開始算的:

ul li:nth-last-child(odd) {
	color: grey;
	}

:nth-of-type

:nth-of-type偽類和:nth-child也很像,不同的是它只計算選擇器中指定的那個元素。

這對定位元素中包含大量不同的元素的情況會很有用。比如,我們想控制一個文本塊中的每隔一個段落,但是我們又想要無視其它元素比如圖片和引用塊:

p:nth-of-type(even) {
	color: blue;
	}

你也可以使用一些值,就像在:nth-child中使用的一樣。

:nth-last-of-type

你能猜到它吧?!:nth-last-of-type 偽類可以像前面提到的:nth-last-child一樣使用,但是這次,它將之匹配你在選擇器中指定的元素類型:

ul li:nth-last-of-type(-n+4) {
	color: green;
	}

我們可以更加的聰明一些,在一個大的塊級選擇器中結合多種這樣的偽類。比如我們想讓文章中的所有的圖片左浮動,除了第一個和最后一個(我們可以假設他們是滿寬的,無須浮動):

.post img:nth-of-type(n+2):nth-last-of-type(n+2) {
	float: left;
	}

所以在這個選擇器的第一部分,我們從第二個圖片開始定位每一個圖片。在第二部分中,我們定位所有的圖片,除了最后一個。因為這兩個選擇器并非互斥的,我們可以同時使用它們,這樣就可以一下子排除第一個和最后一個元素!

:last-child

:last-child偽類的作用類似于:first-child 偽類,但是會定位父級元素的最后一個子元素。

讓我們假設你不想讓你的日志的div的最后一個段落也有一個底部邊距:

.post > p:last-child {
	margin-bottom: 0;
	}

該選擇器將定位class為”post”的元素的最后一個直接子級段落。

:first-of-type 和:last-of-type

:first-of-type 偽類用于定位一個父級元素下的第一個同類子元素。

比如,你可以定位某個特定的div的第一個子級段落(p),并讓其第一行字母大寫:

.post > p:first-of-type:first-line {
	font-variant: small-caps;
	}

在這個選擇器中,你可以確定你是在只定位class為”post”的元素的直接子級p元素,而且還是匹配第一個子級p元素。

:last-of-type偽類與此類似,只是匹配最后一個子元素。

CSS教程:征服高級CSS選擇器 nly-child

CSS教程:征服高級CSS選擇器 nly-child偽類表示一個元素是它的父級元素的唯一一個子元素。

比如說,你有一些盒子(“news”),里面有一些文字段落,當你有多于一個段落的時候,你想讓文字比只有一個段落的時候小一些:

div.news > p {
	font-size: 1.2em;
	}
 
div.news > p:only-child {
	font-size: 1.5em;
	}

第一個選擇器中,我們定義”news”div的所有子級p元素的字體大小。在第二個中,我們覆蓋之前的字體大小,如果該p元素是“news” div的唯一子元素的時候,它的字體大小會比較大一些。

CSS教程:征服高級CSS選擇器 nly-of-type

CSS教程:征服高級CSS選擇器 nly-of-type偽類表示一個元素是它的父級元素的唯一一個相同類型的子元素。

這有用什么用?假設你有一些日志,每一篇都有個class為”post”的div,他們中的一些有多于一張圖片,但是有些可能就只有一張圖片。你想讓后者中的圖片水平居中,而在其它的有多于一張圖片的日志中,就將它左浮動。這個需求用這個選擇器就很容易實現:

.post > img {
	float: left;
	}
 
.post > img:only-of-type {
	float: none;
	margin: auto;
	}

:empty

:empty偽類表示一個元素里面沒有任何內容。

這個選擇器可以用很多種用途。比如,你在你的“sidebar”中有若干個盒子,但是不想讓空盒子顯示出來:

#sidebar .box:empty {
	display: none;
	}

注意,就算”box”div里面只有一個空格,它也不會被css當作空標簽的,這樣就不能匹配該選擇器了。

瀏覽器支持

Internet Explorer (直到8.0版本)都不支持結構偽類。Firefox、Safari 和Opera 在其最新版本的瀏覽器中指出這些選擇器。這意味著,使用這些選擇器對網站的可用性和可訪問性是很有用的,或者如果網站的用戶中的大部分是使用IE而且你不想在某些細節上無視他們,最好還是保持使用通用的class和簡單的選擇器來迎合這些選擇器。否則你會被搞瘋的!

版權所有PS設計教程網公安備案:蘇公網安備 32058302001023號工信部備案:滬ICP備09005587號
aaa
主站蜘蛛池模板: 亚洲午夜一区二区三区 | 免费a级网站 | 成人免费毛片在线观看 | 羞羞视频免费网站男男 | 国产资源在线免费观看 | 一区播放| av在线观 | 日日草夜夜 | av色在线观看 | 一本色道精品久久一区二区三区 | 曰韩一级片| 亚洲午夜天堂吃瓜在线 | 九九热九九热 | 欧美a∨一区二区三区久久黄 | 色屁屁xxxxⅹ在线视频 | 欧美一级淫片免费视频1 | 亚洲视频综合网 | 欧美乱码精品一区 | 韩国精品一区二区三区四区五区 | 亚洲天堂ww | 久久欧美亚洲另类专区91大神 | 成人av一二三区 | 亚洲精品久久久久www | 成人爱爱电影 | 久久久久久久久浪潮精品 | 成人免费看视频 | 黄色免费av网站 | 国产乱淫a∨片免费观看 | 成人免费久久网 | 亚洲天堂字幕 | 精品国产欧美一区二区 | 特一级黄色毛片 | 高清在线国产 | 3xxx| 99亚洲视频 | 免费1级做55爰片l在线观看 | 激情久久精品 | 成人免费网站在线观看 | 91av大片| 日韩精品免费一区二区三区 | 亚洲视频在线网 |