Maison > interface Web > tutoriel CSS > Comment créer un hexagone avec bordure et remplissage à l'aide de superpositions CSS ?

Comment créer un hexagone avec bordure et remplissage à l'aide de superpositions CSS ?

Mary-Kate Olsen
Libérer: 2024-10-31 17:33:01
original
411 Les gens l'ont consulté

How to Create a Hexagon with Border and Fill Using CSS Overlays?

Création d'un hexagone avec bordure et remplissage

Les hexagones sont généralement créés à l'aide de bordures CSS via des pseudo-éléments. Bien qu'il ne soit pas directement possible de remplir un hexagone avec une couleur et de le délimiter avec une autre, une approche alternative consiste à superposer plusieurs hexagones les uns dans les autres.

Méthode de superposition

En superposant des hexagones, vous pouvez obtenir l'effet souhaité sans vous fier aux images. L'exemple suivant illustre cette méthode :

HTML :

<code class="html"><div class="hex">
    <div class="hex inner">
        <div class="hex inner2"></div>
    </div>
</div></code>
Copier après la connexion

CSS :

<code class="css">.hex {
    /* Define shape, size, and colors */
    margin-top: 70px;
    width: 208px;
    height: 120px;
    background: #6C6;
    position: relative;
}

.hex:before, .hex:after {
    /* Create hexagon shape */
    content: "";
    border-left: 104px solid transparent;
    border-right: 104px solid transparent;
    position: absolute;
}

.hex:before {
    top: -59px;
    border-bottom: 60px solid #6C6;
}

.hex:after {
    bottom: -59px;
    border-top: 60px solid #6C6;
}

.hex.inner {
    /* Style inner hexagon */
    background-color: blue;
    transform: scale(.8, .8);
    z-index: 1;
}

.hex.inner:before {
    border-bottom: 60px solid blue;
}

.hex.inner:after {
    border-top: 60px solid blue;
}

.hex.inner2 {
    /* Style innermost hexagon */
    background-color: red;
    transform: scale(.8, .8);
    z-index: 2;
}

.hex.inner2:before {
    border-bottom: 60px solid red;
}

.hex.inner2:after {
    border-top: 60px solid red;
}</code>
Copier après la connexion

Ce code crée trois hexagones superposés, chacun avec des couleurs et un z-index différents. valeurs. La propriété transform: scale() est utilisée pour diminuer proportionnellement les dimensions des éléments internes, créant ainsi un effet superposé.

Exemple en direct

Vous pouvez voir un exemple en direct de cette technique ici : [Exemple de bordure et de remplissage hexagonal](https://codepen.io/username/pen/wveBJp)

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