首页 > 其他分享 >【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?

时间:2022-12-25 16:02:03浏览次数:42  
标签:叠加 container color 250px height width HTML 015 CSS

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html

https://www.geeksforgeeks.org/how-to-create-image-overlay-hover-using-html-css/

翻译 | web前端开发


在本文中,我们将介绍5种不同类型的叠加层:左,右,上,下和淡入淡出。你将需要两个div。一个将是你的叠加层div,其中包含一旦用户将鼠标悬停在图像上时将显示的内容,另一个将是既包含图像又覆盖其图像的容器。

代表叠加层的内部div将具有两个类。一种将用于设置所有叠加的样式,另一种则表示特定的叠加类型(左,右,上,下或淡入淡出)。

你的图片应放置在内部div(重叠)的外部,但应放置在外部div(容器)的内部。不要忘记添加描述图像的替代文本,以帮助依赖屏幕阅读器的用户。

HTML代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

CSS代码:设置容器相对于其正常位置的位置,并定义其宽度和高度。使覆盖层起作用的关键是将其位置设置为绝对位置。这意味着其相对于其最接近的祖先的位置,在这种情况下是图像。

因此,覆盖层并不总是存在,而是仅在用户将鼠标悬停在图像上方时显示,将其不透明度设置为零,表示完全透明。

使用“背景颜色”设置叠加层的颜色。使用“过渡”,以便逐渐显示叠加层,而不是在图像上弹出。由于我们将叠加层的不透明度设置为零,因此当我们将鼠标悬停在容器上时,我们希望将不透明度设置为1。

这意味着,一旦用户将鼠标悬停在容器项上,叠加层就会出现。

<style> 
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}
</style>

