,我想我的页面上分离出一些CSS, 我有一个div
<div class="separate">
<a href="#">a link</a>
</div>
,这样,当我说
个div{
background:red;
}
除了.separate所有div变红 我需要一种方法来做到这一点不使用iFrame
,我想我的页面上分离出一些CSS, 我有一个div
<div class="separate">
<a href="#">a link</a>
</div>
,这样,当我说
个div{
background:red;
}
除了.separate所有div变红 我需要一种方法来做到这一点不使用iFrame
这可以通过使用CSS3的not
选择完成,并会在所有浏览器工作除了的Internet Explorer(惊喜惊喜) :
div:not(#seperate){
background:red;
}
如下所述:http://kilianvalkhof.com/2008/css-xhtml/the-css3-not-selector/
至于IE浏览器,我不认为这是可以做到的(除非你g ^每隔一个div(除了独立)另一个这样做的类。
例如
<div class="origClass notSeperate"></div>
<div class="seperate></div>
<div class="origClass2 notSeperate"></div>
但是,这是愚蠢的:)
只需添加你要分开任何风格,但做到这一点后
div{
background:red;
}
例如:
.separate{
background:blue;
}
你可以做这个由:
div.separate
的div(这样,它不会被覆盖) - see proof in jsfiddle。div:not(.separate)
选择器,但仅支持CSS3(see more) - see proof in jsfiddle的浏览器支持。但我建议解决方案没有。 1,因为它是跨浏览器并且不需要JavaScript。
来源:
$j('.not(.separate)>div').css({background:'red'});
OR
你可以做这样的事情:
Negative CSS selectors您可以用JavaScript的帮助下(例如使用jQuery)做
div { background: red; }
.separate { background: white; }
OR
您可以添加一个适当的风格类到你想成为红色的div。
您可以为所有div的背景,然后用无背景的特定类中重写它:
div { background-color: red; }
div.separate { background-color: transparent; }
其实好主意,但错误的选择:)你应该写'.seperate',不'# seperate'。 – Tadeck