vertical examples align html css css-tables

html - examples - table css generator



altura: 100% para<div> dentro de<div> con display: table-cell (7)

Aquí hay 2 marcas de columna usando display: table y display: table-cell declaraciones CSS de display: table-cell :

.table { display: table; } .cell { border: 2px solid black; vertical-align: top; display: table-cell; } .container { height: 100%; border: 2px solid green; }

<div class="table"> <div class="cell"> <p>Text <p>Text <p>Text <p>Text <p>Text <p>Text <p>Text <p>Text </div> <div class="cell"> <div class="container">Text</div> </div> </div>

Pero .container block no llena la célula padre verticalmente. Aquí hay un ejemplo en JsFiddle: http://jsfiddle.net/MGRdP/2 .

Lo que tengo | Lo que necesito

Por favor, no proponga la solución JS.


Además de jsFiddle, puedo ofrecer un hack feo si lo deseas para hacerlo entre navegadores (IE11, Chrome, FF).

Póngase el .cell en lugar de la altura: 100%; altura: 1em;

Saludos, Saar


Cuando usa % para establecer alturas o anchuras, siempre establezca también los anchos / alturas de los elementos principales

prueba el violín actualizado

http://jsfiddle.net/MGRdP/6/


Defina su height:100%; .table y .cell height:100%;

.table { display: table; height:100%; } .cell { border: 1px solid black; display: table-cell; vertical-align:top; height: 100%; } .container { height: 100%; border: 10px solid green; }

Demo


Establezca la posición relativa de la celda de la tabla, luego haga que la posición div interna sea absoluta, con la parte superior / derecha / inferior / izquierda configuradas en 0px.

.table-cell { display: table-cell; position: relative; } .inner-div { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; }


Esto es exactamente lo que quieres:

HTML

<div class="table"> <div class="cell"> <p>Text</p> <p>Text</p> <p>Text</p> <p>Text</p> <p>Text</p> <p>Text</p> <p>Text</p> <p>Text</p> </div> <div class="cell"> <div class="container">Text</div> </div> </div>

CSS

.table { display: table; height:auto; } .cell { border: 2px solid black; display:table-cell; vertical-align:top; } .container { height: 100%; overflow:auto; border: 2px solid green; -moz-box-sizing: border-box; }


height: 100%; ajuste height: 100%; y overflow:auto; para div dentro de .cell


table{ height:1px; } table > td{ height:100%; } table > td > .inner{ height:100%; }

Confirmado trabajando en:

  • Chrome 60.0.3112.113, 63.0.3239.84
  • Firefox 55.0.3, 57.0.1
  • Internet Explorer 11