2014-11-06 181 views
1

這將創建兩個僞元素:如何在僞元素上使用僞元素?

.myElement {} 
.myElement::before, 
.myElement::after { 
    content: ''; 
} 

如何增加更多的僞元素的元素?有沒有辦法將僞元素添加到另一個僞元素?

+0

我很驚訝之前沒有人問過這個問題。我可能會使用錯誤的關鍵字來查找現有的問題。 – Gajus 2014-11-06 16:37:09

+0

[相似的問題。](http://stackoverflow.com/questions/9007546/adding-pseudo-elements-after-pseudo-elements) – lonesomeday 2014-11-06 16:39:10

+0

沒有。只有':: before'和':: after'。此外,你沒有很難搜索http://stackoverflow.com/questions/10855890/two-after-pseudo-elements和這裏http://stackoverflow.com/questions/9007546/adding-pseudo-elements-after-僞元素 – Turnip 2014-11-06 16:40:21

回答

0

這是不可能的,你可能需要將你的元素包裝在另一個元素中。

2

有一個CSS僞元素「::之前(2)」,但遺憾的是,沒有任何瀏覽器還支持此:

div { content: 'A' } 
div::before { content: 'B'; } 
div::before(2) { content: 'C'; } 

...會導致以下渲染對象:

,-----------------------. 
| ,---. ,---.   | 
| | C | | B | A   | 
| `---' `---'   | 
`-----------------------' 

來源:http://www.w3.org/TR/css3-content/#inserting0

瀏覽器支持:http://realworldvalidator.com/css/pseudoelements/::before%282%29

+0

@Moobs看一看:http://jsfiddle.net/ghorg12110/29zxmfbv/ – 2014-11-06 16:50:08

+0

它不會做你認爲它的事情。這裏有一個簡單的例子,http://jsfiddle.net/29zxmfbv/1/。 – Gajus 2014-11-06 16:52:11

+0

@GajusKuizinas好的,我不想看到你需要2個'content'屬性。更新了我的答案,但暫時無法幫助你。 – 2014-11-06 17:00:52

3

不,你不能。

僞元素被定義爲(由W3 docs

12.1:前和:後僞元素
正如其名稱所表明的:前和:後僞元素指定的位置元素的文檔樹內容之前和之後的內容。

由於文檔樹是元素的定義的源代碼,僞元件不能包含另一個僞元件,因爲它沒有樹。