ale*_*lex 79 css css-selectors
您可能已经知道,在空格分隔的元素上可能有多个类.
<div class="content main"></div>
Run Code Online (Sandbox Code Playgroud)
并与CSS,你可以定位div有两种.content或.main.当且仅当两个类都存在时,有没有办法定位它?
<div class="content main">I want this div</div>
<div class="content">I don't care about this one</div>
<div class="main">I don't want this</div>
Run Code Online (Sandbox Code Playgroud)
我将使用哪个CSS选择器来获得第一个div(假设我不能使用.content:first-child或类似)?
Wes*_*rch 11
只是为了它的缘故(我真的不建议你这样做),有是另一种方式来做到这一点:
.content[class~="main"] {}
Run Code Online (Sandbox Code Playgroud)
要么:
.main[class~="content"] {}
Run Code Online (Sandbox Code Playgroud)
参考:http://www.w3.org/TR/CSS2/selector.html
E [foo~ ="warning"]匹配任何E元素,其"foo"属性值是空格分隔值列表,其中一个完全等于"warning"
由于IE6不支持多个类,我们不能使用.content.main,但有一些javascript库如IE-7.js启用了属性选择器,但在涉及多个类时似乎仍然失败.我已经在IE6中使用javascript启用了属性选择器测试了这个变通方法,它很难看,但它确实有效.
我还没有找到一个脚本,使IE6支持多个类选择器,但发现许多启用属性选择器.如果有人知道一个有效的,请在评论中给我一个喊叫,这样我就可以摆脱这种解决方法.