当前位置:首页 > 网站应用 > 正文内容

CSS中给背景图增加遮罩

cjw1231年前 (2023-10-24)网站应用3620

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+背景图片添加遮罩是一种非常实用的网页设计技巧。通过在背景图片上添加半透明的遮罩层,您可以让网页更具有层次感和美感。相信如果您善于运用这个技巧,您设计的网页一定会更受欢迎。


扫描二维码推送至手机访问。

版权声明:本文由追求完美发布,如需转载请注明出处。

本文链接:https://cjw123.com/blog/?id=22

分享给朋友:

相关文章

html meta标签屏蔽搜索引擎的用法

html页面中的 meta 标签可以用来识别搜索引擎的蜘蛛类型,可以规定meta标签所在的html页面是否被蜘蛛抓取,下面是这个meta标签的用法,大家可以借鉴一下。搜索引擎的 meta 标签的解析下面是meta标签对搜索引擎的解析<meta name='robot...

CSS头像的花式悬停效果

<html><head><style>img { --s:280px; /* image size */    --b:5px; /* border thic...

css li超出自动隐藏代码

<style>  <!--  li {      width:200px;      white-space:nowrap;  &n...

表格内信息向上滚动代码,类似航班

<html> <head> <title>滚动信息</title> <meta http-equiv="Content-Type" content="text/html; char...

css3+html5特效制作闪烁的文字

<head><charset="utf-8" /> <style> @-webkit-keyframes flash {     0%{   &n...

太极八卦图特效代码

<!DOCTYPE html> <html lang="en">  <head>   <meta charset="UTF-8"> &nbs...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。