.gradient-border::after {
content: '';
box-sizing: border-box;
position: absolute;
top: -50%;
right: -50%;
bottom: -50%;
left: -50%;
transform: scale(0.5);
/* 圆角大小,注意scale的缩放*/
border-radius: 12px;
/* 边框大小,不能小于0.5,注意scale的缩放 */
padding: 2px;
/* 边框颜色 */
background: linear-gradient(#804cff, #3b63ff);
/* 核心,兼容性 ios2+ android2+ */
-webkit-mask: linear-gradient(#fff 0 100%) content-box,
linear-gradient(#fff 0 100%);
mask: linear-gradient(#fff 0 100%) content-box,
linear-gradient(#fff 0 100%);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
不用透明背景
clip-gradient-border {
border: 1px solid transparent;
border-radius: 6px;
background-clip: padding-box, border-box;
background-origin: padding-box, border-box;
/* 第一个渐变为内部背景色,第二个渐变为边框渐变色 */
background-image: linear-gradient(to right, #fff, #fff),
linear-gradient(90deg, #8f41e9, #578aef);
}