能否在悬停时设置文本叠加层?

3
我使用Bootstrap 3创建了具有4个网格元素的行。

演示站点在这里可以看到

网格中的中间框为600x410px(请参见演示站点)。我希望当人们悬停在中间框上时,能够显示白色文本。这是否可能?我不太确定是否必须在覆盖层内使用容器?

  #front .row {
    padding-bottom: 0px!important;
  }
  body {
    background-color: #f5f5f5;
  }

  /* Set width between grid elements */
  
  .small-padding.top {
    padding-top: 10px;
  }
  
  .small-padding.bottom {
    padding-bottom: 10px;
  }
  
  .small-padding.left {
    padding-left: 5px;
  }
  
  .small-padding.right {
    padding-right: 5px;
  }
  
  .margin_bottom {
    margin-bottom: 10px;
  }
  
  .row [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
  }
  
  .row {
    margin-left: -5px;
    margin-right: -5px;
  }
  
  .img-responsive {
    height: 100%;
  }
  
  /* Position of buttons/text in a single grid element */
  
  .inner-wrapper {
    background: none;
  }
  
  .centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .bottom-right {
    position: absolute;
    bottom: 8px;
    right: 16px;
  }
  
  .bottom-left {
    position: absolute;
    bottom: 2%;
    left: 6%;
  }
/* Position text on full width banner */
  .header-container {
    color: white;
    margin: 0 5%;
  }
  .banner-text {
    position: absolute;
    bottom: 16%;
    left: 6%;
  }
  
  /* Color on text */
  
  .dark-font {
    color: #333;
  }
  
  .light-font {
    color: #fff;
    text-transform: uppercase;
  }
   
  /* Set full width on columns */
  
  @media (max-width: 768px) {
    .img-responsive {
      width: 100%;
      height: auto;
    }
    /* Maybe delete btn-success: */
    .btn-success {
      width: fit-content;
    }
  }
  
  @media (max-width: 991px) {
    h3 {
      font-size: 1.2em;
    }
  }
  .image-overlay {
    position:relative;
  }
  .overlay {
    position:absolute;
    transition:all .3s ease;
    opacity:0;
    transition:1.9s;
    background: #00b1bab8;
  }
  .image-overlay:hover .overlay {
    opacity:1;
  }
  .overlayFade {
    background: rgba(27, 27, 27, 0.5);
    top: 0;
    /* Like this */
    bottom: 0;
    left: 0;
    right: 0;
  }
<!DOCTYPE html>
<html lang="en">

<head>
  <title>FINAL WORKING</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
  <div class="container">
      <div class="row">
          <div class="col-sm-3 margin_bottom">
              <a href="#">
                  <div class="image-overlay">
                      <div class="overlay overlayFade"></div>
                      <img src="https://koed.dk/Static/Cms/1bfc7495-1445-4642-815e-0a20ab652ed5.jpg" alt="John Doe" class="img-responsive"></img>
                      <div class="inner-wrapper centered">
                          <h3 class="light-font">Har du et værksted eller en reservedelsbutik?</h3>
                          <span class="light-font">Så se de mange fordele her</span>
                          <!--<button class="btn btn-success btn-lg">Read More</button>-->
                      </div>
                  </div>
              </a>
          </div>
          <div class="col-sm-6 margin_bottom">
              <a href="#">
                  <div class="image-overlay">
                      <div class="overlay overlayFade"></div>
                       <!-- Middle box -->
                      <img src="http://placehold.it/600x410" alt="John Doe" class="img-responsive"></img>
                      <div class="inner-wrapper bottom-left">
                          <h3 class="light-font">Looking for having a good time</h3>
                          <span class="light-font">Here is where you should look</span>
                          <!--<button class="btn btn-success btn-lg">Read More</button>-->
                      </div>
                  </div>
              </a>
          </div>
          <div class="col-sm-3">
              <div class="row">
                  <div class="col-xs-6 col-sm-12 margin_bottom">
                      <a href="#">
                          <div class="image-overlay">
                              <div class="overlay overlayFade"></div>
                              <img src="http://placehold.it/300x200" alt="John Doe" class="img-responsive"></img>     
                              <div class="inner-wrapper bottom-left">
                                  <h5 class="light-font">Looking for having a good time</h5>
                                  <span class="light-font">Here is where you should look</span>
                                  <!--<button class="btn btn-success btn-lg">Read More</button>-->
                              </div>
                          </div>
                      </a>
                  </div>
                  <div class="col-xs-6 col-sm-12 margin_bottom">
                      <a href="#">
                          <div class="image-overlay">
                              <div class="overlay overlayFade"></div>
                              <img src="http://placehold.it/300x200" alt="John Doe" class="img-responsive"></img>
                              <div class="inner-wrapper bottom-left">
                                  <h5 class="light-font">Looking for having a good time</h5>
                                  <span class="light-font">Here is where you should look</span>
                                  <!--<button class="btn btn-success btn-lg">Read More</button>-->
                              </div>
                          </div>
                      </a>
                  </div>
              </div>
          </div>
      </div>
  </div>
