CSS中给背景图增加遮罩
CSS作为网页开发的重要组成部分,经常会用到遮罩层的效果,实现页面视觉上的突出和强调。那么,CSS怎样设置遮罩层呢?下面就来简单介绍一下。
首先,要清楚遮罩层的定义。遮罩层是指在页面元素上添加一个半透明的罩子,使得页面元素之间的重叠效果。”遮”住页面上的元素。
接下来,我们来看如何在CSS中实现遮罩层的效果。
首先,我们可以通过伪元素:before或:after来实现遮罩层效果。
/* 实现遮罩层效果 */
.box:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5); /* 遮罩层颜色 */
z-index: 1;}在上面的代码中,我们使用:before伪元素,给.box添加了一个遮罩层。位置定位为绝对定位,并且覆盖整个页面。设定了背景颜色,并将z-index设为1,使其显示在页面上方。
其次,我们可以使用CSS3中的opacity属性来实现透明度的效果,从而实现遮罩层效果。
/* 实现遮罩层效果 */
.box {position: relative;}
.box:after {
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
opacity: 0.5; /* 透明度 */background-color: #000000; /* 遮罩层颜色 */
z-index: 1;}以上代码中,我们使用了:after伪元素,给.box添加了一个遮罩层。通过使用opacity属性,来调整遮罩层的透明度。通过设置遮罩层的颜色和z-index,来实现遮罩层的效果。
最后,需要注意的是,在设置遮罩层效果时,要灵活运用z-index属性,使得遮罩层处于正确的位置,并能正确的遮盖页面元素。同时,遮罩层的透明度需要根据实际情况进行调整,使得页面美观而不失功能。
实际效果展示:
比如我给一个网页设置了一个bing的每日背景,由于背景每天都会更换,而我想把背景上面的文字显示的更清楚,所以我就得把图片加一个遮罩!这样就会更突出文字,显得不会那么花
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<meta name="viewport" content="width=device-width,viewport-fit=cover">
<title>www.cjw123.com</title>
<style type="text/css">
* {
box-sizing: border-box;
scrollbar-width: none
}
body {
color: #fff;
font-family: Helvetica,"PingFang SC","Microsoft YaHei",sans-serif;
margin: 0;
overflow: hidden;
-webkit-tap-highlight-color: transparent
}
body>* {
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
background-color: rgba(255,255,255,.1);
border: 1px solid rgba(255,255,255,.2);
border-radius: 5px;
max-width: calc(100% - 30px);
padding: 10px 15px;
position: fixed
}
code {
font-family: Consolas,monospace;
left: calc(env(safe-area-inset-left) + 15px);
overflow: auto;
top: 15px;
font-size: xxx-large;
}
html {
background-image: url(https://api.dujin.org/bing/1920.php);
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
html::before {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.2);
}
</style>
</head>
<body>
<code>www.cjw123.com 代码演示 </code>
</body>
</html>上面的代码中,我们定义了一个类名为“html”的元素,它包含一个背景图片。然后,我们使用“::before”伪元素添加了一个背景色为半透明黑色的遮罩层。这个遮罩层会覆盖在背景图片上,从而使背景图片呈现出更加突出的效果。
如果您想要改变遮罩层的透明度,可以通过修改“background-color”的最后一个参数来实现。该参数的值范围为0~1,0表示完全透明,1表示完全不透明。
总的来说,CSS+背景图片添加遮罩是一种非常实用的网页设计技巧。通过在背景图片上添加半透明的遮罩层,您可以让网页更具有层次感和美感。相信如果您善于运用这个技巧,您设计的网页一定会更受欢迎。