HTML 元素重叠

问题描述 投票:0回答:2

所以我在我的网站上使用了 100 vh 高的英雄图像。现在图像是绝对定位的,因此我可以相对于图像定位图像上的其他元素,例如徽标、导航和文本。在本节之后,我想使用新图像和其他文本开始新部分,但是一旦我开始新行、列并尝试将新图像与 h1 文本一起放置,它就会隐藏在较早的图像后面。我的意思是,我想要一个包含新图像的新部分,并且

<h1>
文本出现在英雄图像下方,而不是与它重叠或隐藏在它下面,因为它现在隐藏。它没有漂浮或任何东西,我的漂浮物被清除,所以我不明白为什么会发生这种情况。

这里有一些代码笔,以便您了解正在发生的事情。

<div class="container-fluid clearfix">
    <div class="row">
      <div class="col-lg-12">
    <div class="hero_img">
      <img class="logo" src="assets/logo.png"></img>

      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".collapse">
☰
</button>
      <div class="collapse">
        <div class="col-xs-12">
      <ul class="nav">

        <li class="nav-item">
          <a class="nav-link" href="#">Lorem</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Lorem</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Lorem</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Lorem</a>
        </li>
      </ul>
    </div>
    </div>
    <div class="black_box clearfix"><h1>Kolding Bike Marathon</h1></div>
    <div class="black_box_sub clearfix"><p>Bring activity to your life again</p></div>

    <button type="button" class="btn btn-outline-secondary">Register now</button>
    <button type="button" class="btn btn-success">Learn more</button>

  </div>

</div>
</div>
</div>
</div>

      <div class="section_one">
      <h1>heyyyyy</h1>
    </div>



.hero_img {
  background-image: url("assets/hero.jpg");
  width: auto;
  height: 100vh;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  overflow: hidden;
  clear: both;
}



.hero_img {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
}

.logo {
  position: relative;
  left: 20px;
  top: 20px;
  z-index: 1002;
  width: 5%;
  min-width: 50px;
}

.nav {
  position: relative;
  top: 0;
  z-index: 1000;
  margin-top: 20px;
  /*margin-right: 15px;*/
  padding: 20px;
  /*float: right;*/
  width: auto;
  flex-direction: column;
  background: #555;
  /*width: 100%;*/
  filter: opacity(0.93);
}

a {
  text-decoration: none;
  color: white;
  display: block;
  border-bottom: 1px solid #444;
}

a:hover {
  color: #999;
}

.nav-item {
  display: block;

}

.navbar-toggler {
  /*float: right;*/
  display: flex;
  justify-content: right;
  position: relative;
  z-index: 1000;
  margin-top: 15px;
  margin-right: 15px;
  color: white;
  float: right;
}

.black_box {
  position: relative;
  width: 45%;
  min-width: 400px;
  text-align: center;
  z-index: 1000;
  background: black;
  margin-top: 10%;
  padding: 10px 30px;
  clear: both;

}

.black_box h1 {
  color: white;
  /*font-family: 'PT Sans', sans-serif;*/
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  letter-spacing: 1.5px;

}

.black_box_sub {
  position: relative;
  width: 30%;
  min-width: 310px;
  text-align: center;
  z-index: 1001;
  background: black;
  margin-top: 2%;
  clear: both;
  margin-left: 90px;
}

.black_box_sub p {
  color: white;
  padding: 5px 25px;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  padding-top: 10px;
  padding-bottom: 0px;

}

Codepen:http://codepen.io/Limpuls/pen/NpbwYp

html css twitter-bootstrap css-float css-position
2个回答
1
投票

代码中有多个项目需要清理,但为了防止图像重叠,您可以删除position:absolute;的两个条目。来自 .hero_img 类。

之后,从容器流体的所有媒体查询中删除左右填充。这可能会影响该容器中所需的其他填充,但这将是执行您所要求的操作的快速路径。


0
投票

将 z-index 属性设置为导航栏并给它一个更大的数值,重叠将被删除。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.