所有分类
  • 所有分类
  • 后端开发
CSS新玩法!遮罩技能解锁,让图片神秘消失

CSS新玩法!遮罩技能解锁,让图片神秘消失

属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。mask,可以很好将他们叠加在一起进行展示。运用这个技巧,我们就可以实现很多有意思的图片效果。mask,重新构造一下结构,最终的伪代码带个是这样:更多有

mask属性介绍

CSS新玩法!遮罩技能解锁,让图片神秘消失

你们知道css里头有个叫mask属性的玩意儿好厉害吗?它能做出遮罩和切割效果,让图片部分看上去好像隐身了一样。虽然这货已经存在很久了,但还是没多少人会去用。不如今天就来学下如何运用mask属性,试试看更多好玩的东西!

{
    /* Image values */
    mask: url(mask.png);                       /* 使用位图来做遮罩 */
    mask: url(masks.svg#star);                 /* 使用 SVG 图形中的形状来做遮罩 */
}

{
    mask: linear-gradient(#000, transparent)   /* 使用渐变来做遮罩 */
}

基本用法

{
    background: url(image.png) ;
    mask: linear-gradient(90deg, transparent, #fff);
}

CSS新玩法!遮罩技能解锁,让图片神秘消失

CSS新玩法!遮罩技能解锁,让图片神秘消失

Mask属性就像隐形斗篷一样,可以通过图形或者渐变色把内容藏起来。举个例子,用线性渐变,让中间部分变成透明,四周涂黑,就能换颜色。虽然有点费劲,但效果真的很好,被遮住的部分就神奇地看不见了!

利用mask实现图片裁剪

.notching{
    width: 200px;
    height: 120px;
    background:
    linear-gradient(135deg, transparent 15px, deeppink 0)
    top left,
    linear-gradient(-135deg, transparent 15px, deeppink 0)
    top right,
    linear-gradient(-45deg, transparent 15px, deeppink 0)
    bottom right,
    linear-gradient(45deg, transparent 15px, deeppink 0)
    bottom left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

猜你可能不知道,mask属性除了遮挡作用外,还隐藏着不少高级技能!像把图片加上斜角遮罩,就会让它看起来特别酷!直接给mask添个渐变效果,再利用背景来裁剪出想要的角度,轻松就能打造出斜角效果。这不仅能让你的图片与众不同,更能引起大家的注意!

CSS新玩法!遮罩技能解锁,让图片神秘消失

多张图片叠加展示

background: url(image.png);
mask:
    linear-gradient(135deg, transparent 15px, #fff 0)
    top left,
    linear-gradient(-135deg, transparent 15px, #fff 0)
    top right,
    linear-gradient(-45deg, transparent 15px, #fff 0)
    bottom right,
    linear-gradient(45deg, transparent 15px, #fff 0)
    bottom left;
mask-size: 50% 50%;
mask-repeat: no-repeat;

CSS新玩法!遮罩技能解锁,让图片神秘消失

你知道吗?想要把很多图片巧妙地放在一起?用mask功能就对了!遮罩和混合模式随便玩儿,就能把不同的照片合到一起,变成超酷的独特效果。这不只是让网页变得好玩,还能提升观感简直太赞了!

动态转场效果

div {
    position: relative;
    background: url(image1.jpg);
 
    &::before {
        position: absolute;
        content: "";
        top: 0;left: 0; right: 0;bottom: 0;
        background: url(image2.jpg);
        mask: linear-gradient(45deg, #000 50%, transparent 50%);
    }
}

在讲CSS的时候,可能你会发现那mask属性超级实用。调调它就能控制照片的亮度,想怎么变动态转场都行,两张图之间过渡得超顺滑!而且用上像SASS或LESS这种预设工具的话,做个动态图像动画也特别简单,立刻就让网页看起来炫酷多了。

CSS新玩法!遮罩技能解锁,让图片神秘消失

与滤镜混合模式结合

{
- mask: linear-gradient(45deg, #000 50%, transparent 50%)
+ mask: linear-gradient(45deg, #000 40%, transparent 60%)
}

仅仅用mask属性还远远不够,试试滤镜和混合模式,一定会有意想不到的效果!通过多层堆叠,再搭配色彩处理,就能轻松弄出各种组合景致。使用叠加混合模式这些小工具,不只能让你的网页别具一格,还能让大家忍不住想驻足欣赏。这样一来,你的设计师技能up up,用户体验也更加舒适愉快!

CSS新玩法!遮罩技能解锁,让图片神秘消失

兼容性与发展趋势

你知道,虽然我们用CSS给mask加个属性挺炫的,但是现在还存在点儿兼容性问题!其实跟mask有关的好多属性都还是试验品,有点儿小毛病是正常哒。不过别太担心,随着网络科技和标准越来越完善,Mask属性和其他类似功能肯定会越来越好用哒!

div {
    background: url(image1.jpg);
    animation: maskMove 2s linear;
}

总结与展望

@keyframes {
  0% {
    mask: linear-gradient(45deg, #000 0%, transparent 5%, transparent 5%);
  }
  1% {
    mask: linear-gradient(45deg, #000 1%, transparent 6%, transparent 6%);
  }
  ...
  100% {
    mask: linear-gradient(45deg, #000 100%, transparent 105%, transparent 105%);
  }
}

了解了这篇文章后,就知道对于网页设计师来说,CSS的Mask属性真是个神器。有了它,能做的事情多了去了:比如简单的遮挡、调整图片边框,或者弄点好玩儿的动态特效,还能跟滤镜搭配营造出高级感。科技天天在变好,MASK属性还有很多秘密等你用。以后的网页设计可能会更有意思、更上档次。

div {
    position: relative;
    background: url(image2.jpg) no-repeat;
 
    &::before {
        position: absolute;
        content: "";
        top: 0;left: 0; right: 0;bottom: 0;
        background: url(image1.jpg);
        animation: maskRotate 1.2s ease-in-out;
    }
}
 
@keyframes maskRotate {
    @for $i from 0 through 100 {
        #{$i}% {
            mask: linear-gradient(45deg, #000 #{$i + '%'}, transparent #{$i + 5 + '%'}, transparent 1%);
        }
    }
}

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/04/13535.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?