Ok, entonces todos saben que puedes hacer un triángulo usando esto:
#triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
Y eso produce un triángulo relleno sólido. Pero, ¿cómo harías un triángulo con forma de flecha de tipo hueco, como este?
html
css
css-shapes
Tommay
fuente
fuente
Respuestas:
Se puede utilizar el
before
oafter
pseudo-elemento y aplicar un poco de CSS a la misma. Hay varias formas. Puede agregar ambosbefore
yafter
, y rotar y colocar cada uno de ellos para formar una de las barras. Una solución más sencilla es agregar dos bordes solo albefore
elemento y rotarlo usandotransform: rotate
.Desplácese hacia abajo para obtener una solución diferente que use un elemento real en lugar de los elementos pseuso
En este caso, agregué las flechas como viñetas en una lista y usé
em
tamaños para que se ajusten correctamente a la fuente de la lista.Por supuesto, no es necesario usar
before
oafter
, también puede aplicar el mismo truco a un elemento normal. Para la lista anterior es conveniente, porque no necesita marcado adicional. Pero a veces es posible que desee (o necesite) el marcado de todos modos. Puedes usar undiv
ospan
para eso, e incluso he visto a personas reciclar eli
elemento para 'íconos'. De modo que ese marcado podría verse a continuación.<i>
Es discutible si usarlo para esto es correcto, pero también puede usar span para esto para estar seguro.Si busca más inspiración, asegúrese de consultar esta increíble biblioteca de íconos CSS puros de Nicolas Gallagher . :)
fuente
border-color
, ya que la flecha no es en realidad un carácter sino un borde. Para el posicionamiento, puede agregarposition: relative
a la flecha y moverla usandotop
yleft
. He mostrado tanto en el primer fragmento modificado como el posicionamiento también en el segundo fragmento. Tenga en cuenta la bonita combinaciónli:hover::before
que se refiere albefore
pseudoelemento de un elemento de lista flotante.0
por sí mismo, por lo que necesitaría un margen negativo para cancelar cualquier espacio en blanco. Por ejemplo, en el segundo fragmento, puede agregarmargin-left: -0.4em;
para colocar la flecha junto a la palabra anterior sin ningún espacio.Esto se puede resolver mucho más fácilmente que las otras sugerencias.
Simplemente dibuje un cuadrado y aplique una
border
propiedad a solo 2 lados de unión.Luego, gire el cuadrado de acuerdo con la dirección en la que desea que apunte la flecha, por ejemplo:
transform: rotate(<your degree here>)
fuente
Chevrones / flechas sensibles
que cambian de tamaño automáticamente con el texto y son de color del mismo color. Plug and play :)
juegos de demostración jsBin
fuente
v. 6.2.0 September 2012 1
conjunto deUTF-8
caracteres Unicode se elevó a 110182, y ahora tenemos HTML5 y el UTF-8 predeterminado y se ve, nuestro personaje se ve bien: unicode.org/Public/UNIDATA/UnicodeData.txt\231d
personaje podría estar disponible aquí, pero no en una Mac o un dispositivo Android. La versión HTML y la codificación de respuesta no tienen nada que ver con eso.Aquí hay un enfoque diferente:
1) Utilice el carácter de multiplicación:
×
×2) Esconde la mitad con
overflow:hidden
3) Luego agregue un triángulo como un pseudo elemento para la punta.
La ventaja aquí es que no se necesitan transformaciones. (Funcionará en IE8 +)
VIOLÍN
fuente
Solo use antes y después de los pseudo-elementos - CSS
fuente
Otro enfoque que usa bordes y no propiedades CSS3 :
fuente
>
en sí es una flecha muy maravillosa! Simplemente anteponga un div y modifíquelo.fuente
Flecha izquierda derecha con efecto de desplazamiento con el truco de sombra de cuadro de Roko C. Buljan
fuente
Necesitaba cambiar
input
una flecha por una en mi proyecto. A continuación se muestra el trabajo final.Aquí violín
fuente
Similar a Roko C, pero un poco más de control sobre el tamaño y la ubicación.
fuente