Pregunta

Tengo esta estructura HTML

<div id="header">
    …
</div>
<div id="menu">
    ...
</div>
<div id="content">
    ...
</div>
<div id="footer">
    ...
</div>

y el CSS:

#header {
    height: 100px;
}

#footer {
    border: 1px solid #989898;
    padding-bottom: 0.1em;
    width: 100%;
    height: 2.2em;
    position: fixed;
    bottom: 0px;
    left: 0px;
}

#menu {
    width: 150px;
    float: left;
    ???
}

#content {
    ???
}

El encabezado y el pie de página están bien, pero la pregunta proviene del menú y los divectores de contenido:

'MENU' DIV debe llenarse del encabezado al pie de página, sin desplazamiento

'contenido' debe mostrar desplazamiento si es necesario.

¿Qué código CSS para ellos lo hará real?

gracias

¿Fue útil?

Solución

He intentado sus respuestas, pero el resultado no es satisfactorio, por lo que finalmente he tomado la mejor solución para mí:

http://jsfiddle.net/cvdet/

Otros consejos

Hace mucho problema hace mucho tiempo, espero que esto ayude a

HTML


<div id="wrapper">
  <div id="header">
    ...
  </div>
  <div id="menu">
    ...
  </div>
  <div id="content">
    ...
  </div>
  <div id="footer">
    ...
  </div>
</div>

CSS


#wrapper
{
  position: relative;
  ...
  ...
}

#header
{
   position: absolute;
   top: 0;
   left: 0;
   height: 100px;
}

#footer
{
   position: absolute;
   bottom: 0;
   height: XXXpx;
   display: block;
}

#menu
{
   position: absolute;
   top: 110px;
   left: 0;
   bottom: 0;
   width: 150px;
   height: 100%;
   display: block;
}

#content
{
   position: absolute;
   top: 110px;
   left: 160px;
   width: XXXpx;
   display: block;
}

Mi enfoque sería envolver 'Menú' y 'contenido' en una envoltura propia como esta:

<div id='contentWrapper'>
    <div id="menu">
        ....
    </div>
    <div id="content">
        ....
    </div>
</div>

Estilo así:

    #contentWrapper {
        width: 1000px;
        overflow: hidden;
        background-color: yellow;
    }

    #menu {
        width: 150px;
        float: left;
        background-color: transparent;
    }

    #content {
        width: 850px;
        float: left;
        background-color: white;
    }

Los colores están ahí para ilustrar.En realidad, el menú sigue siendo la misma altura que siempre fue, y se extenderá a lo largo de lo que pondrá, pero siempre parecerá asumir la altura total del 'contenido' porque puede verlo a través de él, y está tomando su fondo.Color de la envoltura - que se extiende alrededor del menú y el contenido.

Pruebe esto

#menu { width: 150px; height: 100%; overflow-y: auto; display: block; }

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top