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?
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
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
- Nunca usar la clase
.container
para nada distintas de las filas - Haga un clon de la clase
.container
que no tenga relleno para usar con html que no sea de cuadrícula - Para eliminar el relleno
.container
en el móvil se puede eliminar manualmente con media queries entoncesoverflow-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
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;
}
}
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;}
}
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;
}
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:
Pruebe su página eliminando temporalmente las secciones que contienen contenedores y pruebe su sitio en navegadores pequeños. Esto identificará su contenedor problema.
Es posible que tenga un problema de formato div. Si lo haces, arréglalo. Si todo está bien, entonces:
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;}
}
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;
}
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;
}
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