问题
I want to make a menu where each item is separated with a ·. To achieve this I use
menu li:before {
content: "· ";
}
This is swell, but it generates a dot before the first item as well. Therefore, i would like to use :first-child
pseudo-class as well. Can I do this?
回答1:
Sure you can - http://jsfiddle.net/WQBxk/
p:before {
content: "BEFORE ";
display: block;
}
p:first-child:before {
content: "1ST";
display: block
}
The bad - it won't work in IE7 and below. Not because of the multiple pseudo selectors, but because of non-supported :before
- http://kimblim.dk/css-tests/selectors/
Just tested in IE8 - works well.
回答2:
Here is the working fiddle: http://jsfiddle.net/surendraVsingh/zRrLF/
<ul>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
</ul>
CSS:
li:before{content:'. ';}
li:first-child:before{content:'@ ';}
回答3:
Of course you can use pseudo classes.They are quite well supported from IE8 and up.You can check the compatibility of any pseudoclass you are going to use here http://caniuse.com/#search=after
If you don't want a dot just use empty commas in content and then display:block and also specify height and width.
menu li:before {
content: "";
display:block;
width:50px;
height:50px;
background:red;
}
来源:https://stackoverflow.com/questions/11168629/is-it-ok-to-use-multiple-pseudo-elements-in-css