</body>
</html>

1个回答

2

 #front .row {
    padding-bottom: 0px!important;
  }
  body {
    background-color: #f5f5f5;
  }

  /* Set width between grid elements */
  
  .small-padding.top {
    padding-top: 10px;
  }
  
  .small-padding.bottom {
    padding-bottom: 10px;
  }
  
  .small-padding.left {
    padding-left: 5px;
  }
  
  .small-padding.right {
    padding-right: 5px;
  }
  
  .margin_bottom {
    margin-bottom: 10px;
  }
  
  .row [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
  }
  
  .row {
    margin-left: -5px;
    margin-right: -5px;
  }
  
  .img-responsive {
    height: 100%;
  }
  
  /* Position of buttons/text in a single grid element */
  
  .inner-wrapper {
    background: none;
  }
  
  .centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .bottom-right {
    position: absolute;
    bottom: 8px;
    right: 16px;
  }
  
  .bottom-left {
    position: absolute;
    bottom: 2%;
    left: 6%;
  }
/* Position text on full width banner */
  .header-container {
    color: white;
    margin: 0 5%;
  }
  .banner-text {
    position: absolute;
    bottom: 16%;
    left: 6%;
  }
  
  /* Color on text */
  
  .dark-font {
    color: #333;
  }
  
  .light-font {
    color: #fff;
    text-transform: uppercase;
  }






   
  /* Set full width on columns */
  
  @media (max-width: 768px) {
    .img-responsive {
      width: 100%;
      height: auto;
    }
    /* Maybe delete btn-success: */
    .btn-success {
      width: fit-content;
    }
  }
  
  @media (max-width: 991px) {
    h3 {
      font-size: 1.2em;
    }
  }
  .image-overlay {
    position:relative;
  }
  .overlay {
    position:absolute;
    transition:all .3s ease;
    opacity:0;
    transition:1.9s;
    background: #00b1bab8;
  }
  .image-overlay:hover .overlay {
    opacity:1;
  }
  .overlayFade {
    background: rgba(27, 27, 27, 0.5);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 15px;
  }
<!DOCTYPE html>
<html lang="en">

<head>
  <title>FINAL WORKING</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
  <div class="container">
      <div class="row">
          <div class="col-sm-3 margin_bottom">
              <a href="#">
                  <div class="image-overlay">
                      <div class="overlay overlayFade">
                      </div>
                      <img src="https://koed.dk/Static/Cms/1bfc7495-1445-4642-815e-0a20ab652ed5.jpg" alt="John Doe" class="img-responsive"></img>
                      <div class="inner-wrapper centered">
                          <h3 class="light-font">Har du et værksted eller en reservedelsbutik?</h3>
                          <span class="light-font">Så se de mange fordele her</span>
                          <!--<button class="btn btn-success btn-lg">Read More</button>-->
                      </div>
                  </div>
              </a>
          </div>
          <div class="col-sm-6 margin_bottom">
              <a href="#">
                  <div class="image-overlay">
                      <div class="overlay overlayFade">Dymmy Text</div>
                      <img src="http://placehold.it/600x410" alt="John Doe" class="img-responsive"></img>
                      <div class="inner-wrapper bottom-left">
                          <h3 class="light-font">Looking for having a good time</h3>
                          <span class="light-font">Here is where you should look</span>
                          <!--<button class="btn btn-success btn-lg">Read More</button>-->
                      </div>
                  </div>
              </a>
          </div>
          <div class="col-sm-3">
              <div class="row">
                  <div class="col-xs-6 col-sm-12 margin_bottom">
                      <a href="#">
                          <div class="image-overlay">
                              <div class="overlay overlayFade"></div>
                              <img src="http://placehold.it/300x200" alt="John Doe" class="img-responsive"></img>     
                              <div class="inner-wrapper bottom-left">
                                  <h5 class="light-font">Looking for having a good time</h5>
                                  <span class="light-font">Here is where you should look</span>
                                  <!--<button class="btn btn-success btn-lg">Read More</button>-->
                              </div>
                          </div>
                      </a>
                  </div>
                  <div class="col-xs-6 col-sm-12 margin_bottom">
                      <a href="#">
                          <div class="image-overlay">
                              <div class="overlay overlayFade"></div>
                              <img src="http://placehold.it/300x200" alt="John Doe" class="img-responsive"></img>
                              <div class="inner-wrapper bottom-left">
                                  <h5 class="light-font">Looking for having a good time</h5>
                                  <span class="light-font">Here is where you should look</span>
                                  <!--<button class="btn btn-success btn-lg">Read More</button>-->
                              </div>
                          </div>
                      </a>
                  </div>
              </div>
          </div>
      </div>
  </div>
</body>
</html>


非常感谢。正是我在寻找的东西。 - MK-DK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接