Eu faço um catálogo usando o Bootstrap 3. Quando exibidas em tablets, as imagens do produto ficam feias por causa do tamanho pequeno (500x500) e da largura de 767 pixels no navegador. Eu quero colocar a imagem no centro da tela, mas por algum motivo eu não posso. Quem ajudará a resolver o problema?
423
:)
Respostas:
Se você estiver usando o Bootstrap v3.0.1 ou superior, use esta solução . Ele não substitui os estilos do Bootstrap pelo CSS personalizado, mas usa um recurso do Bootstrap.
Minha resposta original é mostrada abaixo para a posteridade
Esta é uma solução agradavelmente fácil. Como o
.img-responsive
Bootstrap já está configuradodisplay: block
, você pode usarmargin: 0 auto
para centralizar a imagem:fonte
margin: 0 auto
, em vez de alterar .img-responsive.Há
.center-block
classe no Twitter Bootstrap 3 ( desde a v3.0.1 ), então use:fonte
class="img-responsive" style="margin: 0 auto;"
funciona para mimclass="img-responsive center-block"
não (bootstrap 3, mas uma versão com alguns meses de idade)<a href="#"> </a>
par, a área clicável será expandida para toda a largura do contêiner anexo, que pode ser um pouco maior que a sua imagem. Isso pode confundir os usuários que clicam no que eles acham que é espaço "vazio".Adicione apenas a classe
center-block
a uma imagem, isso também funciona com o Bootstrap 4:Nota:
center-block
funciona mesmo quandoimg-responsive
usadofonte
Basta usar a
.text-center
classe se você estiver usando o Bootstrap 3.Nota: Isso não funciona com img-responsive
fonte
img-responsive
Isso deve centralizar a imagem e torná-la responsiva.
fonte
Eu sugeriria uma classificação mais "abstrata". Adicione uma nova classe "img-center", que pode ser usada em combinação com a classe .img-responsive:
fonte
fonte
display: table
? Já édisplay: block
o que é suficiente para chegarmargin: 0 auto
ao trabalhoVocê ainda pode trabalhar
img-responsive
sem afetar outras imagens com esta classe de estilo.Você pode preceder essa tag com o ID da seção / ID da div / classe para definir uma ordem na qual isso
img
está aninhado. Esse costumeimg-responsive
funcionará apenas nessa área.Suponha que você tenha uma área HTML definida como:
Então, seu CSS pode ser:
Nota: Esta resposta está relacionada ao impacto potencial da alteração
img-responsive
como um todo. Claro,center-block
é a solução mais simples.fonte
Tente este código, ele também funcionará para ícones pequenos com o bootstrap 4, porque não há uma classe de bloco central como bootstrap 4, portanto, tente esse método, será útil. Você pode alterar a posição da imagem configurando
.col-md-12
para.col-md-8
ou.col-md-4
, é com você.fonte
Tente o seguinte:
fonte
Basta colocar todas as miniaturas das imagens dentro de uma linha / coluna divs assim:
e tudo vai funcionar bem!
fonte
Para adicionar às respostas já dadas, ter
img-responsive
emimg-thumbnail
conjunto com será definidodisplay: block
comodisplay: inline block
.fonte
.
fonte
fonte
A maneira mais exata aplicada a todos os objetos Booostrap usando apenas classes padrão seria não definir margens superior e inferior (como a imagem pode herdá-las do pai), por isso estou sempre usando:
Também fiz um Gist para isso, portanto, se alguma alteração for aplicada devido a algum erro, a versão de atualização estará sempre aqui: https://gist.github.com/jdrda/09a38bf152dd6a8aff4151c58679cc66
fonte
Até agora, a melhor solução a ser aceita parece ser
<img class="center-block" ... />
. Mas ninguém mencionou comocenter-block
funciona.Veja o Bootstrap v3.3.6 por exemplo:
O valor padrão de
dispaly
para<img>
éinline
. O valorblock
exibirá um elemento como um elemento de bloco (como<p>
). Começa em uma nova linha e ocupa toda a largura. Dessa forma, as duas configurações de margem deixam a imagem no meio horizontalmente.fonte