Découpez un cercle à partir d'une forme rectangulaire en CSS
Une approche pour créer cet effet consiste à utiliser une combinaison d'éléments et un astucieux utilisation du rayon de bordure. Cependant, cette technique souffre d'inconvénients potentiels, tels qu'un balisage irrégulier et un espace inesthétique dans certains navigateurs.
Approche alternative
Heureusement, il existe une méthode alternative qui emploie un seul élément avec un pseudo-élément. Cette approche exploite la puissance des arrière-plans à dégradé radial pour l'élément parent, tandis que le pseudo-élément sert de découpe de cercle transparent.
Considérez l'extrait de code suivant :
div:before { /* creates the red circle */ position: absolute; content: ''; width: 90px; height: 90px; top: -75px; left: calc(50% - 45px); background-color: red; border-radius: 50%; } div { position: relative; margin: 100px auto 0 auto; width: 90%; height: 150px; border-radius: 6px; /* only the below creates the transparent gap and the fill */ background: radial-gradient(50px 50px at 50% -30px, rgba(0, 0, 0, 0) 49.5px, rgba(0, 0, 0, .8) 50.5px); }
Explication
Cette technique offre de nombreux avantages :
En mettant en œuvre cette approche alternative, vous pouvez découper efficacement un cercle à partir d'une forme rectangulaire en CSS, obtenir le résultat visuel souhaité sans les complexités et les pièges des méthodes précédentes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!