如何用 CSS 製作影像疊加懸停效果?
影像懸停時的疊加效果在頁面載入時隱藏,當滑鼠游標懸停在影像上時可見。易於過渡效果的設定透過使用過渡屬性來實現疊加效果。讓我們來看看如何使用 HTML 和 CSS 建立影像疊加懸停效果。
設定卡片容器
為卡片文字、影像和標題設定一個父級 div −
<div class="card-container">
<img src="https://www.gstatic.com/webp/gallery/4.sm.jpg">
<div class="hoverText">
<div class="caption">Tree</div>
</div>
</div>
定位卡片容器
卡片容器使用 position 屬性以相對方式定位 −
.card-container {
display: inline-block;
position: relative;
width: 50%;
}
疊加效果
過渡設定為易於生效,使用疊加的過渡屬性。疊加的位置設定為絕對 −
.hoverText {
transition: .5s ease;
opacity: 0;
position: absolute;
top: 50%;
left: 40%;
text-align: center;
}
在卡片容器上懸停時,使用 opacity 屬性更改不透明度 −
.card-container:hover img {
opacity: 0.4;
}
.card-container:hover .hoverText {
opacity: 1;
}
疊加標題
使用 border-radius 屬性設定影像上的標題 −
.caption {
background-color: rgb(18, 53, 131);
color: white;
font-size: 30px;
padding: 20px;
border-radius: 6px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-weight: bolder;
}
示例
以下是使用 CSS 建立影像疊加懸停效果的程式碼 −
<!DOCTYPE html>
<html>
<head>
<style>
.card-container {
display: inline-block;
position: relative;
width: 50%;
}
img {
opacity: 1;
display: block;
width: 100%;
transition: .5s ease;
backface-visibility: hidden;
}
.hoverText {
transition: .5s ease;
opacity: 0;
position: absolute;
top: 50%;
left: 40%;
text-align: center;
}
.card-container:hover img {
opacity: 0.4;
}
.card-container:hover .hoverText {
opacity: 1;
}
.caption {
background-color: rgb(18, 53, 131);
color: white;
font-size: 30px;
padding: 20px;
border-radius: 6px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-weight: bolder;
}
</style>
</head>
<body>
<h1>Image Overlay effect Example</h1>
<div class="card-container">
<img src="https://www.gstatic.com/webp/gallery/4.sm.jpg">
<div class="hoverText">
<div class="caption">Tree</div>
</div>
</div>
</body>
</html>
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP