位置: IT常识 - 正文

CSS样式:渐变色圆角边框(css如何设置渐变色)

编辑:rootadmin
CSS样式:渐变色圆角边框 目录预期效果解决方法1.两层元素:外层渐变背景+圆角+内边距,里层圆角+背景色2.伪元素:background-clip属性+伪元素+定位+元素本身背景(以伪元素背景色做边框)3.单层元素: background-clip+background-iamge+background-origin番外:clip-path属性预期效果

推荐整理分享CSS样式:渐变色圆角边框(css如何设置渐变色),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:css如何设置渐变色,css渐变色设置,css实现渐变色,css样式颜色渐变属性,css渐变色代码 rgba,css样式颜色渐变属性,css渐变色代码 rgba,css样式渐变色,内容如对您有帮助,希望把文章链接给更多的朋友!

​​​​ 最近遇到一个css样式,最终需要实现渐变色+圆角的边框,最开始我的想法是通过border-image和border-radius实现这种效果,后来发现这两个属性竟然不兼容。 border-image border-image与border-radius属性分别可以实现渐变或圆角,但是不能一起用于渐变圆角边框(如图)。 官方给了一长串的解释,总的来说就是如果通过border-image属性给边框填充颜色,那么border-radius的裁剪效果就失效了。

贴了一个在线演示的地址,有兴趣的童鞋可以看一下 codepen演示地址:https://codepen.io/szy018/pen/MWGavvM

解决方法

反手贴一个在线地址,所有方法的代码都在里面,请自取。 codepen演示地址:https://codepen.io/szy018/pen/oNdjogm

1.两层元素:外层渐变背景+圆角+内边距,里层圆角+背景色CSS样式:渐变色圆角边框(css如何设置渐变色)

还是贴个代码吧,防止被骂:

<div class="example1 out"> <div class="in">两层元素</div> </div>.example1 { &.out { padding: 4px; border-radius: 99px; background: linear-gradient(to right, red, blue); } .in { width: 100%; height: 100%; background: #fff; border-radius: 99px; }}.box { width: 200px; height: 50px; line-height: 50px; text-align: center; margin-right: 20px;}

这种方法其实是将外层元素的内边距当作边框,由于外层元素背景是渐变色,视觉上就做到了渐变色的圆角边框。 由于是用内边距做的边框,多少会有点瑕疵,像下图(左边为内边距做边框),可以看到内边距左边框的内角没有真正的边框内角丝滑。 是因为这是两个元素且大小不一样,所以需要分别计算两个元素的圆角大小才能百分百还原边框。 缺点:这种方法需要里外两个元素,而且内容背景不可以透明(否则会暴露出外层元素的背景色)。最最重要的是内外层元素圆角大小需要计算(多少有点麻烦)。总的来说,不推荐(因为我就是用的这个方法)。

2.伪元素:background-clip属性+伪元素+定位+元素本身背景(以伪元素背景色做边框)

所有方法的代码都贴在那个地址里了哦,所有box类的样式都是一样的,这里就不贴了

<div class="example2 box">伪元素</div>.example2 { border: 4px solid transparent; position: relative; border-radius: 99px; background-color: #fff; background-clip: padding-box; &::before { content: ""; position: absolute; top: 0; right: 0; left: 0; bottom: 0; z-index: -1; margin: -4px; border-radius: 99px; background: linear-gradient(to right, red, blue); }}

background-clip属性非常好用,译名背景剪辑,它可以决定显示那一部分的元素背景,默认为border-box(边框及边框以内)。还有两个属性padding-box(内边距及内边距以内),content-box(文本内容区域)。 我们可以通过伪元素,将伪元素全部显示,而元素本身使用padding-box属性值,元素本身给一个透明色的边框,防止伪元素因为超出元素区域显示不出来。 就可以实现以下效果(显示的是伪元素的背景,但是区域是元素本身真实的边框区域) 缺点:和方法以一样,内容背景不可以透明

background-clip兼容性还是很好的:

3.单层元素: background-clip+background-iamge+background-origin

这个方法强烈推荐,简洁优雅

.example3 { border: 4px solid transparent; border-radius: 99px; background-clip: padding-box, border-box; background-origin: padding-box, border-box; background-image: linear-gradient(to right, #fff, #fff), linear-gradient(to right, #8f41e9, #578aef);}

背景属性都可以设置多个值,通过逗号分割。从左到右显示优先级依次递减,即先

本文链接地址:https://www.jiuchutong.com/zhishi/288926.html 转载请保留说明!

上一篇:锡安国家公园的秋色,犹他州 (© pabradyphoto/Getty Images)(80岁以上老年卡上的钱如何消费)

下一篇:圆顶礁国家公园里的希克曼桥,美国犹他州 (© Tim Fitzharris/Minden Pictures)(圆顶山遗址)

  • 淘宝开团提醒是啥意思(淘宝开团提醒是什么意思)

  • 苹果8更新13卡吗(苹果8手机升级13.3怎么样)

  • 红米k20pro接电话黑屏(红米k20pro电话接听方式设置)

  • 群主怎么踢人出QQ群(群主怎么踢人出群)

  • 手机wps可以设置不同页眉吗(手机wps可以设置动画吗)

  • 手机qq隐身会被发现吗(手机qq隐身会被看到吗)

  • 飞行模式微信能收到吗(飞行模式微信能收款吗)

  • iphone7基带坏的前兆(iphone7基带坏了还能用wifi吗)

  • 荣耀9X插内存卡会慢吗(荣耀9x插内存卡没反应)

  • 知乎永久禁言怎么恢复(知乎永久禁言怎么可以注销)

  • vivox21能单独换外屏吗(vivox21能换后壳吗)

  • 华为p20pro有OTG功能吗(华为p20pro有otj)

  • qq群为什么解散不了(qq群为什么解散不了群)

  • 手机信息显示怎样设置(手机信息显示怎么取消掉)

  • iphone11有没有指纹(iphone11有没有指纹解锁功能)

  • 苹果6支持nfc公交卡吗(iphone6p支持nfc)

  • 快手收藏的视频在哪里(快手收藏的视频怎么删除)

  • 红米k20pro支持typc耳机吗(红米k20Pro支持WiFi6)

  • 苹果11边框和xr一样吗(苹果11边框和12边框)

  • ldnaloo这是什么型号(loadina是什么意思)

  • 抖音推荐是啥意思(抖音的推荐功能真的很强大)

  • 什么叫闪电接头(什么叫闪电接头图片)

  • 洋淘秀什么意思(淘宝洋淘秀对买家有啥好处)

  • 小米商城怎么查看预约(小米商城怎么查看保修时间)

  • iphone管理扣款协议在哪(苹果手机的管理扣款项在哪里)

  • xr基带怎么查(xr怎么查询基带)

  • 路由器按了reset之后就没网了(路由器按了reset后连不上网了)

  • 苹果8p支持快充吗(苹果8p支持快充吗30w)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络