回答
因爲:after
和:before
不會在它們附着的元素之後或之前添加psuedoelements;他們在該元素的內容之後或之前添加它們。
查看here的技術細節 - 生成的元素是匹配元素的最後一個/第一個子項。
看着the spec,你可以看到它們是相對於內容而不是元素插入的。
正如其名稱所表明的:before和:after僞元素 指定的內容位置之前和元素的文檔 樹內容後。
的:前和:後僞元素從在文檔樹中的元素 繼承任何可繼承 屬性其中它們 附着到。
例如,以下規則在每個Q元素之前在 之前插入一個開引號。引號的顏色將爲紅色,但字體 將與其餘Q元素的字體相同:
q:before {content:open-quote;顏色:紅色}
'背景'[不可繼承](http://www.w3.org/TR/CSS2/colors.html#propdef-background-color)。您應該在「同樣來自規範」之前刪除答案中的所有內容。 – thirtydot 2012-02-27 14:51:05
默認情況下,不*繼承*,直到你明確指定'background-color:inherit',但那是在點旁邊... – BoltClock 2012-02-27 15:09:15
@thirtydot完全不是我第一句話的意思。這是措辭不佳,因爲我只是指包含所有內容的div,並不是指造型。我把所有內容都放進去之後,我對規格內容加了粗體,並沒有考慮放置。 – scottheckel 2012-02-27 15:48:55
將'content'與after::before結合使用時,它會在現有內容之前或之後添加內容。所以,在div內。如果你想分析整個div的附加內容,你需要類似
<div id="w">
<div id="f">World </div>
</div>
#w:before{
background: yellowgreen;
content: "Hello ";
}
#f{
width: 200px;
height: 200px;
background: gold;
margin: 100px;
padding: 100px;
}
#w:after{
background: burlywood;
content: "StackOverflow";
}
- 1. :之後和:之前崩潰?
- 2. 之前和之後在mySql
- 3. lower_bound和upper_bound之後和之前
- 4. 鏈接與空間之前和之後不被解析正確
- 5. 多行之前和之後的Mysql
- 6. 在節點之前和之後插入
- 7. 負值之前和之後的PHP值
- 8. Junit之前/之後和設置/拆卸
- 9. 之前和之後的Git行號
- 10. 之前和之後的特殊字符
- 11. coldfusion cfinclude回調之前和之後
- 12. systemd之前和之後的定義?
- 13. Aligning ::之前和::之後僞元素
- 14. 之前和之後「導航」圖像
- 15. Windows上的Safari支持:之前和之後:僞元素之後?
- 16. 用途:之前和之後:頁腳定位選擇器之後
- 17. JUnit全球之前/之後
- 18. 實例變量在initWithNib之後和NSViewController中的IBAction之前失去了值
- 19. 使用之前是否有缺點:之前&:在CSS之後?
- 20. Flatiron Union「之後」功能在「之前」功能之前執行?
- 21. 在git diff輸出之後改變之前和之後的行數
- 22. 如何啓用-webkit-animation/transition-property用於:之前和之後:僞元素之後?
- 23. JUnit @Before和@After在每次測試之前和之後執行
- 24. GTEST:分別在SetUp和TearDown之前和之後識別
- 25. 影響之前和之後保留和複製
- 26. IE和Edge上的僞元素之前和之後
- 27. 之前和之前有什麼區別?
- 28. 有沒有辦法在包含之後和解析之前查看php代碼?
- 29. 解析數據,在某些字符之前和之後選擇數據
- 30. 之前和onActivityResult
因爲這就是規範說的。 – BoltClock 2012-02-27 14:14:01