我正在编写一个CSS样式表,将背景图像添加到由其类名标识的div中,如下所示:
.scrollingResultsContainer
{
background-image: url(https://mdl0133/widget/Images/gradient.gif);
background-repeat: repeat-x;
background-attachment: fixed;
color:#FFFFFF;
}
这种方法很好,除了我有一个特殊情况,我不希望图像出现在scrollingResultsContainer
中。除非scrollingResultsContainer
恰好包含具有特定ID的div,否则我如何指定应该应用图像?
不幸的是,我无法修改标记以防止出现这种情况。 我想知道是否可以使用CSS3选择器完成。
答案 0 :(得分:2)
你不能用CSS做到这一点。父选择器已被多次提出但总是被拒绝,因为显然它太难以编码或者其他东西: http://www.css3.info/shaun-inman-proposes-css-qualified-selectors/
你不得不使用javascript我很害怕。
答案 1 :(得分:1)
CSS4可能会在将来实现这一目标,请参阅http://davidwalsh.name/css4-preview。
答案 2 :(得分:0)
如果您事先知道ID,请在CSS中覆盖它。
.scrollingResultsContainer {
font-size: 200%;
}
#id_of_div {
font-size: normal;
}
答案 3 :(得分:0)
如果您唯一想做的就是阻止图像显示,这对CSS来说相当简单。您可以使用子::before
上的<div>
伪元素来覆盖图片,并使用z-index
来确保图层正确。
.scrollingResultsContainer {
background-image: url( 'http://placekitten.com/100' );
border: 1px solid black;
display: inline-block;
height: 100px;
position: relative;
vertical-align: top;
width: 100px;
z-index: -2;
}
.dont-show::before {
background-color: white;
content: '';
display: block;
height: 100%;
position: absolute;
width: 100%;
z-index: -1;
}
<div class="scrollingResultsContainer"></div>
<div class="scrollingResultsContainer">
<div class="dont-show">don't show</div>
</div>
<div class="scrollingResultsContainer"></div>
<div class="scrollingResultsContainer"></div>