Kann ich den Randradius bei Randbildern mit Farbverläufen verwenden?
P粉633733146
2023-08-29 12:52:01
<p>Ich entwerfe ein Eingabefeld mit einem kreisförmigen Rand (Randradius) und versuche, diesem Rand einen Farbverlauf hinzuzufügen. Ich kann erfolgreich Farbverläufe und kreisförmige Ränder erstellen, aber beides funktioniert nicht zusammen. Es handelt sich entweder um abgerundete Ecken ohne Farbverlauf oder um einen Rand mit Farbverlauf, aber ohne abgerundete Ecken. </p>
<pre class="brush:php;toolbar:false;">-webkit-border-radius: 5px;
-webkit-border-image: -webkit-gradient(linear, 0 0, 0 100 %, from(#b0bbc4), to(#ced9de)) 1 100 %;</pre>
<p>Gibt es eine Möglichkeit, zwei CSS-Eigenschaften zusammenarbeiten zu lassen, oder ist dies nicht möglich? </p>
这是可能的,并且它不需要额外的标记,但使用
::after
伪元素。它涉及在下面放置一个带有渐变背景的伪元素并对其进行裁剪。这适用于所有当前没有供应商前缀或 hack 的浏览器(甚至是 IE),但如果您想支持 IE 的复古版本,您应该考虑纯色后备、javascript 和/或自定义 MSIE CSS 扩展(即
过滤器
,CSSPie -如矢量欺骗等)。这是一个实例(jsfiddle 版本):
上面的额外样式是为了显示:
box-shadow
、inset
一起使用都可以正常工作同样,这适用于 IE、Firefox 和 Webkit/Blink 浏览器。
根据 W3C 规范,可能不可能:
这可能是因为
border-image
可以采用一些潜在的复杂模式。如果您想要圆形图像边框,则需要自己创建一个。