Bootstrap 4 浅色叠加在图像顶部,使文本突出/看得更清楚

jsP*_*yer 1 html css twitter-bootstrap bootstrap-4

所以我试图在 img 或图像的父 div 上放置一个非常浅的颜色,这样无论图像是浅色还是深色,文本都可以清晰可见,没有任何问题。正如您所看到的,我正在使用引导卡类来将文本置于图像之上。到目前为止,这是我的尝试,但具有这种不透明度会使文本和图像变暗,我希望图像变暗/变亮,以便文本清晰可见。这里有什么好的解决方案。我看到人们使用透明背景色作为图像并将其覆盖在 css 上,我不知道这是否是一个好方法

.dnow-regionsContent {
    background-color: SlateGray;
    position: relative;
    width: 100%;
    height: 100%;
    opacity: 0.8;
}
.dnow-regionsContent .card-img-overlay img {
    max-height: 40rem;
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">

<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
   <title>slick slider</title>
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
      crossorigin="anonymous">


   <link rel="stylesheet" href="css/style.css">
</head>

<body>
   <section class="dnow-regionsWrap">
      <div class="dnow-regionsContent">
         <div class="card bg-dark text-white">
            <img src="https://www.dropbox.com/s/9fvw247x7ml90mf/canadaN.jpg?dl=1" alt="">
            <div class="card-img-overlay d-flex align-items-center container">
               <div class="row  mb-5">
                  <div class=" col-sm-12 text-content">
                     <h2 class="card-title ">
                        Canada
                     </h2>
                     <button class="btn btn-primary">
                        Viewl all Location
                     </button>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </section>

   <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
      crossorigin="anonymous"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
      crossorigin="anonymous"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
      crossorigin="anonymous"></script>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

小智 5

我不知道我是否理解这个问题,但据我所知,您想在图像顶部应用叠加颜色,使图像变暗。如果这个解决方案可以帮助你创建一个新的 div

<img src="https://www.dropbox.com/s/9fvw247x7ml90mf/canadaN.jpg?dl=1" alt="">
<div class="overlay-div"></div> <!-- the new div -->
<div class="card-img-overlay d-flex align-items-center container">
Run Code Online (Sandbox Code Playgroud)

并应用一些 css 样式

.overlay-div{
   height:100%;
   width: 100%;
   position:absolute;
   background-color:#000;
   opacity:.7;
}
Run Code Online (Sandbox Code Playgroud)

有一个钢笔文件你可以试试img 叠加颜色