Hexagone forme avec un border/contour
Je sais que c'est possible de créer un hexagone forme en utilisant le code suivant:
.hex:before {
content: " ";
width: 0; height: 0;
border-bottom: 30px solid #6C6;
border-left: 52px solid transparent;
border-right: 52px solid transparent;
position: absolute;
top: -30px;
}
.hex {
margin-top: 30px;
width: 104px;
height: 60px;
background-color: #6C6;
position: relative;
}
.hex:after {
content: "";
width: 0;
position: absolute;
bottom: -30px;
border-top: 30px solid #6C6;
border-left: 52px solid transparent;
border-right: 52px solid transparent;
}
Comment puis-je créer un hexagone qui est rempli avec une couleur, et le contour avec un autre? Je suis en train de jouer avec lui, mais il ne semble pas être possible.
D'autres alternatives sont les bienvenus, je voudrais éviter à l'aide d'images.
- Jetez un oeil à cette css hexagone tutoriel jtauber.github.io/articles/css-hexagon.html
- C'est exactement là où j'ai pris le code si. Mon problème est que au lieu d'avoir un vert hexagone, je voudrais un blanc hexagone avec un contour vert.
- veuillez faire tripoter pour votre question, il sera plus facile de travailler sur.
- Serait-ce suffisant? J'ai inclus le code je l'ai mentionné dans l'OP. jsfiddle.net/uTfCY
Vous devez vous connecter pour publier un commentaire.
Il n'est pas directement possible pour atteindre cet objectif, comme les hexagones sont créés par des frontières par le biais de pseudo-éléments. Une alternative serait de superposer les hexagones dans les hexagones, de manière à atteindre les mêmes résultats souhaités.
Voici un exemple de ce qui peut être réalisé:
LIVE EXEMPLE ICI
HTML - assez basique, poursuivre sur le même schéma pour plus de frontières.
CSS (trois couches - deux éléments internes)
Commencer avec l'hexagone de classe, la définition de la forme/taille/couleurs:
Style de l'intérieur de la classe et de l'utilisation
transform: scale()
pour réduire proportionnellement les dimensions des éléments internes. Dans cet exemple, une échelle descale(.8, .8)
est utilisé. Si vous voulez plus épais frontières, de diminuer le nombre; à l'inverse, si vous souhaitez plus mince frontières, à augmenter le nombre.Spécifier et de remplacer les couleurs, aussi augmenter le
z-index
d'apporter une valeur de l'élément avant.Style le deuxième élément imbriqué, essentiellement en suivant les mêmes étapes que la dernière fois. Il vaut la peine rien que la même
scale
valeur est utilisée, car il est dans une déjà mis à l'échelle de l'élément. Bien sûr, vous pouvez utiliser ce que vous voulez; c'est juste un exemple de base.De nouveau, live exemple ici
Voici une autre méthode pour créer des hexagones à la frontière (ou contour) à l'aide de la
clip-path
fonctionnalité. Dans cette méthode, on utilise un élément de conteneur et d'un pseudo-élément qui a des dimensions plus petites (les deuxheight
etwidth
) que le conteneur. Lorsque le mêmeclip-path
est appliqué à la fois les éléments, labackground-color
de l'élément conteneur est vu derrière le pseudo-élément uniquement sur les bords et la fait ressembler à un border/contour de la forme.Avantages:
background
.CSS:
HTML:
La inconvénient majeur est le la mauvaise prise en charge du navigateur à l'heure actuelle. CSS
clip-path
ne fonctionnent pas sous IE et FF actuellement. Le problème avec FF peut être fixé à l'aide d'un SVG (en ligne ou externe) pour leclip-path
(comme dans l'extrait de code ci-dessous):CSS:
HTML:
Fait avec la mise en place de la forme hexagonale sur le dessus de l'autre. où le noir de l'Hexagone en bas et blanc en haut.
Voici le résultat
jsFiddle ici
Seulement sera comme un
border
Vous pouvez créer à l'aide d'un seul élément, à l'aide de
scaleX
etrotate
transforme. Il utilise la même méthode que celle utilisée ici, mais avec un pseudo-élément sur le dessus.Violon
CSS:
HTML:
Vous pouvez même ajouter un effet de transition sur le vol stationnaire à cet hexagone : Violon (en passant le curseur de la transition)
L'inconvénient de l'utilisation de la boîte-ombres ici, c'est qu'ils créer visible bords irréguliers sur Firefox.
Viens de trouver ce lien pour un hexagone designer que vous pouvez copier le code html et css de pour obtenir ce que vous voulez. J'ai pensé le laisser ici pour quelqu'un d'autre de venir à travers ce post.
Donc, utiliser l'outil, afin d'avoir un fond blanc hexagone avec un contour vert:
CSS:
HTML: