<p>我有以下的CSS:</p>
<pre class="brush:php;toolbar:false;">a.btn.white-grad {
background: $lgrey;
color: #313149 !important;
border: 1px solid #000;
border-image-source: linear-gradient(to right, #9c20aa, #fb3570);
border-image-slice: 20;
float: left;
@include font-size(26);
margin: 75px 0;
}</pre>
<p>添加 <code>border-radius: 5px</code> 似乎没有任何效果。我想这是因为我正在使用边框渐变... 是否有办法实现所需的5px边框半径?</p>
2023 - 单个元素,无伪元素,无SVG,无遮罩。
我不能为此负责,我在一个网站上看到的(我忘记了网站的名字,也找不到它了)。
inset的box-shadow来填充内部的白色body { background: aliceblue; } .gradient-border { border-radius: 24px; padding: 6px 12px; background-image: linear-gradient(90deg, red 0%, blue 100%); /* 填充内部白色 */ background-origin: border-box; box-shadow: inset 0 1000px white; /* 透明边框,所以按钮的边缘可以透过来显示 */ border: 2px solid transparent; }2021:如果你想要透明度,我建议使用CSS遮罩方法,因为现在的支持相当不错
你不能在渐变中使用
border-radius。这里有另一个想法,你可以依赖多个背景并调整background-clip:.white-grad { background: linear-gradient(#ccc 0 0) padding-box, /*这是你的灰色背景*/ linear-gradient(to right, #9c20aa, #fb3570) border-box; color: #313149; padding: 10px; border: 5px solid transparent; border-radius: 15px; display: inline-block; margin: 75px 0; }