淘先锋技术网

首页 1 2 3 4 5 6 7

前言

边框(border),平时最常用的样式之一,它可以设置宽度、样式和颜色。以前需求都比较单纯,颜色使用单色就能满足要求,但是现在不一样了,用户审美提高了,要求就三点:好看!好看!还是TM的好看!OK,那么话不多说,直接进入正文。

正文

首先,对边框的颜色测试了线性渐变函数,发现果然是不支持的
在这里插入图片描述

伪类

这里选择使用伪类元素来实现效果
在这里插入图片描述
代码如下

.btn {
	position: relative;
	color: #23b7cb;
	font-size: 15px;
	padding: 5px 15px;
	background: #fff;
	border-style: hidden;
	border-radius: 30px;
}

.btn:after {
	content: '';
	position: absolute;
	top: -2px;
	bottom: -2px;
	left: -2px;
	right: -2px;
	background: linear-gradient(to right, #0396ff, #21f7e8);
	border-radius: 30px;
	z-index: -1;
}

边框图片(border-image)

border-image,顾名思义:指定边框的图片,这里可以传入线性渐变函数来实现渐变效果
在这里插入图片描述
代码如下

.btn {
	color: #23b7cb;
	font-size: 15px;
	padding: 5px 15px;
	border: 2px transparent solid;
	border-image: linear-gradient(to right, #0396ff, #21f7e8) 1 10;
}

虽然实现了渐变效果,但是它只能实现直角边框,无法使用border-radius来实现圆角效果,随后我查询到了 clip-path 裁剪属性,效果如下
在这里插入图片描述
代码如下

.btn {
	color: #23b7cb;
	font-size: 15px;
	padding: 5px 15px;
	border: 4px transparent solid;
	border-image: linear-gradient(to right, #0396ff, #21f7e8) 1 10;
	clip-path: inset(0 round 4px);
}

clip-path的更多用法请自行百度