【问题标题】:How to prevent content showing up under overlapping elements如何防止内容显示在重叠元素下
【发布时间】:2023-01-26 03:56:48
【问题描述】:

我有一个包含重叠框的主图,我正在尝试在框外添加内容。但是,当我尝试在重叠框下方添加任何内容时,内容会显示在框后面而不是下方。考虑到响应性,如何使内容显示在框下方?

.shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}


/* overlap */

.shell:before {
  content: "";
  background-image: url(https://i.ibb.co/x866XdV/test-hero.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: relative;
  height: 300px;
  width: 100%;
}

.shell-header {
  color: #FFF;
  padding: 0px 20px;
}

.shell-body {
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
  background-color: #FFF;
  max-width: 85%;
  position: absolute;
  top: 80%;
}

body {
  margin: 0;
  font-family: sans-serif;
}
  <div class="shell">
    <div class="shell-header"></div>
    <div class="shell-body">
      <h1>Title</h1>
      <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat vel ducimus illo consectetur commodi ex nulla aut amet ipsum maiores itaque, iusto quam mollitia facilis consequatur tempora neque quod eligendi?</p>
    </div>
  </div>
  <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat vel ducimus illo consectetur commodi ex nulla aut amet ipsum maiores itaque, iusto quam mollitia facilis consequatur tempora neque quod eligendi?</p>
  <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat vel ducimus illo consectetur commodi ex nulla aut amet ipsum maiores itaque, iusto quam mollitia facilis consequatur tempora neque quod eligendi?</p>
  <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat vel ducimus illo consectetur commodi ex nulla aut amet ipsum maiores itaque, iusto quam mollitia facilis consequatur tempora neque quod eligendi?</p>

【问题讨论】:

    标签: html css flexbox


    【解决方案1】:

    您可以将“shell-body”类的位置设置为“相对”而不是“绝对”,并给它一个 margin-top 以将内容推到框下方。此外,您还可以使用媒体查询根据不同的屏幕调整 margin-top 值。

    像这样:

    .shell-body {
      padding: 20px;
      border-radius: 10px;
      box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
      background-color: #FFF;
      max-width: 85%;
      position: relative;
      margin-top: 50px;
    }
    
    @media screen and (max-width: 768px) {
      .shell-body {
        margin-top: 30px;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 2012-08-27
      相关资源
      最近更新 更多