利用CSS怎么创建渐变色边框?5种方法分享

利用css怎么创建渐变色边框?下面本篇文章给大家分享css实现渐变色边框的5种方法,希望对大家有所帮助!

利用CSS怎么创建渐变色边框?5种方法分享

给 border 设置渐变色是很常见的效果,实现这个效果有很多思路,今天把我所知道的方法罗列于此供大家参考。(学习视频分享:css视频教程、web前端)

1. 使用 border-image

CSS 提供了 border-image 属性用于给 border 绘制复杂图样,与 background-image 类似,我们可以在 border 中展示imagelinear-gradient

通过 border-image 设置渐变色 border 是最简单的方法,只需要两行代码:

CSS:

立即学习“前端免费学习笔记(深入)”;

div {  border: 4px solid;  border-image: linear-gradient(to right, #8f41e9, #578aef) 1;}/* 或者 */div {  border: 4px solid;  border-image-source: linear-gradient(to right, #8f41e9, #578aef);  border-image-slice: 1;}

Codepen demohttps://codepen.io/mudontire/pen/xxLxeZw

这种方式虽然简单但有个明显的缺陷,不支持设置 border-radius。接下来会介绍几种支持 border-radius 的方法。

2. 使用 background-image

使用 background-image 绘制渐变色背景,并且把中间用纯色遮住应该是最容易想到的一种方法,思路是:使用两个盒子叠加,给下层的盒子设置渐变色背景和 padding,给上层盒子设置纯色背景。

HTML:

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ratione necessitatibus numquam sunt nihil quos saepe sit facere. Alias accusamus voluptate accusantium facere fugiat animi temporibus adipisci! Corporis, accusamus tempora.

CSS:

立即学习“前端免费学习笔记(深入)”;

.border-box {  width: 300px;  height: 200px;  margin: 25px 0;}.border-bg {  padding: 4px;  background: linear-gradient(to right, #8f41e9, #578aef);  border-radius: 16px;}.content {  height: 100%;  background: #222;  border-radius: 13px; /*trciky part*/}

Codepen demo

https://codepen.io/mudontire/pen/ZEJEZoY

这种方式的优点是容易理解,兼容性好,缺点是设置 content 的 border-radius 会比较 tricky,且不准确。

3. 两层元素、background-imagebackground-clip

为了解决方法 2 中 border-radius 不准确的问题,可以使用一个单独的元素作为渐变色背景放在最下层,上层设置一个透明的 border 和纯色的背景(需要设置 background-clip: padding-box 以避免盖住下层元素的 border), 上下两层设置相同的 border-radius

HTML:

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ratione necessitatibus numquam sunt nihil quos saepe sit facere. Alias accusamus voluptate accusantium facere fugiat animi temporibus adipisci! Corporis, accusamus tempora.

CSS:

立即学习“前端免费学习笔记(深入)”;

.border-box {  border: 4px solid transparent;  border-radius: 16px;  position: relative;  background-color: #222;  background-clip: padding-box; /*important*/}.border-bg {  position: absolute;  top: 0;  right: 0;  left: 0;  bottom: 0;  z-index: -1;  margin: -4px;  border-radius: inherit; /*important*/   background: linear-gradient(to right, #8f41e9, #578aef);}

Codepen demo

https://codepen.io/mudontire/pen/yLoLrxL

4. 伪元素、方法3的简化

我们可以使用伪元素替换 div.border-bg 以简化HTML结构。

HTML:

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ratione necessitatibus numquam sunt nihil quos saepe sit facere. Alias accusamus voluptate accusantium facere fugiat animi temporibus adipisci! Corporis, accusamus tempora.

CSS:

立即学习“前端免费学习笔记(深入)”;

.border-box {  border: 4px solid transparent;  border-radius: 16px;  position: relative;  background-color: #222;  background-clip: padding-box; /*important*/}.border-box::before {  content: '';  position: absolute;  top: 0;  right: 0;  left: 0;  bottom: 0;  z-index: -1;  margin: -4px;  border-radius: inherit; /*important*/  background: linear-gradient(to right, #8F41E9, #578AEF);}

Codepen demo

https://codepen.io/mudontire/pen/JjyjVwN

5. 单层元素、background-clipbackground-originbackground-image

最后是我觉得最优雅的一种方法,只需要用到单层元素,为其分别设置 background-clipbackground-originbackground-image 这三个属性,每个属性设置两组值,第一组用于设置border内的单色背景,第二组用于设置border上的渐变色。

HTML:

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ratione necessitatibus numquam sunt nihil quos saepe sit facere. Alias accusamus voluptate accusantium facere fugiat animi temporibus adipisci! Corporis, accusamus tempora.

CSS:

立即学习“前端免费学习笔记(深入)”;

.border-box {  border: 4px solid transparent;  border-radius: 16px;  background-clip: padding-box, border-box;  background-origin: padding-box, border-box;  background-image: linear-gradient(to right, #222, #222), linear-gradient(90deg, #8F41E9, #578AEF);}

Codepen demo

https://codepen.io/mudontire/pen/wvqvZZO

目前就能想到这5种方法,个人推荐优先使用4和5,如果有其他更好的方法,欢迎大家补充。

更多编程相关知识,请访问:编程入门!!

以上就是利用CSS怎么创建渐变色边框?5种方法分享的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1621777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 07:37:03
下一篇 2025年12月24日 07:37:14

相关推荐

  • css怎么设置背景图片透明

    在css中,可以利用opacity属性来设置背景图片透明,该属性的作用就是设置元素的透明度,只需要给设置了背景图片的元素添加“opacity: 透明度值;”样式即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 在css中,可以利用opaci…

    2025年12月24日
    000
  • css常见问题:如何画多边形(三角形~六边形)

    利用纯css如何画多边形?本篇文章就来给大家介绍一下从纯css画三角形开始,介绍一下画四边形、五边形、六边形的方法,更高的实现方式也可以此类推画出来,希望对大家有所帮助! 今天要学习一下面试中常考的一个css题目,用css画多边形。 这一次以三角形、四边形、五边形、六边形为例,首先开始之前需要了解一…

    2025年12月24日 好文分享
    000
  • 初级篇:如何用CSS3制作爱心加载(代码详解)

    之前的文章《手把手教你使用CSS制作逼真的水波纹效果(附代码)》中,给大家介绍了怎么使用CSS制作逼真的水波纹效果。下面本篇文章给大家介绍如何用CSS3制作爱心加载,我们一起看看怎么做。 网页中常常有这样的CSS3爱心加载,给大家分享一下看效果图看完效果,我们来研究一下是怎么实现呢,给大家用于讲解h…

    2025年12月24日
    000
  • 新手篇:如何用CSS实现简单骨骼动画(代码分享)

    之前的文章《教你怎么使用shell脚本实现服务器快速设置(附代码)》中,给大家介绍了怎么使用shell脚本实现服务器快速设置。下面本篇文章给大家介绍如何用CSS实现简单骨骼动画,我们一起看看怎么做。 1、背景 某天设计师来找我说,“这个心愿牌傻傻地挂在那不好看,加个动效呗,就左右摆动一下就行,很简单…

    2025年12月24日 好文分享
    000
  • 深入解析CSS中的绝对定位,彻底理解它!

    本篇文章给大家解析一下css中的绝对定位,带大家彻底理解它,希望对大家有所帮助! 与其说定位一个元素是定位元素自身的位置,不如说是元素的容器位置。为了能够定位自己,它必须知道自己将相对于哪个父div 来定位。【相关推荐:《css视频教程》】 下面的代码展示了4个嵌套的 div , .box-1 到 …

    2025年12月24日 好文分享
    000
  • 如何利用CSS background系列属性实现一些花式的文字效果

    如何利用css实现花式文字效果?下面本篇文章给大家介绍一下利用 background 系列属性实现一些花式文字效果的方法,希望对大家有所帮助! 本文将讲解如何利用 background 系列属性,巧妙的实现一些花式的文字效果。通过本文,你将可以学到: 通过 background-size 与 bac…

    2025年12月24日 好文分享
    000
  • 手把手教你使用纯CSS绘制可爱玉兔(附代码)

    如何使用纯css画一只可爱玉兔?下面本篇文章就手把手教你使用纯css绘制可爱玉兔,希望对大家有所帮助! 这里有段小故事跟大家科普一下哦: 玉兔本是后羿,因为嫦娥奔月,而又思念后羿,后羿为了和嫦娥在一起,情愿变成了她最爱的小动物–玉兔.可惜嫦娥始终不知玉兔就是她日夜思念的后羿! 下面就让我…

    2025年12月24日
    000
  • 深入学习CSS中的 :is() 和 :where(),让样式代码更简洁!

    本篇文章带大家深入了解css中的两个比较高效的选择器,通过它们可以用更少的代码去更有效地选择元素,进而简化代码,下面一起来看看吧! 新人在入门CSS的时候,往往最困惑的就是两件事情(个人想法):1. CSS是基于文档流的,有些时候编写的代码,并不符合自己的预期!2.复杂的选择器,什么场景用什么选择器…

    2025年12月24日 好文分享
    000
  • CSS怎么实现瀑布流?两种方式介绍

    css怎么实现瀑布流?下面本篇文章给大家介绍一下使用css实现瀑布流的两种方式,希望对大家有所帮助! 瀑布流又称瀑布流式布局,是比较流行的一种网站页面布局方式。在手机端进行多图片展示时会经常用到。即多行等宽元素排列,后面的元素依次添加到其后,等宽不等高,根据图片原比例缩放直至宽度达到我们的要求,依次…

    2025年12月24日
    000
  • 给文字添加渐变、描边、投影效果的两种方式(CSS和SVG)

    本篇文章给大家介绍一下使用css和svg给文字添加渐变、描边、投影效果的方法,希望对大家有所帮助! 在一些 web 活动页中经常能看到特殊处理的标题文字,比如这样的 暂时忽略掉特殊字体,通过设计稿的图层样式可以发现,共有 3 个文字特效,分别是渐变、描边、投影 立即学习“前端免费学习笔记(深入)”;…

    2025年12月24日 好文分享
    000
  • 手把手带你通过5个例子来熟悉CSS变量!

    大家对css变量熟悉吗?如果不熟悉,不要紧!下面本篇文章就来给大家介绍一下css变量,通过5个例子来带大家熟悉css变量,希望对大家有所帮助! 随着 Web应用程序变得越来越大,CSS变得越来越大,越来越冗长,而且混乱不堪。 在良好的上下文中使用CSS变量,可为我们提供重用和轻松更改重复出现的CSS…

    2025年12月24日 好文分享
    000
  • 纯CSS做一个烟花绽放动画(代码示例)

    本篇文章带大家使用纯css做一个烟花绽放动画,希望对大家有所帮助! 最近项目上需要做一个烟花动画,要求是随机大小,不同地方出现,先看效果 一、选择合适的动画 什么样的场景决定使用什么样的动画。比如一些比较轻量、装饰性的动画,CSS 动画就足够了,而一些对动画要求比较高的运营活动,创意小游戏等,JS …

    2025年12月24日 好文分享
    000
  • css数字文本过长被隐藏了怎么办

    css数字文本过长被隐藏的解决方法:1、打开相应的HTML文件;2、使用“word-break”属性,给包含数字的元素添加“word-break:break-all;”样式,让数字文本自动换行即可全部显示出来即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、De…

    2025年12月24日 好文分享
    000
  • css怎么去掉表格重复的边框

    在css中,可以使用border-collapse属性来去掉表格中重复的边框,该属性可以设置表格边框是折叠为单一边框还是分开的,只需要将值设置为collapse即可把重叠的边框合并在一起,成为一个边框,实现单线边框的效果。 本教程操作环境:windows7系统、CSS3&&HTML5…

    2025年12月24日
    000
  • 巧用css filter的drop-shadow()函数创建线条光影效果

    本文将介绍一种利用 css 滤镜 filter 的 drop-shadow(),实现对 html 元素及 svg 元素的部分添加阴影效果,以实现一种酷炫的光影效果,用于各种不同的场景之中。 通过本文,你可以学到: 如何利用 filter: drop-shadow() 对元素的部分内容添加单重及多重阴…

    2025年12月24日 好文分享
    000
  • 让网站更酷炫的CSS filter使用小技巧,值得收藏!

    巧用css filter,可以让网站更加酷炫。本篇文章就来给大家分享一些css filter使用小技巧,希望对大家有所帮助! 下面就来开始本篇文章的内容吧! 我们在处理图片时,经常使用的一个功能就是滤镜,它能使一张图像呈现各种不同的视觉效果。 立即学习“前端免费学习笔记(深入)”; 在 CSS 中,…

    2025年12月24日 好文分享
    000
  • 用css怎么画树

    绘制方法:1、定义3个div标签,使用border属性将其修饰成3个大小不同的三角形;2、使用margin属性控制3个三角形的位置,形成树冠;3、定义1个div标签制作树干,使用margin属性将其定位到树冠下方即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、…

    2025年12月24日 好文分享
    000
  • css中如何将行元素转为块元素,块元素转为行元素

    css中可以利用display属性实现行元素和块元素的相互转换:给行元素添加“display:block;”样式可以将其转为块元素;给块元素添加“display:inline;”样式可以将其转为行元素。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电…

    2025年12月24日
    000
  • 怎么设置css文本不可选中

    css文本不可选中的设置方法:1、创建一个HTML示例文件;2、创建div并定义文字内容;3、通过设置“user-select: none;”属性来设置文本不可选中即可。 本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。 怎么设置css文本不可选中?…

    2025年12月24日
    000
  • css怎么写六边形

    css写六边形的方法:1、把正六边形分成三部分,然后设置before部分,p部分和after部分;2、把正六边形分成三个宽高相同的p,然后使用定位以及css3 transform:rotate分别向左右旋转60deg形成正六边形即可。 本文操作环境:windows7系统、HTML5&&amp…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信