只要div不包含具有特定id的元素,如何使用CSS将样式应用于该div?
我正在编写一个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; } 这可以正常工作,但有一种特殊情况,我不希
.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。但是可以使用绝对定位设置伪元素的样式,以完全覆盖父元素。不幸的是,它也覆盖了应用它的元素——如果在它之前插入,这对我来说没有意义。嗯,我知道你在那里做了什么。不错的想法,但真的太糟糕了,它不起作用。可能是因为它是绝对定位。。?