Maison > interface Web > tutoriel CSS > Comment puis-je créer une découpe transparente en demi-cercle en utilisant uniquement CSS3 ?

Comment puis-je créer une découpe transparente en demi-cercle en utilisant uniquement CSS3 ?

Barbara Streisand
Libérer: 2024-12-27 16:53:16
original
426 Les gens l'ont consulté

How Can I Create a Transparent Half-Circle Cutout Using Only CSS3?

Création d'une découpe en demi-cercle transparent avec CSS3

Pour obtenir la forme de demi-cercle transparent souhaitée, où tous les éléments restent noirs ou transparents , une technique utilisant la pseudo propriété CSS ::after peut être employée.

L'astuce réside dans la combinaison astucieuse d'un rectangle noir et d'un cercle. Le rectangle sert de base, fournissant le fond noir. Par-dessus, un cercle est positionné de manière absolue et partiellement masquée à l'aide de la propriété overflow.

La clé de cette technique est le pseudo-élément ::after ajouté au cercle. Avec sa largeur et sa hauteur fixées à 100 px, il forme un demi-cercle parfait. Une bordure de 40 px d'épaisseur est appliquée, mais l'arrière-plan reste transparent.

En ajustant la position du pseudo-élément ::after, le demi-cercle peut être décalé vers le haut pour s'aligner avec le bord du rectangle, créant ainsi l'illusion d'une découpe.

Voici un exemple de code qui démontre cette technique :

body {
  background: green;
}

.rect {
  height: 100px;
  width: 100px;
  background: rgba(0, 0, 0, 0.5);
  position: relative;
  margin-top: 100px;
  margin-left: 100px;
}

.circle {
  display: block;
  width: 100px;
  height: 50px;
  top: -50px;
  left: 0;
  overflow: hidden;
  position: absolute;
}

.circle::after {
  content: '';
  width: 100px;
  height: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: -100px;
  left: -40px;
  border: 40px solid rgba(0, 0, 0, 0.5);
}
Copier après la connexion
<div class="rect">
  <span class="circle"></span>
</div>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal