使用web standards做網(wǎng)頁,經(jīng)常需要定義某個父元素下的第一個子(child)元素或最后一個元素,以便將其與其他元素區(qū)分開來,有利于實現(xiàn)某些特殊需求。最淺顯的例子是,導航項目間的豎線,我們往往通過border或者background來實現(xiàn)。特殊需求是,第一項左邊無豎線或最后一項右邊無豎線。
那么區(qū)分第一項好呢,還是最后一項好?答案是明顯的,逼不得已,不要用區(qū)別最后一項。按照一般的編程方法,控制第一項要比控制最后一項容易得多。
區(qū)分第一項的還有一個好處是,CSS有一個:first-child的偽元素(pseudo element)可以讓我們輕而易舉的選擇第一個子元素。
遺憾的是,當前全球占有率最高的瀏覽器,IE6,并不支持這個偽元素。我們可以手工給第一個元素加上class然后再定義它。但這不是一個萬無一失的辦法,尤其對于頁面規(guī)模達到一定數(shù)量大型網(wǎng)站,很容易掛一漏萬。那么,讓JavaScript來幫我們完成這件工作如何?
查看演示
在IE中,為每個屬于first-child的li加上first-child的class,則CSS則可以這樣書寫了::first-child, .first-child { some rules here...}(有沒有發(fā)現(xiàn)這樣寫很帥,一個是冒號,兩點;一個是點號,一點 ),十分便于維護和管理。
p.s.希望哪位高手能夠寫出通用的first-child來,我這里的例子只針對li,能力有限!
出處:Realazy
責任編輯:moby
◎進入論壇網(wǎng)站綜合、網(wǎng)頁制作版塊參加討論
|