html - 使用 CSS 将图像放在 div 后面

标签 html css

我有以下标记(此处为 Fiddle 示例:http://jsfiddle.net/9gvj11o5/8/)

<div class="header">           
  <div class="image">
    <img src="http://placehold.it/2200x800" alt=""/>
  </div>    
  <div class="menu">This is the menu</div>    
  <div class="tools">These are the tools</div>        
</div>    
<div class="content">content</div>    

以及以下 CSS:

.header {
  position: relative;
}

.image {
  position: absolute;
}

img {
  width: 100%;
  height: auto;
  outline: 0;
}

我需要图像具有响应性并且 100% 宽度与顶部对齐。

但我还需要菜单和工具在图像上并保持正常流动。

内容应该在图片之后,所以在标题之后。

图像将是页眉 div 的“背景”。 (我不能使用背景图片)

我正在使用位置,但菜单和工具在我使用它的那一刻就消失了。

我错过了什么?我在某处需要另一个包装 div 吗?

最佳答案

我会包装 2 个 div .menu & .tools 所以你只需要将 z-index 应用到包装器 div 而不是每个 child 。这使得 .menu.tools(包装)在 .image 的前面。

然后将 position:absolute 更改为 position:relative.image 以便下面有 .content header

下面你可以看到代码片段,非常轻量级。

.header {
    position: relative;
}
.image {
    position: relative;
    z-index:1
}
#menu-all {
    position:absolute;
    top:0;
    z-index:2
}
img {
    width: 100%;
    height: auto;
    outline: 0;
}
<div class="header">
    <div class="image">
        <img src="http://placehold.it/2200x800" alt="" />
    </div>
    <div id="menu-all">
        <div class="menu">This is the menu</div>
        <div class="tools">These are the tools</div>
    </div>
</div>
<div class="content">content</div>

关于html - 使用 CSS 将图像放在 div 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26511315/

相关文章:

Javascript 空输入错误

javascript - 如何使用 jQuery 在隐藏字段中显示消息?

javascript - 尝试验证我的单选按钮,但它不起作用

没有 jQuery 的 CSS 过渡

css - 当 html 和 body height 设置为 100% 时背景被切断

javascript - jquery 自动提交自身

html - 使用 CSS 创建对话泡泡

javascript - 如何设置文档的高度

jquery - 整页背景图像尺寸建议

javascript - 如何在浏览网站页面时不间断地播放音频