Saltar al contenido

Twitter bootstrap 3 dos columnas de altura completa

Solución:

Editar:
En Bootstrap 4, clases nativas pueden producen columnas de altura completa (DEMO) porque cambiaron su sistema de cuadrícula a flexbox. (Siga leyendo para Bootstrap 3)


Las clases nativas de Bootstrap 3.0 no admiten el diseño que describe, sin embargo, podemos integrar algunos CSS personalizados que hacen uso de tablas css para lograr esto.

Demostración de Bootply / Codepen

Margen:

<header>Header</header>
<div class="container">
    <div class="row">
        <div class="col-md-3 no-float">Navigation</div>
        <div class="col-md-9 no-float">Content</div>
    </div>
</div>

(Relevante) CSS

html,body,.container {
    height:100%;
}
.container {
    display:table;
    width: 100%;
    margin-top: -50px;
    padding: 50px 0 0 0; /*set left/right padding according to needs*/
    box-sizing: border-box;
}

.row {
    height: 100%;
    display: table-row;
}

.row .no-float {
  display: table-cell;
  float: none;
}

El código anterior logrará columnas de altura completa (debido a las propiedades personalizadas de la tabla css que agregamos) y con relación 1: 3 (Navegación: Contenido) para anchos de pantalla medios y superior – (debido a las clases predeterminadas de bootstrap: col-md-3 y col-md-9)

NÓTESE BIEN:

1) Para no estropear las clases de columnas nativas de bootstrap, agregamos otra clase como no-float en el marcado y solo establecido display:table-cell y float:none en esta clase (en oposición a las propias clases de columna).

2) Si solo queremos usar el código css-table para un punto de interrupción específico (digamos anchos de pantalla medios y superiores) pero para pantallas móviles queremos volver por defecto al comportamiento habitual de arranque, entonces podemos envolver nuestro CSS personalizado dentro de una consulta de medios , decir:

@media (min-width: 992px) {
  .row .no-float {
      display: table-cell;
      float: none;
  }
}

Demostración de Codepen

Ahora, para pantallas más pequeñas, las columnas se comportarán como columnas de arranque predeterminadas (cada una con ancho completo).

3) Si la relación 1: 3 es necesaria para todos los anchos de pantalla, entonces probablemente sea mejor eliminar las clases col-md- * de bootstrap del marcado porque no es así como deben usarse.

Demostración de Codepen

Puedes lograr lo que quieras con el padding-bottom: 100%; margin-bottom: -100%; truco, tiene se puede ver en este violín.

Cambio un poco tu HTML, pero puedes lograr el mismo resultado con tu propio HTML con el siguiente código

.col-md-9 {
    overflow: hidden;
}

.col-md-3 {
    padding-bottom: 100%;
    margin-bottom: -100%;
}

Solución CSS pura

Violín de trabajo

Solo con CSS2.1, funciona con todos los navegadores (IE8 +), sin especificar altura ni ancho.

Eso significa que si su encabezado crece repentinamente más, o su navegación izquierda necesita agrandarse, no tiene que arreglar cualquier cosa en tu CSS.

Totalmente receptivo, simple y claro y muy fácil de administrar.

<div class="Container">
    <div class="Header">
    </div>
    <div class="HeightTaker">
        <div class="Wrapper">
            <div class="LeftNavigation">
            </div>
            <div class="Content">
            </div>
        </div>
    </div>
</div>

Explicación:
El contenedor div toma el 100% de la altura del cuerpo y está dividido en 2 secciones. La sección del encabezado se extenderá hasta su altura necesaria, y la HeightTaker tomará el resto. ¿Cómo se logra? flotando un elemento vacío junto al contenedor con una altura del 100% (usando :before), y dando el HeightTaker un elemento vacío al final con la regla clara (usando :after). ese elemento no puede estar en la misma línea con el elemento flotante, por lo que se empuja hasta el final. que es exactamente el 100% del documento.

Con eso hacemos el HeightTaker abarcan el resto de la altura del contenedor, sin indicar ninguna altura / margen específico.

dentro de eso HeightTaker construimos un diseño flotante normal (para lograr la visualización en forma de columna) con un cambio menor … tenemos un Wrapper elemento, que es necesario para el 100% altura para trabajar.

Actualizar

Aquí está la demostración con las clases de Bootstrap. (Acabo de agregar un div a su diseño)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *