Maison >interface Web >tutoriel CSS >Comment créer un élément asymétrique avec une bordure intérieure arrondie en CSS ?

Comment créer un élément asymétrique avec une bordure intérieure arrondie en CSS ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 00:58:29196parcourir

How to Create a Skewed Element with an Inner Rounded Border in CSS?

Incliner un élément avec une bordure intérieure arrondie

Vous souhaitez reproduire une conception graphique à l'aide de CSS, comportant un élément incliné avec un bordure intérieure arrondie. Bien que vous ayez réalisé une version statique utilisant deux éléments, vous rencontrez des difficultés pour la rendre réactive.

Pour créer cet effet, utilisons un seul élément :

<code class="css">.header {
  border-top: 20px solid blue;
  height: 100px;
  position: relative;
  overflow: hidden;
}</code>

Ensuite, ajoutez un pseudo-élément :before et :after pour créer la forme asymétrique :

<code class="css">.header:before,
.header:after {
  content: "";
  vertical-align: top;
  display: inline-block;
  transform-origin: top right;
  transform: skew(-40deg);
}</code>

Pour styliser la bordure intérieure arrondie, ajustez le pseudo-élément :before :

<code class="css">.header:before {
  height: 100%;
  width: 50%;
  border-radius: 0 0 20px 0;
  background: blue;
}</code>

Enfin , ajoutez le dégradé pour le coin arrondi intérieur en bas à droite :

<code class="css">.header:after {
  height: 20px;
  width: 20px;
  margin-left: -1px;
  background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}</code>

Cette approche combine la fonctionnalité des deux éléments en un seul élément, permettant une réactivité plus facile.

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:
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