如何在div下隐藏具有绝对位置的div

时间:2019-04-09 16:37:23

标签: html css

我有两个div,以“ flexbox”为中心显示“今日特别”菜。我想在第二个特色菜下再添加一张图片。我认为应该将其放置在绝对位置,因为我可以从本节的顶部将其推出。我也尝试过使用z-index,我想将占位符放置在第二个位置吗?我会用sass来改变它。

代码如下:

.specials {
  background-image: url(../images/special-section-background.png);
  min-height: 440px;
  position: relative;
}

.specials .wrapper {
  position: absolute;
  text-align: center;
  width: 100%;
  height: 890px;
  padding-top: 30px;
}

.specials .wrapper .heading {
  font-family: "Playfair Display";
  color: #fff;
  font-size: 35px;
  font-weight: 700;
}

.specials .wrapper .images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.specials .wrapper .images h2 {
  font-family: "Playfair Display";
  font-weight: 700;
  font-size: 26px;
}

.specials .wrapper .images p {
  font-family: "Sintony";
  font-size: 14px;
}

.specials .wrapper .images .contact {
  padding: 20px 0;
}

.specials .wrapper .images .contact h3,
.specials .wrapper .images .contact h4 {
  display: inline;
  padding: 0 20px;
}

.specials .wrapper .images .contact span {
  font-family: "Sintony";
  font-weight: 700;
  font-size: 13px;
  display: inline-block;
  text-align: start;
}

.specials .wrapper .images .contact span:after {
  content: '';
  height: 100%;
  width: 1px;
  border-right: 1px solid #e1e1e1;
  padding-right: 10px;
  padding-top: 10px;
}

.specials .wrapper .images .contact span a {
  color: #fe7cab;
}

.specials .wrapper .images .contact h3 {
  font-family: "Playfair Display";
  font-weight: 700;
  font-size: 26px;
}

.specials .wrapper .images .contact h4 {
  font-family: "Playfair Display";
  font-weight: 700;
  font-size: 30px;
  color: #fea100;
}

.specials .wrapper .images .first-dish {
  -ms-grid-column-align: end;
      justify-self: end;
  margin-right: 10px;
  max-width: 570px;
  -webkit-box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48);
          box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48);
}

.specials .wrapper .images .first-dish .description {
  max-width: 430px;
  margin: 0 auto;
  padding-bottom: 30px;
  border-bottom: 1px solid #e1e1e1;
}

.specials .wrapper .images .second-dish {
  max-width: 570px;
  -webkit-box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48);
          box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48);
  z-index: 1;
}

.specials .wrapper .images .second-dish .description {
  max-width: 430px;
  margin: 0 auto;
  padding-bottom: 30px;
  border-bottom: 1px solid #e1e1e1;
  z-index: 1;
}

.specials .last-offert {
  position: absolute;
  z-index: -1;
  top: 78%;
  right: 13%;
}
<div class="specials">
        <div class="wrapper">
            <div class="heading">
                <h2 class="">Today Special</h2>
            </div>
            <div class="images">
                <div class="first-dish">
                    <img src="images/today-special-img.png" alt="">
                    <div class="description">
                        <h2>Food Name One</h2>
                        <p>printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.</p>
                    </div>
                    <div class="contact">
                        <span>Home <br><a>Delivery</a></span>
                        <h3>1-088 005 006</h3>
                        <h4>89.00$</h4>
                    </div>
                </div>
                <div class="second-dish">
                    <img src="images/today-special-img.png" alt="">
                    <div class="description">
                        <h2>Food Name One</h2>
                        <p>printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.</p>
                    </div>
                    <div class="contact">
                        <span>Home <br><a>Delivery</a></span>
                        <h3>1-088 005 006</h3>
                        <h4>99.00$</h4>
                    </div>
                </div>
                <div class="last-offert">
                    <img src="https://via.placeholder.com/150

C/O https://placeholder.com/" alt="">
                </div>
            </div>
        </div>
    </div>

1 个答案:

答案 0 :(得分:1)

我做了两个更改:

  • .images中添加了.last-offert,为background:white提供了位置上下文
  • .second-dish添加到了.specials { background-image: url(../images/special-section-background.png); min-height: 440px; position: relative; } .specials .wrapper { position: absolute; text-align: center; width: 100%; height: 890px; padding-top: 30px; } .specials .wrapper .heading { font-family: "Playfair Display"; color: #fff; font-size: 35px; font-weight: 700; } .specials .wrapper .images { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; position:relative; } .specials .wrapper .images h2 { font-family: "Playfair Display"; font-weight: 700; font-size: 26px; } .specials .wrapper .images p { font-family: "Sintony"; font-size: 14px; } .specials .wrapper .images .contact { padding: 20px 0; } .specials .wrapper .images .contact h3, .specials .wrapper .images .contact h4 { display: inline; padding: 0 20px; } .specials .wrapper .images .contact span { font-family: "Sintony"; font-weight: 700; font-size: 13px; display: inline-block; text-align: start; } .specials .wrapper .images .contact span:after { content: ''; height: 100%; width: 1px; border-right: 1px solid #e1e1e1; padding-right: 10px; padding-top: 10px; } .specials .wrapper .images .contact span a { color: #fe7cab; } .specials .wrapper .images .contact h3 { font-family: "Playfair Display"; font-weight: 700; font-size: 26px; } .specials .wrapper .images .contact h4 { font-family: "Playfair Display"; font-weight: 700; font-size: 30px; color: #fea100; } .specials .wrapper .images .first-dish { -ms-grid-column-align: end; justify-self: end; margin-right: 10px; max-width: 570px; -webkit-box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48); box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48); } .specials .wrapper .images .first-dish .description { max-width: 430px; margin: 0 auto; padding-bottom: 30px; border-bottom: 1px solid #e1e1e1; } .specials .wrapper .images .second-dish { max-width: 570px; -webkit-box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48); box-shadow: 2px 13px 28px -9px rgba(0, 0, 0, 0.48); z-index: 1; background:white; } .specials .wrapper .images .second-dish .description { max-width: 430px; margin: 0 auto; padding-bottom: 30px; border-bottom: 1px solid #e1e1e1; z-index: 1; } .specials .last-offert { position: absolute; z-index: -1; top: 78%; right: 13%; }。以前它是正确堆叠在占位符图像上方的,但是由于背景是透明的,您无法分辨。

我不确定我是否完全了解您的需求,所以请让我知道是否错过了一些事情。

<div class="specials">
        <div class="wrapper">
            <div class="heading">
                <h2 class="">Today Special</h2>
            </div>
            <div class="images">
                <div class="first-dish">
                    <img src="images/today-special-img.png" alt="">
                    <div class="description">
                        <h2>Food Name One</h2>
                        <p>printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.</p>
                    </div>
                    <div class="contact">
                        <span>Home <br><a>Delivery</a></span>
                        <h3>1-088 005 006</h3>
                        <h4>89.00$</h4>
                    </div>
                </div>
                <div class="second-dish">
                    <img src="images/today-special-img.png" alt="">
                    <div class="description">
                        <h2>Food Name One</h2>
                        <p>printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.</p>
                    </div>
                    <div class="contact">
                        <span>Home <br><a>Delivery</a></span>
                        <h3>1-088 005 006</h3>
                        <h4>99.00$</h4>
                    </div>
                </div>
                <div class="last-offert">
                    <img src="https://via.placeholder.com/150

C/O https://placeholder.com/" alt="">
                </div>
            </div>
        </div>
    </div>
{{1}}