Ok, então todos sabem que você pode fazer um triângulo usando isto:
#triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
E isso produz um triângulo sólido preenchido. Mas como você faria um triângulo em forma de seta do tipo oco, como este?
html
css
css-shapes
Tommay
fonte
fonte
Respostas:
Você pode usar o
before
ouafter
pseudo-elemento e aplique um pouco de CSS para ele. Existem várias maneiras. Você pode adicionarbefore
eafter
, e girar e posicionar cada um deles para formar uma das barras. Uma solução mais fácil é adicionar duas bordas apenas aobefore
elemento e girá-lo usandotransform: rotate
.Role para baixo para uma solução diferente que usa um elemento real em vez dos elementos pseuso
Nesse caso, adicionei as setas como marcadores em uma lista e usei os
em
tamanhos para fazê-los dimensionar adequadamente com a fonte da lista.Claro que você não precisa usar
before
ouafter
, pode aplicar o mesmo truque a um elemento normal também. Para a lista acima, é conveniente, porque você não precisa de marcação adicional. Mas às vezes você pode querer (ou precisar) a marcação de qualquer maneira. Você pode usar umdiv
ouspan
para isso, e eu até vi pessoas reciclarem oi
elemento para 'ícones'. Portanto, essa marcação pode ser semelhante a abaixo. Se usar<i>
para isso está certo é discutível, mas você pode usar span para isso também por segurança.Se você busca mais inspiração, não deixe de conferir esta incrível biblioteca de ícones CSS puros de Nicolas Gallagher . :)
fonte
border-color
, uma vez que a seta na verdade não é um caractere, mas uma borda. Para o posicionamento, você pode adicionarposition: relative
à seta e movê-la usandotop
eleft
. Eu mostrei tanto no primeiro snippet modificado, quanto o posicionamento também no segundo snippet. Observe a bela combinaçãoli:hover::before
que se refere aobefore
pseudoelemento de um item de lista suspenso.0
si mesmo, então você precisaria de uma margem negativa para cancelar qualquer espaço em branco. Por exemplo, no segundo trecho, você pode adicionarmargin-left: -0.4em;
para colocar a seta ao lado da palavra anterior sem nenhum espaço.Isso pode ser resolvido muito mais facilmente do que as outras sugestões.
Simplesmente desenhe um quadrado e aplique uma
border
propriedade a apenas 2 lados de união.Em seguida, gire o quadrado de acordo com a direção que você deseja que a seta aponte, por exemplo:
transform: rotate(<your degree here>)
fonte
Chevrons / setas responsivos
eles são redimensionados automaticamente com o seu texto e são coloridos da mesma cor. Plug and play :)
playground de demonstração jsBin
fonte
v. 6.2.0 September 2012 1
UnicodeUTF-8
definidos aumentam para 110182, e agora tendo HTML5 e o UTF-8 padrão e a aparência, nosso personagem está com boa aparência: unicode.org/Public/UNIDATA/UnicodeData.txt\231d
personagem pode estar disponível aqui, mas não em um Mac ou dispositivo Android. A versão HTML e a codificação da resposta não têm nada a ver com isso.Aqui está uma abordagem diferente:
1) Use o caractere de multiplicação:
×
×2) Esconder a metade com
overflow:hidden
3) Em seguida, adicione um triângulo como um pseudoelemento para a ponta.
A vantagem aqui é que nenhuma transformação é necessária. (Funcionará no IE8 +)
FIDDLE
fonte
Use apenas antes e depois dos Pseudo-elementos - CSS
fonte
Outra abordagem que usa bordas e nenhuma propriedade CSS3 :
fonte
>
em si é uma flecha muito maravilhosa! Basta acrescentar um div com ele e estilizá-lo.fonte
Seta para a esquerda para a direita com efeito de foco usando o truque de sombra de caixa de Roko C. Buljan
fonte
Eu precisava mudar um
input
para uma flecha no meu projeto. Abaixo está o trabalho final.Aqui Fiddle
fonte
Semelhante ao Roko C, mas com um pouco mais de controle sobre o tamanho e o posicionamento.
fonte