只要div不包含具有特定id的元素,如何使用CSS将样式应用于该div?

只要div不包含具有特定id的元素,如何使用CSS将样式应用于该div?,css,css-selectors,Css,Css Selectors,我正在编写一个CSS样式表,将背景图像添加到由其类名标识的div中,如下所示: .scrollingResultsContainer { background-image: url(https://mdl0133/widget/Images/gradient.gif); background-repeat: repeat-x; background-attachment: fixed; color:#FFFFFF; } 这可以正常工作,但有一种特殊情况,我不希

我正在编写一个CSS样式表,将背景图像添加到由其类名标识的div中,如下所示:

.scrollingResultsContainer
{
    background-image: url(https://mdl0133/widget/Images/gradient.gif);
    background-repeat: repeat-x; 
    background-attachment: fixed;
    color:#FFFFFF;
}
这可以正常工作,但有一种特殊情况,我不希望图像出现在
滚动入口结果容器中。如何指定应应用图像,除非
scrollingResultsContainer
恰好包含具有特定id的div

不幸的是,我无法修改标记以防止这种情况发生。
我想知道是否可以使用CSS3选择器来完成。如果您事先知道ID,请在CSS中使用它

.scrollingResultsContainer {
    font-size: 200%;
}

#id_of_div {
    font-size: normal;
}

你不能用CSS做这件事。父选择器已经被提出过很多次,但总是被拒绝,因为很明显,它太难编码或其他什么:


恐怕您必须使用javascript。

CSS4将来可能会实现这一点,请参阅。

如果您只想阻止图像显示,那么使用CSS就相当简单了。您可以使用子
上的
::before
伪元素覆盖图像,并使用
z-index
获得正确的层

演示:

输出:

CSS:
.scrollingResultsContainer{
背景图像:url('http://placekitten.com/100' );
边框:1px纯黑;
显示:内联块;
高度:100px;
位置:相对位置;
垂直对齐:顶部;
宽度:100px;
z指数:-2;
}
1.不要再露面了{
背景色:白色;
内容:'';
显示:块;
身高:100%;
位置:绝对位置;
宽度:100%;
z指数:-1;
}
HTML:

别露面

谢谢,但这不是我想要的。我需要重置整个scrollingResultsContainer,而不仅仅是其中的一个特定div。我认为我几乎可以重置它,方法是在scrollingResultsContainer上声明位置,并在选择器之前使用css,如:div#special(特定)id:before{position:absolute;left:0;right:0;top:0;bottom:0;background:#fff;content:“;”但它完全抹杀了这个地区的一切;甚至文档中后面的内容。:before在div之前添加一个伪元素,但不适用于它的parent.true。但是可以使用绝对定位设置伪元素的样式,以完全覆盖父元素。不幸的是,它也覆盖了应用它的元素——如果在它之前插入,这对我来说没有意义。嗯,我知道你在那里做了什么。不错的想法,但真的太糟糕了,它不起作用。可能是因为它是绝对定位。。?