He aquí un básico illustration del problema:cuerpo HTML es más pequeño que su contenido
<html><head><style type="text/css">
html {width: 100%; height: 100%; background: red;}
body {width: 100%; height: 100%; background: green;}
.leftbar, .rightbar {height: 100%; background: blue;}
.leftbar {float: left;}
.rightbar {float: right;}
table {width: 100px; height: 800px; background: black; color: white;
margin: 0 auto 0 auto;}
</style></head>
<body>
<ul class="leftbar"><li>one</li><li>two</li></ul>
<ul class="rightbar"><li>alpha</li><li>beta</li></ul>
<table><tbody><tr><td>blah blah</td></tr></tbody></table>
</body>
</html>
Podemos ver de inmediato que los flotaban ul
elementos son tan altos como el body
que los contiene, el problema es que el body
no es tan alto como el table
que contiene.
¿Cómo hago que el body
sea lo suficientemente grande? En este ejemplo, quiero que el leftbar
y el rightbar
bajen, en la medida en que lo permita el desplazamiento, para que nunca pueda ver ningún espacio debajo de ellos.
_fsvo_ "trabajo". Es corto de miras pensar que solo porque funcionan para su caso de uso particular, deben funcionar para todos los demás contextos en los que se accederá a su contenido. –
Funcionan en el contexto necesario, y las alternativas * no *. – spraff
No refleja bien en nuestra comunidad que rechacemos una respuesta válida que resuelva el problema del OP, simplemente porque está pasado de moda. Las tablas son difíciles de mantener y rompen el flujo normal, pero son una solución inteligente para varios problemas espinosos de diseño, especialmente en un mundo pre-flexbox. (Como es 'display: table;' en un elemento de nivel de bloque normal.) – XML