如何在左右边框上放置两个线性渐变?
How do I put two linear-gradients on the left and right border?
我想创建一个黄色的 div,左右边框都比较宽。朝向 div 的外边缘,左右边框的颜色逐渐变细为白色以模拟透明度。
到目前为止,我已经能够构建 div,但不能构建梯度:
.fade {
margin: 2em 2em; padding-top: 2em; padding-bottom: 2em;
background: rgb(242,242,194);
border-right: 3em black solid;
border-left: 3em black solid;
border-image: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(242, 242, 194) 100%);
{
<div class="fade">Text</div>
发生的情况如上图所示:线性渐变正确地覆盖了黑色以形成黄色边框,但没有我正在寻找的淡入白色。事实上,根本没有渐变。
最终产品应如下所示:
我哪里错了?
如果您不熟悉渐变并且不想弄乱它们,您应该使用 Colorzilla 渐变工具:http://www.colorzilla.com/gradient-editor/
.fade {
margin: 2em 2em; padding-top: 2em; padding-bottom: 2em;
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 5%, rgb(242, 242, 194) 95%, white 100%);
}
<div class="fade">Text</div>
也许这样的东西会有用?
我会解释我所做的。
我删除了所有包含 border
的属性,我只使用了 background
。
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 5%, rgb(242, 242, 194) 95%, white 100%);
这个渐变有 4 个步骤:
- 第一步告诉我们渐变必须从白色开始。
- 第二步(元素宽度的5%)告诉渐变遵循黄色。
- 直到第三步(元素宽度的 95%)。
- 然后,在第四步中再次以白色结束。
注意这个百分比是针对宽度的,因为你已经将渐变旋转了 90 度,0 或 360 会影响渐变的高度部分。
最后一个细节,您需要在 div 中填充一些内容,以使文本看起来与您的照片完全一样。
div {
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 8%, rgb(242, 242, 194) 92%, white 100%);
padding: 15px;
margin: 30px;
}
p {
padding-left: 50px;
}
<div><p>Text</p></div>
我想创建一个黄色的 div,左右边框都比较宽。朝向 div 的外边缘,左右边框的颜色逐渐变细为白色以模拟透明度。
到目前为止,我已经能够构建 div,但不能构建梯度:
.fade {
margin: 2em 2em; padding-top: 2em; padding-bottom: 2em;
background: rgb(242,242,194);
border-right: 3em black solid;
border-left: 3em black solid;
border-image: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(242, 242, 194) 100%);
{
<div class="fade">Text</div>
发生的情况如上图所示:线性渐变正确地覆盖了黑色以形成黄色边框,但没有我正在寻找的淡入白色。事实上,根本没有渐变。
最终产品应如下所示:
我哪里错了?
如果您不熟悉渐变并且不想弄乱它们,您应该使用 Colorzilla 渐变工具:http://www.colorzilla.com/gradient-editor/
.fade {
margin: 2em 2em; padding-top: 2em; padding-bottom: 2em;
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 5%, rgb(242, 242, 194) 95%, white 100%);
}
<div class="fade">Text</div>
也许这样的东西会有用?
我会解释我所做的。
我删除了所有包含 border
的属性,我只使用了 background
。
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 5%, rgb(242, 242, 194) 95%, white 100%);
这个渐变有 4 个步骤:
- 第一步告诉我们渐变必须从白色开始。
- 第二步(元素宽度的5%)告诉渐变遵循黄色。
- 直到第三步(元素宽度的 95%)。
- 然后,在第四步中再次以白色结束。
注意这个百分比是针对宽度的,因为你已经将渐变旋转了 90 度,0 或 360 会影响渐变的高度部分。
最后一个细节,您需要在 div 中填充一些内容,以使文本看起来与您的照片完全一样。
div {
background: linear-gradient(90deg, white 0%, rgb(242, 242, 194) 8%, rgb(242, 242, 194) 92%, white 100%);
padding: 15px;
margin: 30px;
}
p {
padding-left: 50px;
}
<div><p>Text</p></div>