Bootstrap-Eliminación de relleno o margen cuando el tamaño de la pantalla es más pequeño


EDITADO: Tal vez debería preguntar qué selector configura el relleno lateral cuando la pantalla se reduce a menos de 480px de ancho? He estado navegando bootstrap-responsiveness.css por un tiempo para localizar esto, pero nada parece afectar esto.

Original Básicamente quiero eliminar cualquier relleno predeterminado o margen establecido para la capacidad de respuesta en pantallas de dispositivos más pequeños.

Tengo un background color anulado en el selector container-fluid y para una pantalla más grande se renderizan perfectamente al 100% a través el ancho pero la pantalla se reduce a tamaños más pequeños, por defecto, Bootstrap parece agregar un margen o relleno en container-fluid o container.

<div class="container-fluid">
    <div class="row-fluid">
      test
    </div>
</div>

Si uso css personalizado para sobrescribir el estilo predeterminado de Bootstrap, ¿a qué consulta de medios o selector debo sobrescribir para eliminar este relleno en pantallas más pequeñas?

Author: Zim, 2013-05-07

8 answers

La consulta @media específicamente para' teléfonos ' es..

@media (max-width: 480px) { ... }

Pero, es posible que desee eliminar el relleno/margen para cualquier tamaño de pantalla más pequeño. De forma predeterminada, Bootstrap ajusta los márgenes / relleno al cuerpo, contenedor y barras de navegación a 978px.

Aquí hay algunas consultas que han funcionado (en la mayoría de los casos) para mí:

@media (max-width: 978px) {
    .container {
      padding:0;
      margin:0;
    }

    body {
      padding:0;
    }

    .navbar-fixed-top, .navbar-fixed-bottom, .navbar-static-top {
      margin-left: 0;
      margin-right: 0;
      margin-bottom:0;
    }
}

Demo


Actualización para Bootstrap 4

Utilice el nuevo responsive spacing utils que le permite establecer relleno / márgenes para diferentes anchos de pantalla (puntos de interrupción): https://stackoverflow.com/a/43208888/171456

 79
Author: Zim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-05 10:31:39

El problema aquí es mucho más complejo que eliminar el relleno del contenedor, ya que la estructura de la cuadrícula se basa en este relleno cuando se aplican márgenes negativos para las filas cerradas.

Eliminar el relleno del contenedor en este caso causará un desbordamiento del eje x causado por todas las filas dentro de esta clase de contenedor, esta es una de las cosas más estúpidas de la cuadrícula de Bootstrap.

, Lógicamente, debe ser abordado por

  1. Nunca usar la clase .container para nada distintas de las filas
  2. Haga un clon de la clase .container que no tenga relleno para usar con html que no sea de cuadrícula
  3. Para eliminar el relleno .container en el móvil se puede eliminar manualmente con media queries entonces overflow-x: hidden; que no es muy fiable, pero funciona en la mayoría de los casos.

Si está utilizando LESS el resultado final se verá así

@media (max-width: @screen-md-max) {
    .container{
        padding: 0;
        overflow-x: hidden;
    }
}

Cambie la consulta de medios al tamaño que desee.

Pensamientos finales, yo recomendaría encarecidamente el uso de la Foundation Framework Grid como su camino más avanzado

 17
Author: Zyad Sherif,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-20 15:41:19

Este hilo fue útil para encontrar la solución en mi caso particular (bootstrap 3)

@media (max-width: 767px) {
  .container-fluid, .row {
    padding:0px;
  }
  .navbar-header {
    margin:0px;
  }
}
 8
Author: Mike Dorsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-18 18:44:02

Para resolver problemas como este estoy usando CSS - la forma más rápida y sencilla que creo... Solo modifícalo según tus necesidades...

@media only screen and (max-width: 480px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
    #your_id {width:000px;height:000px;}
}
@media only screen and (min-width: 959px) {
    #your_id {width:000px;height:000px;}
}
 7
Author: Paulius Marčiukaitis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-07 03:26:28

La forma en que consigo que un elemento vaya al 100% de ancho del dispositivo es usar márgenes negativos izquierdo y derecho en él. El cuerpo tiene un relleno de 24px, por lo que es para lo que puede usar márgenes negativos:

element{
    margin-left:  -24px;
    margin-right: -24px;
    padding-left:  24px;
    padding-right:  24px;
}
 3
Author: Dan Gayle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-08 02:59:39

He tenido este problema se producen en los sitios que utilizan el formato y el código similares y he atormentado mi cerebro sobre lo que faltaba el detalle que hizo que algunos de mis sitios de trabajo, y algunos no.

Para Bootstrap 3: La respuesta para mí no estaba en reescribir css para .contenedor-fluido, .fila o restablecer los márgenes, el patrón consistente que me di cuenta era la longitud de palabras más largas estaban lanzando fuera del diseño y la creación de márgenes.

La solución pasos:

  1. Pruebe su página eliminando temporalmente las secciones que contienen contenedores y pruebe su sitio en navegadores pequeños. Esto identificará su contenedor problema.

  2. Es posible que tenga un problema de formato div. Si lo haces, arréglalo. Si todo está bien, entonces:

  3. Identifique si ha usado palabras largas que no están envolviendo. Si no puede cambiar la palabra(como para líneas de etiqueta o eslóganes, etc.)

Solución 1: Formatear la fuente para tamaño más pequeño en su consulta de medios para una pantalla más pequeña (generalmente encuentro que @media (ancho máximo: 767px) es suficiente).

O:

Solución 2:

@media (max-width: 767px){

h1, h2, h3 {word-wrap: break-word;}
}
 1
Author: Kim McCann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-04 16:44:27

El CSS de Paulius Marčiukaitis funcionó muy bien para mi tema de Génesis, así es como lo modifiqué aún más para mi requisito:

@media only screen and (max-width: 480px) {
.entry {
background-color: #fff;
margin-bottom: 0;
padding: 10px 8px;

}

 1
Author: Swagatam Majumdar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-07 03:59:29
.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-left:0px;
    padding-right:0px;
}
 0
Author: Indrajeet Yadav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-21 05:39:22