Hago un catálogo con Bootstrap 3. Cuando se muestran en tabletas, las imágenes del producto se ven feas debido a su pequeño tamaño (500x500) y un ancho de 767 píxeles en el navegador. Quiero poner la imagen en el centro de la pantalla, pero por alguna razón no puedo. ¿Quién será ayudará a resolver el problema?
423
:)
Respuestas:
Si usa Bootstrap v3.0.1 o superior, debería usar esta solución en su lugar. No anula los estilos de Bootstrap con CSS personalizado, sino que utiliza una función Bootstrap.
Mi respuesta original se muestra a continuación para la posteridad
Esta es una solución agradablemente fácil. Debido
.img-responsive
a que Bootstrap ya está configuradodisplay: block
, puede usarlomargin: 0 auto
para centrar la imagen:fuente
margin: 0 auto
, en lugar de cambiar .img-responsive.Hay
.center-block
clase en Twitter Bootstrap 3 ( desde v3.0.1 ), así que use:fuente
class="img-responsive" style="margin: 0 auto;"
funciona para míclass="img-responsive center-block"
no (bootstrap 3, pero una versión de hace unos meses)<a href="#"> </a>
par, el área en la que se puede hacer clic se expandirá a todo el ancho del contenedor envolvente, que podría ser un poco más grande que su imagen. Esto puede confundir a los usuarios que hacen clic en lo que piensan que es un espacio "vacío".Agregue solo la clase
center-block
a una imagen, esto también funciona con Bootstrap 4:Nota:
center-block
funciona incluso cuandoimg-responsive
se usafuente
Solo usa
.text-center
class si estás usando Bootstrap 3.Nota: Esto no funciona con img-responsive
fuente
img-responsive
Esto debería centrar la imagen y hacer que responda.
fuente
Sugeriría una clasificación más "abstracta". Agregue una nueva clase "img-center" que se puede usar en combinación con la clase .img-responsive:
fuente
fuente
display: table
? Yadisplay: block
es suficientemargin: 0 auto
para trabajarTodavía puede trabajar
img-responsive
sin afectar otras imágenes con esta clase de estilo.Puede preceder esta etiqueta con la sección id / div id / class para definir un orden dentro del cual
img
está anidado. Esta costumbreimg-responsive
solo funcionará en esa área.Supongamos que tiene un área HTML definida como:
Entonces, tu CSS puede ser:
Nota: Esta respuesta está relacionada con el impacto potencial de la alteración
img-responsive
en su conjunto. Por supuesto,center-block
es la solución más simple.fuente
Pruebe este código, también funcionará para iconos pequeños con bootstrap 4 porque no hay una clase de bloque central que sea bootstrap 4, así que pruebe este método, será útil. Puede cambiar la posición de la imagen configurando
.col-md-12
a.col-md-8
o.col-md-4
, depende de usted.fuente
Prueba esto:
fuente
Simplemente coloque todas las miniaturas de las imágenes dentro de una fila / col divs como esta:
¡y todo funcionará bien!
fuente
Para añadir a las respuestas ya dadas, teniendo el
img-responsive
en combinación conimg-thumbnail
fijarádisplay: block
adisplay: inline block
.fuente
.
fuente
fuente
La forma más exacta aplicada a todos los objetos Booostrap que usan clases estándar solo sería no establecer los márgenes superior e inferior (ya que la imagen puede heredarlos del padre), por lo que siempre estoy usando:
También hice una Gist para eso, por lo que si se aplican cambios debido a algún error, la versión de actualización siempre estará aquí: https://gist.github.com/jdrda/09a38bf152dd6a8aff4151c58679cc66
fuente
Hasta ahora, la mejor solución para aceptar parece ser
<img class="center-block" ... />
. Pero nadie ha mencionado cómocenter-block
funciona.Tome Bootstrap v3.3.6 por ejemplo:
El valor predeterminado de
dispaly
for<img>
esinline
. El valorblock
mostrará un elemento como un elemento de bloque (como<p>
). Comienza en una nueva línea y ocupa todo el ancho. De esta manera, las dos configuraciones de margen permiten que la imagen permanezca en el medio horizontalmente.fuente