html+css+js实现遮罩层的两种方法

一、div布局+css

1.html代码

<div class="a" id="a">
    <img src="img/page3_img1.jpg">
    <!--遮罩层开始-->
        <div class="b" id="b">
            <p>遮罩层</p>
        </div>
    <!--遮罩层结束-->
</div>

2.css样式

        .a{
            width: 300px;
            height: 218px;
            position: relative;
        }
        .b{
            width: 300px;
            height: 218px;
            position: absolute;
            top: 0;
            left: 0;
            background-color: rgba(101, 101, 101, 0.6);
            opacity: 0;
            transition: all 1s;
        }
        .a:hover .b{
            opacity: 1;
            transition: all 1s;
        }

(1)外面的盒子用相对定位,里面的盒子用绝对定位,使之完全重合
(2)background-color的第四个参数是设背景颜色的透明度
(3)在鼠标没移上去之前,整个遮罩层的盒子透明度为0(不可见)
(4)鼠标移上去之后,遮罩层的盒子透明度为1(可见)
(5)transition:all 1s 使之有一个过渡的效果

二、div布局+css+js

1.html代码

<div class="a" id="a">
    <img src="img/page3_img1.jpg">
    <!--遮罩层开始-->
        <div class="b" id="b">
            <p>遮罩层</p>
        </div>
    <!--遮罩层结束-->
</div>

2.css样式

        .a{
            width: 300px;
            height: 218px;
            position: relative;
        }
        .b{
            width: 300px;
            height: 218px;
            position: absolute;
            top: 0;
            left: 0;
            background-color: rgba(101, 101, 101, 0.6);
            opacity: 0;
            transition: all 1s;
        }

3.js代码

var a=document.getElementById('a');
    var b=document.getElementById('b');
    a.function(){
        b.style.opacity='1';
    }
    a.function(){
        b.style.opacity='0';
    }

(1).a的div使用了鼠标事件onmouseover:鼠标移上去.b的div的透明度变成1,出现了遮罩层
(2).a的div使用了鼠标事件onmouseout:鼠标移走时.b的div的透明度变成0,遮罩层消失

两种方法的效果如下图
鼠标移上去之前:
在这里插入图片描述
鼠标移上去之后:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值