css - 如何給html節(jié)點(diǎn)內(nèi)的第一個(gè)子節(jié)點(diǎn)定義樣式
問(wèn)題描述
文檔結(jié)構(gòu)如下
- <article> |- <h1> or <h2> or <p> or ... # 第一個(gè)子節(jié)點(diǎn),出現(xiàn)內(nèi)容不確定 |- <h1> or <h2> or <p> or ... # 第二個(gè)子節(jié)點(diǎn),不受第一個(gè)影響 |- <h1> or <h2> or <p> or ... # 同上
如上面的代碼所示,由于 h1, h2, p 這些具有不同的 margin-top,我想將緊跟著的這些元素的 margin-top 都重置為 0,但同時(shí)不影響后面出現(xiàn)的這些 tag,應(yīng)該用什么方法?
更新:附上使用 first-child 后的效果:http://jsfiddle.net/Ygdfc/1/
問(wèn)題解答
回答1:如果使用 css3 的話,可以用:
/* 選擇第一個(gè)子元素 */article h1:first-child{ margin-top:0;}
鑒于某知名瀏覽器(我也不知道哪個(gè)瀏覽器,呵呵)對(duì) CSS3 不夠支持,可以使用大名鼎鼎的 jquery 來(lái)解決。
$('article h1:first-child').css('margin-top',0);回答2:
CSS2 也支持第一個(gè)子節(jié)點(diǎn)的選擇符:
article > h1, article > h2, article p { /* CSS here */}
參考:
http://www.w3.org/TR/CSS2/selector.html#child-selectors
相關(guān)文章:
1. objective-c - ios百度地圖定位問(wèn)題2. html5 - 如何解決bootstrap打開(kāi)模態(tài)modal窗口引起頁(yè)面抖動(dòng)?3. javascript - 求助關(guān)于js正則問(wèn)題4. javascript - node.js服務(wù)端渲染解疑5. javascript - 求助這種功能有什么好點(diǎn)的插件?6. html5 - rudy編譯sass的時(shí)候有中文報(bào)錯(cuò)7. html - css 如何添加這種邊框?8. 為何 localStorage、sessionStorage 屬于html5的范疇,但是為何 IE8卻支持?9. 微信開(kāi)放平臺(tái) - Android調(diào)用微信分享不顯示10. javascript - 關(guān)于定時(shí)器 與 防止連續(xù)點(diǎn)擊 問(wèn)題
