首頁 > web前端 > css教學 > 如何使用 CSS 在懸停時向圖像添加帶有文字的黑色透明覆蓋層?

如何使用 CSS 在懸停時向圖像添加帶有文字的黑色透明覆蓋層?

Barbara Streisand
發布: 2024-12-07 10:36:17
原創
639 人瀏覽過

How to Add a Black Transparent Overlay with Text to Images on Hover Using CSS?

使用CSS 在懸停時為影像添加黑色透明疊加

使用CSS 可以在懸停時在影像上建立黑色透明。以下是完成此操作的綜合指南:

使用偽元素

為了避免封閉的 img 元素上的覆蓋元素出現問題,您可以在其地方。將img 元素包裝如下:

<div class="image">
  <img src="image.jpg" alt="" />
</div>
登入後複製

設定CSS:

.image {
  position: relative;
  width: 400px;
  height: 400px;
}
.image img {
  width: 100%;
  vertical-align: top;
}
.image:after {
  content: '\A';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: all 1s;
}
.image:hover:after {
  opacity: 1;
}
登入後複製

在懸停時加入文字

為簡單起見,請包含文字作為偽元素的內容值:

.image:after {
  content: 'Your Text';
  color: #fff;
}
登入後複製

或者,在data-* 屬性中設定文字以實現唯一的文字顯示:

.image:after {
  content: attr(data-content);
  color: #fff;
}
登入後複製
<div data-content="Text to Display" class="image">
  <img src="image.jpg" alt="" />
</div>
登入後複製

組合疊加和文字

單獨的樣式允許獨立定位元素:

.image:after, .image:before {
  position: absolute;
  opacity: 0;
  transition: all 0.5s;
}
.image:after {
  content: '\A';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
}
.image:before {
  content: attr(data-content);
  width: 100%;
  color: #fff;
  z-index: 1;
  bottom: 0;
  padding: 4px 10px;
  text-align: center;
  background: #f00;
  box-sizing: border-box;
}
.image:hover:after, .image:hover:before {
  opacity: 1;
}
登入後複製

以上是如何使用 CSS 在懸停時向圖像添加帶有文字的黑色透明覆蓋層?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板