伪元素改进土豆遮罩案例
原案例:利用遮罩层+hover
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>土豆遮罩+固定定位</title>
<style>
.tudou {
position: relative;
width: 700px;
height: 700px;
margin: 10px auto;
}
.mask {
/* 隐藏遮罩层 */
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,.4);
}
.tudou:hover .mask {
display: block;
}
/* 固定定位 */
.fixed {
position: fixed;
/* 走浏览器的一半 */
left: 50%;
/* 走版心的一半 */
margin-left: 355px;
width: 50px;
height: 125px;
background-color: pink;
}
</style>
</head>
<body>
<div class="fixed"></div>
<div class="tudou">
<div class="mask"></div>
<img src="image/lf.jpg" alt="">
</div>
<div class="tudou">
<div class="mask"></div>
<img src="image/lf.jpg" alt="">
</div>
<div class="tudou">
<div class="mask"></div>
<img src="image/lf.jpg" alt="">
</div>
</body>
</html>
改进:利用伪元素优化
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>土豆遮罩+固定定位 伪元素优化</title>
<style>
.tudou {
position: relative;
width: 700px;
height: 700px;
margin: 10px auto;
}
.tudou::before {
content: '';
/* 隐藏遮罩层 */
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,.4);
}
/* 当鼠标经过了土豆盒子,就让里面的遮罩层显示出来 */
.tudou:hover::before {
display: block;
}
/* 固定定位 */
.fixed {
position: fixed;
/* 走浏览器的一半 */
left: 50%;
/* 走版心的一半 */
margin-left: 355px;
width: 50px;
height: 125px;
background-color: pink;
}
</style>
</head>
<body>
<div class="fixed"></div>
<div class="tudou">
<img src="image/lf.jpg" alt="">
</div>
<div class="tudou">\
<img src="image/lf.jpg" alt="">
</div>
<div class="tudou">
<img src="image/lf.jpg" alt="">
</div>
</body>
</html>
效果: