使用background-clip解决半透明边框被背景色渗透问题

1. 问题描述及解决

在给元素设置半透明边框时发现边框颜色和预期效果不一致,发现边框颜色被背景色渗透了。默认状态下,背景会延伸到边框的区域下层。

右侧图为预期效果,左侧图为实际效果:
image

此处设置了边框颜色为粉色半透明,而实际效果被背景色渗透。

关键样式代码如下:

.transparent-border {
background-color: #55ffff;
border: 5px solid rgba(255, 158, 254, 0.5);
}

添加background-clip之后:

.transparent-border {
background-color: #55ffff;
background-clip: padding-box;
border: 5px solid rgba(255, 158, 254, 0.5);
}

2. 关于background-clip

MDN链接地址 点击这里

定义:

background-clip 设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。

语法:

/* Keyword values */
background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;
background-clip: text;
/* Global values */
background-clip: inherit;
background-clip: initial;
background-clip: unset;

详细:

属性值 描述
border-box 背景延伸至边框外沿(但是在边框下层)。
padding-box 背景延伸至内边距(padding)外沿。不会绘制到边框处。
content-box 背景被裁剪至内容区(content box)外沿。
text 背景被裁剪成文字的前景色。
posted @   Li_pk  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示