Ok, donc tout le monde sait que vous pouvez créer un triangle en utilisant ceci:
#triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
Et cela produit un solide, rempli de triangle. Mais comment feriez-vous un triangle en forme de flèche de type creux, comme celui-ci?
html
css
css-shapes
Tommay
la source
la source
Réponses:
Vous pouvez utiliser le
before
ouafter
pseudo-élément et appliquer un CSS à elle. Il existe différentes manières. Vous pouvez ajouter à la foisbefore
etafter
, et faire pivoter et positionner chacun d'eux pour former l'une des barres. Une solution plus simple consiste à ajouter deux bordures uniquement à l'before
élément et à le faire pivoter à l'aide detransform: rotate
.Faites défiler vers le bas pour une solution différente qui utilise un élément réel au lieu des pseuso éléments
Dans ce cas, j'ai ajouté les flèches sous forme de puces dans une liste et utilisé des
em
tailles pour les faire dimensionner correctement avec la police de la liste.Bien sûr, vous n'avez pas besoin d'utiliser
before
ouafter
, vous pouvez également appliquer la même astuce à un élément normal. Pour la liste ci-dessus, c'est pratique, car vous n'avez pas besoin de balisage supplémentaire. Mais parfois, vous pouvez vouloir (ou avoir besoin) du balisage de toute façon. Vous pouvez utiliser undiv
ouspan
pour cela, et j'ai même vu des gens recycler l'i
élément pour des «icônes». Donc, ce balisage pourrait ressembler à ci-dessous. Il<i>
est discutable de savoir si l'utilisation pour cela est correcte, mais vous pouvez également utiliser span pour cela pour être du bon côté.Si vous cherchez plus d'inspiration, assurez-vous de consulter cette impressionnante bibliothèque d' icônes CSS pures par Nicolas Gallagher . :)
la source
border-color
, puisque la flèche n'est en fait pas un caractère mais une bordure. Pour le positionnement, vous pouvez ajouterposition: relative
à la flèche et la déplacer en utilisanttop
etleft
. J'ai montré à la fois dans le premier extrait de code modifié et le positionnement dans le deuxième extrait. Notez la belle combinaisonli:hover::before
qui fait référence aubefore
pseudo-élément d'un élément de liste survolé.0
par lui-même, vous auriez donc besoin d'une marge négative pour annuler tout espace blanc. Par exemple, dans le deuxième extrait de code, vous pouvez ajoutermargin-left: -0.4em;
pour placer la flèche à côté du mot précédent sans espace.Cela peut être résolu beaucoup plus facilement que les autres suggestions.
Dessinez simplement un carré et appliquez une
border
propriété à seulement 2 côtés de jonction.Ensuite, faites pivoter le carré selon la direction dans laquelle vous voulez que la flèche pointe, par exemple:
transform: rotate(<your degree here>)
la source
Chevrons / flèches réactifs
ils se redimensionnent automatiquement avec votre texte et sont colorés de la même couleur. Plug and play :)
jsBin Demo Playground
la source
v. 6.2.0 September 2012 1
jeu deUTF-8
caractères Unicode monte à 110182, et maintenant HTML5 et UTF-8 par défaut et semble que notre personnage a l'air bien: unicode.org/Public/UNIDATA/UnicodeData.txt\231d
personnage peut être disponible ici, mais pas sur un Mac ou un appareil Android. La version HTML et le codage des réponses n'ont rien à voir avec cela.Voici une approche différente:
1) Utilisez le caractère de multiplication:
×
×2) Cachez-en la moitié avec
overflow:hidden
3) Ajoutez ensuite un triangle comme pseudo élément pour la pointe.
L'avantage ici est qu'aucune transformation n'est nécessaire. (Cela fonctionnera dans IE8 +)
VIOLON
la source
Utilisez juste avant et après les pseudo-éléments - CSS
la source
Une autre approche utilisant des bordures et aucune propriété CSS3 :
la source
>
lui-même est une flèche très merveilleuse! Ajoutez simplement un div avec et stylisez-le.la source
Flèche gauche droite avec effet de survol en utilisant Roko C. Buljan box-shadow trick
la source
J'avais besoin de changer
input
une flèche dans mon projet. Voici le travail final.Ici Fiddle
la source
Similaire à Roko C, mais un peu plus de contrôle sur la taille et le placement.
la source