html - 定位元素问题

标签 html css

我正在尝试制作一个布局,其中 #txt-bar#main-content-area 将重叠在 #image 上。 ( #txt-bar#image 上与以下 CSS 重叠)但要实现 #main-content-area 上的重叠#image 如果我在 #main-content-area 处使用 top:-60px 那么它会在 #main-content-area 之间留下一个空隙#footer。我不知道如何解决这个问题。请帮助我。

/* CSS */

body {
  position: absolute;
}
#top-bar {
  background-color: black;
  color: white;
}
#txt-bar {
  height: 40px;
  background-color: pink;
  position: relative;
  z-index: 4;
}
#link-bar {
  background-color: red;
  height: 40px;
  z-index: 4;
}
#image {
  position: relative;
  z-index: 3;
}
.line {
  width: 100%;
  position: relative;
  border-bottom: 4px solid black;
}
#main-content-area {
  position: relative;
  background-color: red;
  top: -60px;
  z-index: 4;
}
#footer {
  background-color: green;
  position: relative;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
  <div class="row">
    <div class="col-sm-6" id="txt-bar">
      <h1>Greetings</h1>
    </div>
    <div class="col-sm-6" id="link-bar">
      <h1>Link bar </h1>
    </div>
  </div>
  <div class="row">
    <div class="col-sm-12" id="image">
      <img src="https://placeholdit.imgix.net/~text?txtsize=28&txt=300%C3%97300&w=300&h=300" class="img-responsive" />
    </div>
  </div>
  <div class="line"></div>
  <div class="row">
    <div class="col-sm-2">
    </div>
    <div class="col-sm-8" id="main-content-area">
      <h1>Main content area </h1>
    </div>
    <div class="col-sm-2">
    </div>
  </div>
  <div class="row" id="footer">
    <div class="col-sm-12">
      <h1>Footer Element </h1>
    </div>
  </div>
</div>

最佳答案

将所有 div(#txt-bar #main-content-area#image)包裹在父 div 中position:relative 然后对#main-content-area#txt-bar 使用position:absolute,这将解决你的问题问题。

.wrap{position:relative;max-width:300px;}
#txt-bar {
  height: 40px;
  background-color: pink;
  position: absolute;
  top:10px;
  width:100%;
}
#main-content-area {
  position: absolute;
  bottom:10px;
  width:100%;
  background-color: red;
}
<div class=wrap>
  <div id=txt-bar>txt-bar</div>
  <div id=image><img src=https://placeholdit.imgix.net/~text?txtsize=28&txt=300%C3%97300&w=300&h=300></div>
  <div id=main-content-area>main-content-area</div>
</div>

More Info

关于html - 定位元素问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360147/

相关文章:

css - float div 水平堆叠以填充父 div 并响应调整大小

css - webView,视口(viewport),如何隐藏滚动时显示的滚动条?

javascript - div背景不是全尺寸,只有文本大小

html - 无法使页脚符合我想要的规范

javascript - 实际时间网页已与jquery一起使用

html - Twitter Bootstrap : active tabs are still underlined

asp.net - 当页面上有多个按钮时,按钮样式在页面加载时有粗边框

html - nexus 7 上更大的字体大小(如果我在桌面上缩小/放大效果相同)

html - 粘性页脚和内容滚动 WP

css - 在移动设备上显示不正确/不同(响应)