【问题标题】:Stacking background: How to make it visible under another div堆叠背景:如何使其在另一个 div 下可见
【发布时间】:2012-11-08 16:45:56
【问题描述】:

我有两个列 div,我正在为第二个 div 应用一个大背景,并将其与 background-position 一起移动到左侧。我希望它保持整体可见,而不是隐藏在第一个 div 下,同时避免使用负边距或其他有趣的业务。现在它因为溢出而被隐藏:当然是隐藏的......有什么想法吗?

这是http://tinkerbin.com/UqYLFKZG 的示例。

代码如下:

HTML:

<div class="left">
<ul>
  <li>one item</li>
  <li>one item</li>
  <li>one item</li>
  </ul>
</div>
<div class="middle">
<ul>
  <li>one item</li>
  <li>one item</li>
  <li>one item</li>
  </ul>
</div>

CSS

.left {float:left;width:100px;}
.middle {overflow:hidden;background:url("http://farm8.staticflickr.com/7116/8163983721_1ed2414765_b.jpg") no-repeat;background-position:-400px -200px;}

编辑:对反对票有点惊讶;确实,这个问题似乎太容易回答了,因为我在删除溢出时:隐藏,因为左侧不在文档的正常流程中,中间的内容与左侧的内容重叠..因此我需要添加一些左边距或填充来解决这个问题。

【问题讨论】:

  • 完全可见是什么意思?
  • 我听不懂。如果你删除溢出:隐藏,那么你可以看到整个图像和两个 div 中的文本(即使垂直未对齐)......你到底想要实现什么?
  • 确实如此,但在我发布此内容时,我认为删除溢出:隐藏会使我的中间 div 失去它的定位(在左侧 div 的右侧)(重叠内容等),但是这可以通过向中间 div 添加一些左边距/填充来解决..

标签: css positioning background-position


【解决方案1】:

解决方案是删除 overflow:hidden 并添加 margin-left 或 padding left 等于 .left div 的大小,以便正确定位 .middle。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多