如何实现css渐变圆角边框

最近设计师的风格发生突变,一句话概括就是,能用渐变的地方绝对不用纯色。这不,就整出了一个渐变圆角边框。这渐变好做,圆角好做,渐变圆角也没问题,可是在加个边框还是有点坑的。没办法,看看怎么实现吧

border-image 缺陷不支持圆角

首先想到的是 border-image 的实现方式,用一个渐变作为 border-image:


border-image-source: linear-gradient(to right,#08fdd8,#F58549, red);

然而使用完 border-image 之后,border-radius 是无效的,达不到圆角的效果。

See the Pen gradient border button by Orzoon_Kunwar
(@orzoon) on CodePen.

你可能想到了借助 clip-path,但是 clip-path 只能切出外边的圆角,见下图:

background-image/background-clip

那么难道就没办法了吗?不,只要思想不滑坡,办法总比困难多~,借助上面标题中的两位,我们可以完美实现这个效果。background-image 大家应该都不陌生,那么 background-clip 又是个什么东东呢?

众所周知,盒模型中的三个 box:border-box,padding-box,content-box。当我们设置 background-image 时,默认是设置在 border-box 上的。但是借助 background-clip 我们可以实现将 background-image覆盖其他盒子,此外,他还支持多个盒子一起设置。这,这真的是太棒了。

于是,我们将content-box放一个白色渐变,在padding-box放一个好看的渐变,就得到如下效果:

See the Pen gradient-border by imgss
(@imgss) on CodePen.

嵌套和:after 伪类

那么,还有别的方案吗?最容易想到的是嵌套,外面的元素负责渐变,里面的元素负责纯色。伪类的实现原理也是一样的。这里就不详细展开了,参看下面的demo:

See the Pen Round Corners + Gradient Border by Rob
(@4cr3) on CodePen.

animation

有时候,设计师还想在边框上加一些动画,虽然我还没遇到,但是,有备无患嘛,下面是收集的一些例子:

https://codepen.io/luoyjx/pen/dWjxNP

https://codepen.io/akinzmn/pen/OeWoga

https://codepen.io/dominikcichon/pen/Gzwqbv

原文地址:https://www.cnblogs.com/imgss/p/11237170.html

时间: 2024-10-10 12:37:47

如何实现css渐变圆角边框的相关文章

纯CSS实现圆角边框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

兼容性极好的圆角边框

这是在网上看到比较好的兼容性的圆角边框,详见" 圆角边框 ". 现在要弄圆角边框,一般都是直接用border_radius,但是我们都很清楚这是CSS3的属性,兼容性不是那么完善,在ie8以及ie8以下的浏览器都是无效的,呈现出来的都是直角. 所以很多时候如果要做到兼容,很多时候会采用“滑动门”技术. 不过根据上面我收藏的代码可能会稍微多点,但也不失为一种纯CSS的圆角边框的方法. 而下面是我即将要改造到项目当中的,详见" 项目中的圆角边框 ”. 兼容性极好的圆角边框

CSS第四天总结 更多的属性 圆角 边框图片 段落属性 颜色渐变 盒子阴影

圆角边框: border-radius    一个值时表示四个角用的圆半径,4个值时分别是左上角.右上角.左下角.右下角,单位可以是px和百分比,百分比是半径相对于边框长度的比例 在CSS3中我们终于可以快捷地设置圆角,而且通过这个属性我们还可以做出圆.半圆.四分一圆.椭圆等图形. 常用的圆角效果: div{border-radius: 15px;} 两个值时,分别指水平方向的半径和垂直方向的半径,用/号隔开,如: div{border-radius:5px 3px 4px 2px/1px 2p

[css]《css揭秘》学习(四)-一个元素实现内圆角边框

如图所示的圆角边框有两个元素很好实现,用一个元素也可以实现. 1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>灵活的背景定位2</title> 5 <style type="text/css"> 6 div{ 7 max-width: 10em; 8 border-radius: .8em; 9 padding: 1em; 10 margi

CSS实现多重边框和内凹圆角

CSS实现多重边框 1 <!DOCTYPE html> 2 <html lang="zh-cn"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>CSS实现多重边框</title> 6 <style> 7 div { 8 width: 100px; 9 height: 150px; 10 margin: 40px auto; 11 text-a

圆角边框和渐变

Demo2\aa\src\main\res\drawable\bg_border.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"> 3 <!--设置背景色为透明色--> 4 <solid android:color="#

【CSS】圆角阴影边框CSS

.someClassName { width:300px; display: inline-block; padding: 5px 10px 6px; text-decoration: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5); -webkit-box-shadow: 0 1px 2px rgba

CSS圆角边框

1.圆角边框简介 就是通过border-radius属性对元素的四个角进行设置{属性不具有继承性}. border-radius有四个属性分别是top,left,right,bottom,可以进行设置像素.也可以直接设置一个值四边都是相等的. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</

CSS3下不一样的阴影、背景和圆角边框样式

CSS3下不一样的阴影.背景和圆角边框样式 CSS2.1 发布至今已有7年的历史.CSS3的出现就是增强CSS2.1的功能,减少图片的使用次数以及解决HTML页面上的特殊效果 当前,CSS3技术最适合在移动Web开发中使用的特性包括: ●增强的选择器 ●阴影 ●强大的背景设置 ●圆角边框 阴影: 现在的CSS3样式已经支持阴影样式效果.目前可使用的阴影的效果分为两种:文本内容的阴影效果和元素的阴影效果. box-shadow CSS3的box-shadow属性是让元素具有阴影的效果,其语法如下: