如何捕捉 border-image-slice 中的两个底角?
How to capture two bottom corners in border-image-slice?
我正在尝试使用 border-image CSS 添加渐变作为我网站 header 的底部边框。渐变需要填满宽度的 100%。
我可以使用 border-image-width 和 border-image-slice 获得渐变来填充底部边框的大部分,但出于某种原因,它将两个底角排除为白色 space。我怎样才能让渐变在一个流中跨越所有底部?
我试过完全删除 border-image-slice 并且填充了两个底角但忽略了底部边框的其余部分。
{
border-image-width: 0 0 10px 0 auto;
-moz-border-image: -moz-linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
-webkit-border-image: -webkit-linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
border-image: linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
border-image-slice: 0 0 1 0;
}
似乎将 border-image-width 和 border-image-slice 都设置为“0 0 X 0”应该只会显示底部。目前很好。但是,这也删除了两个底角,因此有几个白色像素 space 阻止渐变从站点的一个边缘流到另一个边缘。奇怪的是,当我完全删除 bottom-image-slice 时,只有两个底角显示渐变。我需要渐变从左下角开始,一直穿过底部到右下角。
考虑一个覆盖透明边框的背景,这样会更容易处理:
.box {
height: 50px;
border-bottom:10px solid transparent;
background:
linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%) bottom/100% 10px border-box no-repeat,
red;
}
<div class="box"></div>
切片的问题是,如果您想要 bottom/left 角,您还需要底部和左侧边缘,而不仅仅是底部边缘。
相关,更好理解border-image-slice
背后的逻辑:
我正在尝试使用 border-image CSS 添加渐变作为我网站 header 的底部边框。渐变需要填满宽度的 100%。
我可以使用 border-image-width 和 border-image-slice 获得渐变来填充底部边框的大部分,但出于某种原因,它将两个底角排除为白色 space。我怎样才能让渐变在一个流中跨越所有底部?
我试过完全删除 border-image-slice 并且填充了两个底角但忽略了底部边框的其余部分。
{
border-image-width: 0 0 10px 0 auto;
-moz-border-image: -moz-linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
-webkit-border-image: -webkit-linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
border-image: linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%);
border-image-slice: 0 0 1 0;
}
似乎将 border-image-width 和 border-image-slice 都设置为“0 0 X 0”应该只会显示底部。目前很好。但是,这也删除了两个底角,因此有几个白色像素 space 阻止渐变从站点的一个边缘流到另一个边缘。奇怪的是,当我完全删除 bottom-image-slice 时,只有两个底角显示渐变。我需要渐变从左下角开始,一直穿过底部到右下角。
考虑一个覆盖透明边框的背景,这样会更容易处理:
.box {
height: 50px;
border-bottom:10px solid transparent;
background:
linear-gradient(to right, #3acfd5 0%, #3a4ed5 100%) bottom/100% 10px border-box no-repeat,
red;
}
<div class="box"></div>
切片的问题是,如果您想要 bottom/left 角,您还需要底部和左侧边缘,而不仅仅是底部边缘。
相关,更好理解border-image-slice
背后的逻辑: