durante bastante tiempo estoy jugueteando con un tema de diseño específico que obviamente me estoy acercando al camino equivocado.Desbordamiento con diseño de posicionamiento absoluto/relativo
Aquí es el enfoque desglosado en sus componentes básicos:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="stretched">
<div class="header">SOME HEADER</div>
<div class="someControls">
<input type="button" value="click me"/>
<input type="button" value="no me"/>
</div>
<div class="inner">
some text...
</div>
</div>
</body>
</html>
con el siguiente CSS:
.stretched {
position:absolute;
height:auto;
bottom: 0;
top: 0;
left: 0;
right: 0;
width: 250px;
margin: 30px auto 20px;
background-color: green;
}
.inner {
margin:10px;
background-color: red;
overflow: auto;
}
Lo que estoy tratando de hacer es tener la stretched
div utilizando todos disponibles espacio de ventana vertical (menos algunos píxeles arriba y abajo para encabezado y pie de página) y centrado horizontalmente con un fijo con.
Esto parece funcionar bastante bien. El problema es que la propiedad overflow: auto;
no se aplica al contenido inner
como yo quiero. Cuando some text...
se alarga, el div inner
se superpone a mi contenedor y no muestra barras de desplazamiento.
Aquí está el violín: fiddle #1
quiero evitar tener barras de desplazamiento en el cuerpo de la página y en lugar de tener el desbordamiento gestionado por las barras de desplazamiento en el interior del inner
div, con lo que stretched
siempre visible por completo.
que podría aplicar el mismo truco con position: absolute; top: 0; ...
a los inner
div también, pero luego tengo que especificar la altura de header
+ someControls
de forma explícita, lo que quiero evitar, porque es diferente en todas mis páginas.
Esta es la forma en que funciona como yo quiero que (a excepción de la parte top: 40px;
): fiddle #2
¿qué estoy haciendo mal aquí? ¡Gracias por adelantado!
+1 para una pregunta bien estructurada y probándose. – MarioDS
¿Se requiere compatibilidad con IE7? – thirtydot
No necesariamente. Sería bueno, sin embargo. – FlxMgdnz