Maison > interface Web > tutoriel CSS > le corps du texte

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

Linda Hamilton
Libérer: 2024-11-01 15:13:31
original
243 Les gens l'ont consulté

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

Incliner l'élément CSS et obtenir une bordure intérieure arrondie en haut

Dans la conception Web, il peut être difficile de reproduire des éléments graphiques complexes avec précision et réactivité en utilisant CSS. L'un de ces défis consiste à créer un élément asymétrique avec une bordure intérieure arrondie en haut.

Définir la structure HTML

Tout d'abord, définissons la structure HTML :

<code class="html"><header>
  <nav></nav>
</header></code>
Copier après la connexion

Implémentation du CSS

Pour incliner l'élément et ajouter la bordure intérieure arrondie en haut, nous utiliserons le CSS suivant :

<code class="css">.header {
    border-top: 20px solid blue;
    height:100px;
    position: relative;
    overflow: hidden;
}
.header:before,
.header:after {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
}

.header:before {
    height: 100%;
    width: 50%;
    border-radius: 0 0 20px 0;
    background: blue;
}

.header:after {
    height: 20px;
    width: 20px;
    margin-left:-1px;
    background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}</code>
Copier après la connexion

Ce CSS crée un élément incliné qui sert de base à la bordure intérieure arrondie. Le pseudo-élément :before remplit la zone bleue avec un coin arrondi, tandis que le pseudo-élément :after ajoute l'effet de dégradé radial pour créer la bordure intérieure.

Combinaison de l'inclinaison et de la bordure intérieure

En combinant l'élément asymétrique et la bordure intérieure, nous obtenons l'effet souhaité :

<code class="css">.header {
    border-top: 20px solid blue;
    height:100px;
    position: relative;
    overflow: hidden;
}
.header:before {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
    height: 100%;
    width: 50%;
    border-radius: 0 0 20px 0;
    background: blue;
}
.header:after {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
    height: 20px;
    width: 20px;
    margin-left:-1px;
    background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}</code>
Copier après la connexion

Cette méthode nous permet de créer un élément réactif avec à la fois une forme inclinée et un arrondi intérieur bordure supérieure sans avoir besoin de plusieurs éléments. Cette approche offre une plus grande flexibilité et facilité de mise en œuvre.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!