html - 嵌套 div 的背景颜色

标签 html css

子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 就像一种窗口,实现您正在寻找的效果。

像这样:

http://jsfiddle.net/aFpAX/

jQuery 方法

您可以使用 position() 获取窗口 div 的坐标,然后使用这些值设置 background-position:

$(function(){

    var pos = $('#window').position();
    $('#window').css('background-position','-'+pos.left+'px -'+pos.top+'px');

});

你可以在这里看到这个 Action :

http://jsfiddle.net/aFpAX/2/

关于html - 嵌套 div 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280920/

相关文章:

html - 增加链接的命中区域也会增加文本下划线

javascript - jQuery 将 html 添加到结果中

css - 浏览器 IE9 中表格的悬停问题

css - 位置相对重叠 float :left -

javascript - Gridster 的替代品

javascript - 脚本加载问题?

javascript - 为什么我的 contenteditable div 的内容消失了?

javascript - Onclick 在 <a> 标记中不起作用

php - CSS-检查并在 li 有 ul 的地方添加右箭头

html - 内联 block 元素换行时的CSS,父包装器不适合新宽度