propiedad examples css twitter-bootstrap twitter-bootstrap-3 flexbox bootstrap-4

css - examples - Bootstrap 4, haga que el grupo de listas sea desplazable, en una fila, con flexbox, con o sin desplazamiento del cuerpo



flexbox order (3)

De acuerdo con la especificación , el ajuste flex: 1 (en el elemento .main ) es equivalente a flex: 1 1 0 , abreviación de:

  • flex-grow: 1
  • flex-shrink: 1
  • flex-basis: 0

Sin embargo, por alguna razón, flex: 1 no está funcionando como se esperaba en su código. (Solo estoy revisando Chrome, según tu pregunta).

Sin embargo, si le da a .main la taquigrafía completa, y lo convierte en un contenedor flexible y agrega overflow , su diseño parece funcionar.

.main { flex: 1 1 0; /* flex: 1, which you had before, is equivalent but doesn''t work */ display: flex; flex-direction: column; overflow-y: scroll; }

plunkr revisado

Referencia:

EDITAR (basado en cambios a la pregunta)

Mi respuesta anterior elimina las barras de desplazamiento del body y proporciona una barra de desplazamiento vertical para la sección .main .

Para hacer que las barras de desplazamiento vertical estén disponibles para cada columna en la sección .main , realice este ajuste:

.main { flex: 1 1 0; display: flex; } .container-fluid { display: flex; } .col-6 { overflow-y: auto; }

plunkr revisado

Estoy usando Bootstrap 4 (ahora estoy en alpha-6).

Tengo esta situación:

<body> <!-- HERE I HAVE one div automatically generated with randomly ID and class --> <div class="bigone"> <div class="container-fluid"> <div class="header"> My header </div> </div> <div class="mybar"> Nav bar </div> <div class="main"> <div class="container-fluid"> <div class="row"> <div class="col-6"> <div class="card"> <div class="card-header"> Card Header </div> <div class="list-group list-group-flush"> <a href="#" class="list-group-item list-group-item-action"><b>FIRST LINK</b></a> <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a> <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a> <a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a> <a href="#" class="list-group-item list-group-item-action disabled"><b>LAST LINK</b></a> </div> <div class="card-footer"> Card Footer </div> </div> </div> <div class="col-6"> <h1>FIRST LINE</h1> So many words, so many words. So many words, so many words. So many words, so many words. <br> So many words, so many words. So many words, so many words. So many words, so many words. <br> So many words, so many words. So many words, so many words. So many words, so many words. <br> <h1>LAST LINE</h1> </div> </div> </div> </div> <div class="footer"> Footer </div> </div> <!-- HERE THAT DIV CLOSED --> </body>

Este es el CSS :

.bigone { display: flex; min-height: 100vh; flex-direction: column; } .main { flex: 1; }

Hay una DEMO en plnkr : https://plnkr.co/edit/Q9PQIj8uDFY80bxJGks3

Necesito pie de página para estar abajo cuando el contenido de la página está vacío, por esta razón estoy usando: .bigone { height: 100vh; } .bigone { height: 100vh; } y Bootstrap Flexbox alinean utilidades como: <div class="bigone d-flex flex-column">

Ahora necesito el list-group en la card y el col-6 con "tantas palabras" para poder desplazarme, para tener una altura tanto para el máximo como para el inferior donde está el pie de página.

En pocas palabras: BODY no debe tener la barra de desplazamiento .

Mi encabezado y la altura del pie de página no son fijos, cambian.

¿Cómo? No soy un experto en flexbox.

No necesito IE, solo Chrome.

IMPORTANTE :

No puedo arreglar la altura de mi tarjeta con algo como esto:

height: calc(100vh - header.height - footer.height - etc...);

porque las alturas de mi encabezado, pie de página, etc. cambian dinámicamente.

Imagen del problema :


No estoy seguro de exactamente lo que estás buscando, pero creo que se trata de ajustar las alturas y el desbordamiento en CSS.

body { overflow: hidden; } .bigone { display: flex; min-height: 100vh; flex-direction: column; } .main { flex: 1; } .scrolly { overflow-y:auto !important; height: 100%; } .col-6 { height: calc(100vh - 72px); flex:1; overflow: hidden; }

https://plnkr.co/edit/CqSI76UnDoG7mFt3x7Vj?p=preview