此问题已在此处有答案:
Border Gradient with Border Radius(2个答案)
4天前关闭。
我想创建线性渐变边框,圆角和透明背景边界。
我有:
.btn-gradient-1 {
border-width: 4px;
border-style: solid;
border-image: linear-gradient(to right, darkblue, darkorchid) 1;
}
.btn-gradient-2 {
background: linear-gradient(white, white) padding-box, linear-gradient(to right, darkblue, darkorchid) border-box;
border-radius: 50em;
border: 4px solid transparent;
}
.parent {
display: flex;
flex-wrap: wrap;
gap: 1rem;
background-color: red
}
<div class="parent">
<button class="btn-gradient-1">Button One</button>
<button class="btn-gradient-2">Button Two</button>
</div>
问题是linear-gradient
不接受transparent
颜色值。是否有任何破解?按钮必须具有透明背景。
https://jsfiddle.net/c3ogjrzh/
2条答案
按热度按时间h7wcgrx31#
试试这个:
对于
background
,我使用了linear gradient
和radial gradient
的组合。background-origin
和background-clip
属性用于指定linear gradient
应该只填充按钮的padding
区域,而radial gradient
应该填充border
区域。我将我的样式应用于第一个button
。trnvg8h32#
要添加透明度,我们使用
rgba()
函数来定义颜色停止。rgba()
函数中的最后一个参数可以是从0到1的值,它定义了颜色的透明度:0表示完全透明,1表示全色(无透明)。您的透明度将从
darkblue
(0 0 153)到darkorchid
(153 50 204)