🍊CSS如何设置同侧边框两种分层颜色

简介: 🍊CSS如何设置同侧边框两种分层颜色

最近在还原设计稿的过程中,遇到一个需求,将边框设置为两种固定的颜色,设计大概就长这样。👇


image.png


一、思路


首先我们很容易想到使用linear-gradient实现,毕竟八股文之如何使用CSS实现三角形有手动实现过很多次,其中一种方法是可以让渐变色设置成两种固定的颜色,然后将其中一个颜色设置为透明即可~ 那就正好带大家复习一下八股文吧~🕵️


width: 200px;
  height: 200px;
  background: linear-gradient(45deg, brown, brown 50%, lightblue 50%, lightblue 100%);
复制代码


image.png


将浅蓝色设为透明:


width: 200px;
  height: 200px;
  background: linear-gradient(45deg, brown, brown 50%, transparent 50%, transparent 100%);
复制代码


image.png


二、行动起来


上面我们已经使用linear-gradient成功在盒子背景上设置了两种固定的颜色,我们试试将它应用在我们的边框上吧,let's do it!


width: 200px;
  height: 200px;
  background: gray;
  border-left: 2px solid linear-gradient(45deg, brown, brown 50%, lightblue 50%, lightblue 100%);
复制代码


image.png


可是,居然没有生效欸,就很烦👳‍♂️


这时候,就需要查看MDN文档了,由于我们上面用的是简写写法,我们应该去找border-color,我们可以在文档中可以看到它的取值为color。


image.png


这里有个链接,我们点开瞅瞅,不瞅不知道,一瞅吓一跳,居然还有CSS数据类型。


image.png


后面查看文档知道原来还有这么多种CSS数据类型!是我才疏学浅了!



我们也找到了<gradient>数据类型,原来是数据类型不通的原因,所以不能应用在border-color上面。


难道在边框上不能使用渐变嘛,正当我想去尝试别的实现方案时,我突然看到了MDN对<gradient>数据类型的描述是:


<gradient>  是一种<image>CSS 数据类型的子类型,用于表现两种或多种颜色的过渡转变。


嗯哼😏,<image> CSS数据类型的子类型,我突然想到border-image这个属性,或许可以在这上面试试呢,说干就干,border-image: ,ctrl + x, ctrl + v, ctrl + s, alt + tab, F5。



width: 200px;
  height: 100px;
  background: gray;
  border-left: 4px solid ;
  border-image: linear-gradient(45deg, brown, brown 50%, lightblue 50%, lightblue 100%);
复制代码


一顿操作猛如虎,一看效果零杆五,还是没生效,人麻了。👻


继续看MDN对border-image的解释吧,我看下来是有点懵的,好像说了又好像啥也没说,最后收集资料,总算对border-image属性有了更深刻的认识,推荐大家看一下张鑫旭大大的这篇文章CSS3 border-image详解、应用及jQuery插件。 经过一番折腾终于搞定了!🤔 这里实现了两种分层颜色,如果想设置多种的话可以在linear-gradient上修改即可~


width: 200px;
  height: 100px;
  background: gray;
  border-left: 4px solid ;
  border-image: linear-gradient(0deg, brown, brown 50%, lightblue 50%, lightblue 100%) 2 2 2 2;
复制代码


image.png


在线运行地址可见:


image.png


最后


本文介绍了border以及linear-gradient相关的知识点的,我们学会了如何绘制三角形和生成花哨的边框~

如果这篇文章对你有帮助的话,麻烦点赞收藏哟~

笔者还有其他专栏,欢迎阅读~

相关文章
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
前端开发
css 设置背景色渐变、字体颜色渐变
css 设置背景色渐变、字体颜色渐变
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
948 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
前端开发 JavaScript UED
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
771 2
|
前端开发
零基础CSS入门教程(13)——边框样式
可以通过border-style设置边框样式,常用的有solid实线、dotted点线、dashed虚线三种。大家想必发现了,我们在设定边框样式时,一般都会同时设定边框样式、宽度、颜色,如果逐一定义,比较麻烦。我们前几个小结学习了有序列表无序列表,我们这一小节学习一下边框样式很重要的一个知识点。我们本小节学习了边框样式,内容有点多,大家要学会熟练使用,我们在开发中很常用。可以通过border-width调整边框的宽度,单位一般使用px像素。可以使用bolder-color指定边框的颜色,
零基础CSS入门教程(13)——边框样式
|
前端开发
CSS:去除input和button边框以及选中时边框默认样式
CSS:去除input和button边框以及选中时边框默认样式

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    671
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    531
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    545
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    339
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    630
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    815
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1611
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    384
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1327
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    645