整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML如何設置div背景圖片的的透明度

          這樣一個需求,就是在一個DIV中包含有一個Image標簽,但是在Div標簽中包含有一張背景圖片,設計圖上的樣子是這張背景圖片是有一個透明度的,但是如果直接使用opacity屬性設置的的話就會連Div中的內容的透明度也會受到影響,那么我們如何在HTML中設置div背景圖片的透明度呢?,可以通過以下幾種方法實現。

          方法一:使用偽元素

          這是在日常開發中被推薦使用的方法,通過這種方式實現不會影響到div中的其他內容的透明度只會影響它自己背景的透明度,詳細實現如下。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      position: relative;
                      width: 300px;
                      height: 200px;
                      overflow: hidden;
                  }
          
                  .container::before {
                      content: "";
                      background-image: url('your-image.jpg');
                      background-size: cover;
                      background-position: center;
                      position: absolute;
                      top: 0;
                      left: 0;
                      right: 0;
                      bottom: 0;
                      opacity: 0.5; /* 調整透明度 */
                      z-index: 1;
                  }
          
                  .content {
                      position: relative;
                      z-index: 2;
                      color: white;
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  <div class="content">
                      這里是內容
                  </div>
              </div>
          </body>
          </html>

          方法二:使用RGBA顏色疊加

          這種方式比較適合那種需要給背景圖片上添加蒙版的情況,但是筆者嘗試的時候,結果實在是不盡人意。所以還是選擇了上面的推薦方法,不過這種方式要比上面的那種方式實現起來要簡單很多。如下所示。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      width: 300px;
                      height: 200px;
                      background: rgba(255, 255, 255, 0.5) url('your-image.jpg') no-repeat center center;
                      background-size: cover;
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  這里是內容
              </div>
          </body>
          </html>

          方法三:使用CSS濾鏡

          這種方式實現會影響到整個的div的樣式,也就是說頁面中的內容的透明度也會受到影響,并且這種影響不會被其他樣式所改變。如下所示。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      width: 300px;
                      height: 200px;
                      background: url('your-image.jpg') no-repeat center center;
                      background-size: cover;
                      filter: opacity(0.5); /* 調整透明度 */
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  這里是內容
              </div>
          </body>
          </html>

          以上就是實現如何調整div的背景透明度,在一些特殊場景中我們還可以通過JS的方式來實現。上面的方法中,推薦使用的是偽元素方法,因為它在修改了div背景透明度之后,并不會影響到其他的元素,RGBA色彩添加則是局限于一些色彩華麗的地方使用,而對于一些單色調的內容來講這種方式實現效果不是太好。通過CSS過濾樣式,雖然是最直接的方式,但是如果在div內部有內容的情況下會影響到整個組件體系的樣式。

          在實際開發中,我們可以選擇合適的方式來實現這個需求。當然還有其他的實現方式,有興趣的讀者可以留言我們一起討論。

          為Web開發人員,最常見的事情之一就是更改HTML元素的背景顏色。但是,如果您不了解如何使用CSS background-color屬性,可能會產生混淆。在本文中,我們討論以下幾點

          1.HTML元素的默認背景色值

          2.如何更改div的背景顏色,這是非常常見的元素

          3.該background-color屬性會影響CSS盒子模型的哪些部分,以及

          4.此屬性可以采用的不同值。

          元素的默認背景色

          div的默認背景顏色是transparent。因此,如果您不指定div的背景色,它將顯示其父元素的背景色。

          更改Div的背景顏色

          在此示例中,我們將更改以下div的背景顏色。

          <div class="div-1"> I love HTML </div>
          <div class="div-2"> I love CSS </div>
          <div class="div-3"> I love JavaScript </div>

          沒有任何樣式,它將在視覺上轉換為以下內容。

          讓我們通過向類中添加樣式來更改div的背景顏色。您可以通過嘗試HTML文件中的示例進行操作。

          <style>
              .div-1 {
                  background-color: #EBEBEB;
              }
              
              .div-2 {
              	background-color: #ABBAEA;
              }
              
              .div-3 {
              	background-color: #FBD603;
              }
          </style>
          
          <body>
              <div class="div-1"> I love HTML </div>
              <div class="div-2"> I love CSS </div>
              <div class="div-3"> I love JavaScript </div>
          </body>

          這將導致以下結果:

          看!我們已成功更改了該div的背景顏色。接下來,讓我們更多地了解此屬性。讓我們看看background-color屬性如何影響CSS-box模型的各個部分。

          背景顏色和CSS Box模型

          根據CSS框模型,所有HTML元素都可以建模為矩形框。每個盒子由4個部分組成,如下圖所示。

          如果您不熟悉Box模型,則可以查閱相關資料。問題是,當您更改div的背景顏色時,Box模型的哪一部分會受到影響?簡單的答案是填充區域和內容區域。讓我們通過一個例子來確認這一點。

          <style>
              body {
                  background-color: #ABBAEA;
              }
              div {
                  height: 200px;
                  margin: 20px;
                  border: 5px solid;
                  background-color: #FBD603;
              }
          </style>
          <body>
              <div>
                  <p>This is the parent div which contains the div we are testing</p>
          
                  <div>
                      <p>This example shows that changing the background color of a div does not affect the border and margin of the div.</p>
                  </div>
              </div>
          </body>

          這將導致:

          從上面的示例中,我們可以看到空白區域和邊框區域不受背景顏色變化的影響。我們可以使用border-color屬性更改邊框的顏色。邊距區域保持透明,并反映父容器的背景色。

          最后,讓我們討論background-color屬性可以采用的值。

          背景色值

          就像color屬性一樣,background-color屬性可以采用六個不同的值。讓我們通過一個示例考慮三個最常見的值。在示例中,我們將div的背景色設置為具有不同值的紅色。

          <style>
              /* Keyword value/name of color */
              .div-1 {
                  background-color: red;
              }
              
              /* Hexadecimal value */
              .div-2 {
                 background-color: #FF0000;	 
              }
              
              /* RGB value */
              .div-3 {
              	background-color: rgb(255,0,0);
              }
              
          </style>
          
          <body>
              <div class="div-1">
                  <p>The background property can take six different values.</p>
              </div>
          
              <div class="div-2">
                  <p>The background property can take six different values.</p>
              </div>
          
              <div class="div-3">
                  <p>The background property can take six different values.</p>
              </div>
          </body>

          注意,它們的結果都是相同的背景色。

          該background-color屬性可以采用的其他值包括HSL值,特殊關鍵字值和全局值。這是每個例子。

          /* HSL value */
          background-color: hsl(0, 100%, 25%;
          
          /* Special keyword values */
          background-color: currentcolor;
          background-color: transparent;
          
          /* Global values */
          background-color: inherit;
          background-color: initial;
          background-color: unset;

          額外注意

          設置元素的背景色時,重要的是要確保背景色和其包含的文本顏色的對比度足夠高。這是為了確保弱視人士可以輕松閱讀文本。

          第一個div的背景顏色與文本顏色之間的對比度不夠高,每個人都看不到。因此,除非您是唯一正在使用的網站,并且您的視力非常好,否則應避免這種顏色組合。

          第二個div在背景顏色和文本顏色之間具有更好的對比度。因此,它使人們更容易閱讀和閱讀。

          結論

          在本文中,我們看到了如何更改div的背景顏色。我們還討論了CSS Box模型的哪些部分受背景顏色變化的影響。最后,我們討論了background-color屬性可以采用的值。

          希望本文對您有所幫助。謝謝閱讀。

          果在圖片上顯示文字,經常會遇到這個情況,就是當文字和背景顏色差不多時,文字會看不清楚,我們一般通過給文字加text shadow或者修改圖片的透明度來讓文字顯示更加突出。我們今天說一下透明度的問題,一般我們干這個活兒是通過photoshop來做,其實CSS本身也可以實現類似的效果。如何做?

          咱們先從下面這個例子開始,有一張背景圖片,上面有些文字:

          對應的顯示效果如下:

          可以看到,文字顯示不是特別清晰,現在要給圖片增加一層控制透明度,我們使用偽元素實現:

          可以看到,加入了一層,inset是top, bottom, left, right的簡寫形式,將它們都設為0。通過這個設置,顯示效果如下:

          現在它把所有元素都蓋住了,而我們需要文字在這層的上面,如果加入z-index:-1, 則這個層又跑到所有元素下面,看不到了。

          要解決這個問題,我們需要引入一個關鍵CSS,isolation: isolate; 通過它來創建一個新的CSS堆疊上下文,從而使得這個層不會跑到外面,具體關于isolation, 我專門寫過一個文章,這里可以直接查看詳細信息:使用isolation: isolate來創建堆疊上下文

          可以看到,這個層現在位于文字和圖片中間,如下所示:

          那現在就簡單了,可以更改opacity來控制其透明度,

          最后將顏色改為黑色,就達到了我們所期望的效果。

          附上完整的CSS:

          感謝閱讀!


          主站蜘蛛池模板: 国产精品成人一区二区| 亚洲av无码天堂一区二区三区| 日本一区二区三区免费高清在线| 国产在线视频一区二区三区| 上原亚衣一区二区在线观看| 国产伦精品一区二区三区女| 超清无码一区二区三区| 久久久精品一区二区三区| 亚洲片一区二区三区| 国产成人一区二区三中文| 人成精品视频三区二区一区| 中文字幕一区一区三区| 亚洲国产一区二区三区| 人妻少妇精品视频三区二区一区 | 亚洲AⅤ无码一区二区三区在线 | 亚洲一区二区三区在线网站| 国产免费伦精品一区二区三区| 久久精品国产一区二区三区日韩| 成人毛片一区二区| 精品久久一区二区三区| 国产精品视频无圣光一区| 久久久久人妻精品一区二区三区| 亚洲乱码国产一区网址| 日韩伦理一区二区| 亚洲国产韩国一区二区| 无码国产精成人午夜视频一区二区 | 麻豆高清免费国产一区| 国产亚洲3p无码一区二区| 精品人妻一区二区三区毛片 | 亚洲另类无码一区二区三区| 亚洲一区综合在线播放| 国产免费一区二区三区在线观看| 男人的天堂精品国产一区| 国产成人精品一区二三区熟女 | 亚洲熟妇av一区| 久久精品一区二区东京热| 亚洲国产综合无码一区 | 亚洲AV日韩综合一区尤物| 日韩精品人妻一区二区中文八零 | 一区二区三区福利| 亚洲福利视频一区二区|