Estou usando a fonte awesome em algum projeto, mas tenho algumas coisas que quero fazer com ícones impressionantes da fonte, posso chamar facilmente um ícone como este:
<i class="fa fa-lock"></i>
É possível que todos os ícones estejam sempre em círculo redondo com borda? Algo assim, eu tenho uma foto:
Usando
i {
background-color: white;
border-radius: 50%;
border: 1x solid grey;
padding: 10px;
}
Isso causará o efeito, mas o problema é que os ícones são sempre maiores que o texto ou o elemento ao lado, alguma solução?
css
font-awesome
Schneider
fonte
fonte
border-radius
deve arredondar o elemento. Qual navegador você usa? atualizou minha resposta com prefixosi
tiver conteúdo. Geralmente, com a FA, você não tem conteúdo na tag i, mas o ícone é renderizado pelo CSS posteriormente:<i class="fa fa-lock"></i>
e é isso que o @Schneider realmente pediu.Com o Font Awesome, você pode facilmente usar ícones empilhados como este:
consulte Font Awesome Stacked Icons
Atualização: - Violino para ícones empilhados
fonte
<span class="fa-stack fa-lg"> <i class="fa fa-circle-thin fa-stack-2x"></i> <i class="fa fa-stack-1x">1</i> </span>
Você não precisa de truques de css ou html para isso. Font Awesome foi construído em classe para isso - fa-circle Para empilhar vários ícones, você pode usar a classe fa-stack na div pai
// E agora temos o ícone do facebook dentro do círculo :)
fonte
Ícone da fonte em um círculo usando
em
como medida básicase você usar o ems para as medidas, incluindo
line-height
,font-size
eborder-radius
, comtext-align: center
isso, torna as coisas bastante sólidas:fonte
Atualização: use o flex.
Se você quer precisão, este é o caminho a percorrer.
Violino. Go Play -> http://jsfiddle.net/atilkan/zxjcrhga/
Aqui está o HTML
Aqui está o CSS
Diverta-se
fonte
Você também pode fazer isso. Eu queria adicionar um círculo em volta dos meus ícones icomoon. Aqui está o código.
fonte
ATUALIZAÇÃO :
Após aprender o flex recentemente, há uma maneira mais limpa (sem tabelas e menos CSS). Defina o wrapper como
display: flex;
e para centralizar seus filhos, forneça as propriedadesalign-items: center;
parajustify-content: center;
centralização (vertical) e (horizontal).Veja este JS Fiddle atualizado
Estranho que ninguém tenha sugerido isso antes .. Eu sempre uso tabelas para fazer isso.
Basta fazer com que um invólucro tenha
display: table
e centralize as coisas dentro dele para alinhamentotext-align: center
horizontal evertical-align: middle
vertical.e algum atrevido assim
ou veja este JS Fiddle
fonte
Esta é a abordagem que você não precisa usar
padding
, basta definirheight
oewidth
paraa
e deixar oflex
manuseiomargin: 0 auto
.fonte
O exemplo abaixo não funcionou muito bem para mim, esta é a versão que eu fiz funcionar!
HTML:
CSS:
fonte
tente isso
HTML:
CSS:
fonte
Fonte Os ícones impressionantes são inseridos como: antes. Portanto, você pode estilizar quer o seu i ou um assim:
fonte
Você pode simplesmente obter o ícone redondo usando este código:
Agora seu CSS será:
fonte
Gosto da resposta de Dave Everitt com a «altura da linha», mas só funciona especificando a «altura» e, em seguida, temos de adicionar «! Importante» à altura da linha ...
fonte
!important
é um band-aid, não uma solução. Isso significa que você tem outra propriedade CSS em outro lugar, substituindo sua propriedade.Esta é a melhor e mais precisa solução que encontrei até agora.
CSS:
fonte