Les dégradés de bordure sont-ils compatibles avec le rayon de bordure ?
P粉824889650
2023-08-21 20:39:38
<p>Je stylise une zone de saisie avec une bordure arrondie (border-radius) et j'essaie d'ajouter un effet de dégradé à la bordure. Je peux réussir à créer des bordures dégradées et arrondies, mais pas les deux en même temps. Soit il y a des coins arrondis mais pas de dégradé, soit il y a un dégradé mais pas de coins arrondis. </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>Existe-t-il un moyen pour que ces deux propriétés CSS prennent effet en même temps, ou n'est-ce pas possible ? </p>
C'est possible et ne nécessite aucun balisage supplémentaire , mais l'utilisation d'un
::after
pseudo-élément .
Voici un exemple live (filter
, vecteur astuces comme CSSPie, etc.).version jsfiddle) :
Cela fonctionne sur n'importe quel arrière-plan-
Ça va avec -
Pas besoin d'ajouter des ombres aux pseudo-éléments-
Encore une fois, cela fonctionne dans les navigateurs IE, Firefox et Webkit/Blink.box-shadow
一起工作得很好,无论是否使用inset
Probablement pas possible, selon les spécifications du W3C :
Cela peut être dû au fait que
border-image
certains modèles potentiellement complexes peuvent être adoptés. Si vous souhaitez une bordure d’image circulaire, vous devez en créer une vous-même.