淡入叠加:叠加的宽度和高度等于div图像的宽度和高度。将鼠标悬停在图像上后,叠加层将显示在该图像的顶部。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayFade {
height: 250px;
width: 250px;
top: 0;
left: 75px;
background-color: #9bcd9b;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayFade"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_bc_02


左侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为左侧。将鼠标悬停在图像上并逐渐从左向右移动时,宽度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayLeft{
height: 100%;
width: 0;
top: 0;
left: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayLeft{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_Image_03

左侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为左侧。将鼠标悬停在图像上并逐渐从左向右移动时,宽度将设置为100%。

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayLeft{
height: 100%;
width: 0;
top: 0;
left: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayLeft{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_04


右侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为右。将鼠标悬停在图像上并逐渐从右向左移动时,宽度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayRight{
height: 100%;
width: 0;
top: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayRight{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayRight"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_05


顶部叠加层:叠加层的宽度是图像的宽度(100%)。高度为零并设置为顶部。将鼠标悬停在图像上并逐渐从上到下移动时,高度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayTop{
width: 250px;
height: 0;
top: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayTop{
height: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayTop"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_Image_06


底部叠加层:叠加层的宽度是图像的宽度(100%)。高度为零,并设置为底部。将鼠标悬停在图像上并逐渐从下往上移动时,高度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayBottom{
width: 250px;
height: 0;
bottom: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayBottom{
height: 255px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayBottom"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_bc_07HTML代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

CSS代码:设置容器相对于其正常位置的位置,并定义其宽度和高度。使覆盖层起作用的关键是将其位置设置为绝对位置。这意味着其相对于其最接近的祖先的位置,在这种情况下是图像。

因此,覆盖层并不总是存在,而是仅在用户将鼠标悬停在图像上方时显示,将其不透明度设置为零,表示完全透明。

使用“背景颜色”设置叠加层的颜色。使用“过渡”,以便逐渐显示叠加层,而不是在图像上弹出。由于我们将叠加层的不透明度设置为零,因此当我们将鼠标悬停在容器上时,我们希望将不透明度设置为1。

这意味着,一旦用户将鼠标悬停在容器项上,叠加层就会出现。

<style> 
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}
</style>

淡入叠加:叠加的宽度和高度等于div图像的宽度和高度。将鼠标悬停在图像上后,叠加层将显示在该图像的顶部。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayFade {
height: 250px;
width: 250px;
top: 0;
left: 75px;
background-color: #9bcd9b;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayFade"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_08


左侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为左侧。将鼠标悬停在图像上并逐渐从左向右移动时,宽度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayLeft{
height: 100%;
width: 0;
top: 0;
left: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayLeft{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_bc_09

左侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为左侧。将鼠标悬停在图像上并逐渐从左向右移动时,宽度将设置为100%。

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayLeft{
height: 100%;
width: 0;
top: 0;
left: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayLeft{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayLeft"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_bc_10


右侧叠加层:叠加层的高度是图像的高度(100%)。宽度为零,并设置为右。将鼠标悬停在图像上并逐渐从右向左移动时,宽度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayRight{
height: 100%;
width: 0;
top: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayRight{
width: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayRight"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_11


顶部叠加层:叠加层的宽度是图像的宽度(100%)。高度为零并设置为顶部。将鼠标悬停在图像上并逐渐从上到下移动时,高度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayTop{
width: 250px;
height: 0;
top: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayTop{
height: 250px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayTop"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_12


底部叠加层:叠加层的宽度是图像的宽度(100%)。高度为零,并设置为底部。将鼠标悬停在图像上并逐渐从下往上移动时,高度将设置为100%。

代码:

<!DOCTYPE HTML> 
<html>


<head>
<meta charset="UTF-8">
<title>Image Overlay</title>
<style>
body {
text-align: center;
}


h1 {
color: green;
}


.container img {
width: 250px;
height: 250px;
}


.container {
position: relative;
width: 400px;
height: auto;
}


.overlay {
position: absolute;
transition: all 0.3s ease;
opacity: 0;
background-color: #9bcd9b;
}


.container:hover .overlay {
opacity: 1;
}


.overlayBottom{
width: 250px;
height: 0;
bottom: 0;
right: 75px;
background-color: #9bcd9b;;
}


.container:hover .overlayBottom{
height: 255px;
}
</style>
</head>


<body>
<center>
<h1 class="title">
GeeksforGeeks
</h1>
<b>Image Overlay</b>
<br>
<br>
<div class="container">
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200325132558/download311.png"
class="image">
<div class="overlay overlayBottom"></div>
</div>
</center>
</body>


</html>

输出:

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_Image_13

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_html_14


【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_Image_15

【开发小技巧】015—如何使用HTML和CSS创建图像叠加悬停?_bc_16

标签:叠加,container,color,250px,height,width,HTML,015,CSS
From: https://blog.51cto.com/u_15809510/5968203

相关文章

  • 16个非常有用的CSS伪选择器,你千万不要错过了!
    英文| https://blog.bitsrc.io/css-pseudo-selectors-you-never-knew-existed-b5c0ddaa8116​(伪)选择器可以为文档中不一定具体存在的结构指定样式,或者为某些元素、文档的......
  • 【开发小技巧】13—如何使用HTML CSS和JavaScript创建图像动画?
    英文| https://www.geeksforgeeks.org/how-to-create-image-lightbox-gallery-using-html-css-and-javascript/?ref=rp翻译|web前端开发你可以对JavaScript进行编码,但是......
  • 20条书写CSS代码的建议
    在这篇文章中,我想跟你分享20条由CSS社区推荐的约定和最佳实践。有些建议可能比较适合新手,而有些则更高级一些,但我希望每个人都可以在本篇文章中收获自己不知道的知识。0......
  • 22个编写HTML5的实用小技巧
    编辑|web前端开发1.新的文档类型(Doctype)<!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt......
  • 学会这6个强大的CSS选择器,将真正帮你写出干净的CSS代码!
    原文| ​​https://www.ibrahima-ndaw.com/blog/6-powerfull-css-selectors/​​译文|web前端开发(ID:web_qdkf)CSS中的选择器用于选择元素并设置其样式。在我们使用其中......
  • 【开发小技巧】016—如何使用HTML和CSS将文字环绕在图片周围?
    对于任何类型的网站,纯文字的网页是很难有吸引力的。现在,将图片与文字的排版设计,可以提升网站的吸引力。图片可以是不同的形状,基本是正方形图片居多。在图像周围放置文字。通......
  • Web入门:CSS下拉图片
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用CSS实现图片的下拉菜单。演示学习<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 开局一张图,构建神奇的 CSS 效果
    假设,我们有这样一张Gif图:利用CSS,我们尝试来搞一些事情。图片的GlitchArt风在这篇文章中--​​CSS故障艺术​​,我们介绍了利用混合模式制作一种晕眩感觉的视觉效果。......
  • 现代 CSS 高阶技巧,不规则边框解决方案
    本文是CSSHoudini之CSSPaintingAPI系列第四篇。​​现代CSS之高阶图片渐隐消失术​​​​现代CSS高阶技巧,像Canvas一样自由绘图构建样式!​​​​现代CSS高阶......
  • HTML
    <!--DOCTYPE:告诉浏览器我们要用什么规范--><!DOCTYPEhtml><htmllang="en"><!--head标签代表网页头部--><head><!--meta描述性标签描述网站的一些信......