花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 121|回复: 32

CSS:mask之使用渐变背景做遮罩

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2024-1-13 12:49 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    CSS:mask之使用渐变背景做遮罩

    CSS渐变背景至少需要两种颜色参与,当我们设置其中一种颜色为透明色(transparent),便可实现mask用透明色遮挡元素背景的遮罩功能。下面我们先以径向渐变做个示范:

    /* css代码 */
    .mybox {
    	width: 450px;
    	height: 300px;
    	background: url('背景图片地址') no-repeat center/cover;
    	-webkit-mask: radial-gradient(circle at 60% center, black 40%, transparent 50%, transparent 0);
    }
    
    <!-- HTML代码 -->
    <div class="mybox"></div>
    

    在 mask 属性中,我们使用径向渐变 radial-gradient 设置同等于遮罩位图的效果,该径向渐变是个圆形(circle),圆心在 60% center 坐标处,颜色设两种(黑色和透明色)、三个渐变子项,它们都有百分比规定颜色的作用范围:黑色 40%,第一个透明色 50%,第二个透明色到结束位置,黑色到第一个透明色之所以这么设置,是为了让颜色的过渡有个缓变区间,40%~50%的地带是渐变的,这样能让颜色过渡不突兀(否则边缘会出现过大的过渡区间或锯齿)。黑色在径向渐变圆的中心,向四周发散到40%处开始过渡为透明,到50%处为全透明,如此,黑色部分遮罩下的底图得以呈现,透明部分遮罩的被剪裁掉,显示出来的圆形底图的边缘是慢慢过渡为透明的,整体看上去有立体圆球的感觉。

    我们再以线性渐变做一个示范:让两张堆叠在一起的图片融合为一个整体。

    /* css代码 */
    .mybox1 {
    	position: relative;
    	width: 450px;
    	height: 300px;
    	background: url('图片地址一') no-repeat center/cover;
    }
    .mybox1::before {
    	position: absolute;
    	content: '';
    	width: 100%;
    	height: 100%;
    	background: url('图片地址二') no-repeat center/cover;
    	-webkit-mask: linear-gradient(to right, red 50%, transparent 60%, transparent 0);
    }
    
    <!-- HTML代码 -->
    <div class="mybox1"></div>
    

    相同尺寸的宿主元素和伪元素,宿主元素会被伪元素覆盖,但当伪元素巧妙设置了 mask 属性,就会出现令人惊奇的“融合”效果。这里,我们为伪元素设置了 mask 属性,用了三个向右铺开的颜色子项,红色在 50% 处终止,这是伪元素呈现自己的底图的区间,这个区间之后是第一个透明色,该透明色在 60%处终止,然后是第二个透明色囊括剩余的区间。由于伪元素右边是透明色,伪元素的底图在这一区域不显示,就能露出宿主元素对应部分的底图。重要的地方是,在50%~60之间红色到第一个透明色的变化是渐变的,是这个渐变部分让两张背景图片的过渡几乎融为一体——当然,我们这个范例的效果还不是非常理想,想要做到更为完美的程度,或许需要更合适的图片和更精细的设置。

    最后补充说明一下:mask 属性最好加上 -webkit- 前缀以兼容Chromium内核较低的浏览器,或者,为保险起见,有前缀和没有前缀的都写上:

    mask: linear-gradient(to right, red 50%, transparent 60%, transparent 0);
    -webkit-mask: linear-gradient(to right, red 50%, transparent 60%, transparent 0);
    

    评分

    参与人数 3威望 +130 金钱 +260 经验 +130 收起 理由
    樵歌 + 50 + 100 + 50 赞一个!
    红影 + 50 + 100 + 50 赞一个!
    起个网名好难 + 30 + 60 + 30 赞一个!

    查看全部评分

  • TA的每日心情
    无聊
    2025-5-5 04:26
  • 签到天数: 597 天

    [LV.9]以坛为家II

    185

    主题

    5874

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥飞龙在天王者至尊大将风范音画大师天籁妙音花潮贵宾

    发表于 2024-1-13 13:13 | 显示全部楼层
    已经不知道要如何赞才好了。

                                   
    登录/注册后可看大图
    我就来看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-13 14:56 | 显示全部楼层
    这个遮罩真好,跟抠图似的,可以得到自己想要的部分,还能直接跟底图融合
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-13 14:59 | 显示全部楼层
    线性渐变看懂了,向右的就是宽度的50%吧,向上就是长度的。径向渐变里的百分比是参照的什么,短边的么?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-15 07:09
  • 签到天数: 647 天

    [LV.9]以坛为家II

    1375

    主题

    7万

    回帖

    13万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥多彩人生海样胸怀春风拂面青草情怀心曲飞扬七彩绚丽活泼开朗男儿情怀鹰傲苍穹共看流星风雨同行我心永远天长地久幸福快乐春意盎然喜乐安康心想事成周年庆指尖上的流年舞会之星情人节花潮管理

    发表于 2024-1-13 15:22 | 显示全部楼层
    俺终于看出点道道了,那健身的美女和河边照相的美女融和在一起了
    回复 支持 反对

    使用道具 举报

    醉美水芙蓉 该用户已被删除
    发表于 2024-1-13 16:51 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

    醉美水芙蓉 该用户已被删除
    发表于 2024-1-13 16:53 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

    醉美水芙蓉 该用户已被删除
    发表于 2024-1-13 16:54 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 17:31 | 显示全部楼层
    醉美水芙蓉 发表于 2024-1-13 16:53
    其实这个播放器溶图亚伦老师制作过,只不过方法好像没有黑黑老师的简单!

    实现方式会有很多
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 17:32 | 显示全部楼层
    樵歌 发表于 2024-1-13 15:22
    俺终于看出点道道了,那健身的美女和河边照相的美女融和在一起了

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 17:32 | 显示全部楼层
    起个网名好难 发表于 2024-1-13 13:13
    已经不知道要如何赞才好了。

    感谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 17:32 | 显示全部楼层
    红影 发表于 2024-1-13 14:56
    这个遮罩真好,跟抠图似的,可以得到自己想要的部分,还能直接跟底图融合

    不过,这和抠图还是有本质区别的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 17:39 | 显示全部楼层
    红影 发表于 2024-1-13 14:59
    线性渐变看懂了,向右的就是宽度的50%吧,向上就是长度的。径向渐变里的百分比是参照的什么,短边的么?

    径向渐变一般以元素中心(可定义圆弧中心位置)为出发点,默认以弧形(可定义为圆形(circle)向四周扩散。圆弧有半径,系统会自己计算短半径和长半径,我们如果不设置颜色的终止位置,它会将相邻的两种颜色融合在一个特定区域,形成颜色过渡,设置颜色终止位置,相邻两种颜色之间突兀过渡,至于参照,径向渐变以圆弧中心为参照。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2025-5-5 04:26
  • 签到天数: 597 天

    [LV.9]以坛为家II

    185

    主题

    5874

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥飞龙在天王者至尊大将风范音画大师天籁妙音花潮贵宾

    发表于 2024-1-13 18:40 | 显示全部楼层

    晚上好!

    transparent 0 可有可无吧?
    我就来看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-15 07:09
  • 签到天数: 647 天

    [LV.9]以坛为家II

    1375

    主题

    7万

    回帖

    13万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥多彩人生海样胸怀春风拂面青草情怀心曲飞扬七彩绚丽活泼开朗男儿情怀鹰傲苍穹共看流星风雨同行我心永远天长地久幸福快乐春意盎然喜乐安康心想事成周年庆指尖上的流年舞会之星情人节花潮管理

    发表于 2024-1-13 19:09 | 显示全部楼层

    要是弄个帅哥过去会肿么样
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-13 20:04 | 显示全部楼层
    醉美水芙蓉 发表于 2024-1-13 16:54
    红影美女你懂代码,先做个瞧瞧呢?

    我也不懂啊,我也是跟在后面学呢
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-13 20:05 | 显示全部楼层
    马黑黑 发表于 2024-1-13 17:32
    不过,这和抠图还是有本质区别的

    是的,还可以设置过渡部分,这个抠图做不了。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-13 20:07 | 显示全部楼层
    马黑黑 发表于 2024-1-13 17:39
    径向渐变一般以元素中心(可定义圆弧中心位置)为出发点,默认以弧形(可定义为圆形(circle)向四周扩散 ...

    这个我知道,我是说比如尺寸70%,是谁的尺寸?如果直接是数字好理解,比如200px就是从圆心出发的值。但是百分比少许有点迷糊。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-13 22:18 | 显示全部楼层
    红影 发表于 2024-1-13 20:07
    这个我知道,我是说比如尺寸70%,是谁的尺寸?如果直接是数字好理解,比如200px就是从圆心出发的值。但是 ...

    数学没学透

    百分比看用在什么地方。基于background和mask的 size 的百分比,比如 25% 50% / 81% 中的 81% 就是尺寸(background-size或mask-size),指背景图片或遮罩图片的宽高的比例。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-14 12:13 | 显示全部楼层
    马黑黑 发表于 2024-1-13 22:18
    数学没学透

    百分比看用在什么地方。基于background和mask的 size 的百分比,比如 25% 50% /  ...

    我就是不明白什么时候指的背景图什么时候指的遮罩图的啊。
    我还是先去试个玩玩吧,做了可能就知道了
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-15 12:32 , Processed in 0.082680 second(s), 29 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表