子div是否可以不继承父div的背景色,而是继承body标签的背景色?
例如:
<body>
<div id="main">
<div id="sub">
some content
</div>
</div>
</body>
body {
background-image: url("blah");
}
#main {
background-color: white;
}
div sub 将始终继承背景颜色为白色。但是在 CSS 中有没有一种方法(解决方法)来指定 sub 不应该继承白色?我读到 CSS 不允许这样做,但是有什么解决办法吗?
最佳答案
您要问的是主体上有一个背景图像,主体包含一个背景色为白色的 div。
然后您想要此 div 中的一个 div 可以看到背景图像吗?这是不可能的。
虽然有一种方法可以实现您想要的效果,但理论上您可以为“透视”div 提供与正文相同的背景图像,然后通过使用 jQuery 读取坐标(或者如果 div 始终位于你可以用 css 在同一个地方做)你可以定位这个背景图像,使其与 body 的图像重叠。这样看起来内部 div 就像一种窗口,实现您正在寻找的效果。
像这样:
jQuery 方法
您可以使用 position()
获取窗口 div 的坐标,然后使用这些值设置 background-position
:
$(function(){
var pos = $('#window').position();
$('#window').css('background-position','-'+pos.left+'px -'+pos.top+'px');
});
你可以在这里看到这个 Action :
关于html - 嵌套 div 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280920/