我需要创建一个边界颜色渐变,但不影响内容中的颜色。
<div className="parent background red">
<div className="box">
<div className="content">
Happy coding
</div>
</div>
</div>
//css
.parent{
background: red;
}
.box {
position: relative;
border-image: linear-gradient(#f6b73c, #4d9f0c) 1;
border-width: 1px;
border-style: solid;
border-radius: 15px;
}
.content {
background: transparent;
}
我想要边界渐变的颜色,并有半径,不影响内容内的颜色
2条答案
按热度按时间chhkpiq41#
要创建边框颜色渐变而不影响内部内容,您可以使用CSS border-image属性沿着线性渐变。以下是代码的更新版本,其中包含了必要的更改:
在CSS代码中,border-image属性用于定义边框的渐变。线性渐变函数指定渐变的颜色,在本例中,从#f6b73c到#4d9f0c。to right参数可确保水平应用渐变。渐变后的1值指定边框宽度。
通过保持内容背景透明(背景:透明;),渐变只会影响边框,而内部的内容不受影响。
iezvtpos2#
要在不影响内容内部颜色的情况下实现边框颜色渐变,可以使用
::before
伪元素创建渐变边框效果。HTML:
CSS:
.parent
类保持不变。.box
类被修改为删除border-image属性,取而代之的是它充当内容和::before
伪元素的容器。::before
伪元素以创建边界渐变效果。它的位置绝对覆盖.box
元素的整个区域。z-index
属性设置为-1,以将::before
伪元素放置在.content
元素之后。border-radius
属性同时应用于.box
元素和::before
伪元素,以保持圆角。border
特性设置为1 px实体以定义边框样式。border-image
属性用于从左到右应用颜色为#f6b73c和#4d9f0c的线性渐变。.content
类保持不变。通过这些更改,.box
元素将具有渐变边界,而.content
元素内部的内容保持不变。