Полная боковая панель высотой и полная высота, макет жидкости

Возможный дубликат не помог

Я знаю, что есть много ответов на эту тему, но ни один из них не помог мне, и я провел дни на Эта проблема. 90% ответов и книг дают этот фоновой трюк, который мне не помог.

Мой код - Plunker

HTML

<body >
<h1>Hello Plunker!</h1>

<div class="sidebar">
  <ul>
        <li><a href="#">ANALYTICS</a></li>
        <li><a href="#">STYLES</a></li>
        <li><a href="#">VOTERS</a></li>
        <li><a href="#">GET STARTED</a></li>
        <li><a href="#">UPDATE</a></li>
  </ul>
</div>
<div class="content">
  <p>Content</p>
</div>

CSS

body{
  width: 100%;
  margin: 0 auto;

}

.content {
  width: 95%;
  display: inline;
  float: left;
  background: url(http://s9.postimg.org/ft91z9c6z/bg_content.png) repeat-y left top;
}

.sidebar{
  width: 5%;
  display: inline;
  height: 100%;
  float: left;
  background: url(http://s21.postimg.org/kexv3aupf/bg_sidebar.png) repeat-y left top;

}

.sidebar ul{
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;

}

.sidebar li{
     padding: 50%;
     position: relative;
}

.sidebar a{
        display: block;
        font-size: 0.5em;
        position: absolute;
        bottom: 0;
        left: 0;
}

Прямо сейчас мой макет выглядит следующим образом:

Right now my layout looks like this:

И я хочу, чтобы это выглядело так:

Я последовал за этим , предложенным в возможном дубликате, и он не " Помощь Я думаю, это потому, что я использую floats и fluid layout.

Как я могу расширить столбцы, сохраняя позиционирование fluid layout и float.

Ответ 1

Я обновил ваш код. Проверьте его на Plunker.

Сначала попробуйте не использовать позиции absolute или relative, если они не нужны.

Во-вторых, в вашем случае с помощью стилей display: inline и float: left выполните одно и то же, поэтому достаточно использовать только последний.

Кроме того, я установил теги height тегов HTML и BODY на 100% и сделал то же самое для sidebar и content DIV s, поэтому они будут fill Высота parent (BODY).

И, наконец, одной из ваших проблем было значение repeat-y свойства background. Он не повторялся по оси x, поэтому вы не видели фактический размер DIV s. Я просто установил его в repeat вместо repeat-y.

Ответ 2

Попробуйте что-то вроде этого:

FIDDLE

Разметка:

<h1>Hello Plunker!</h1>
<div class="container">       
    <div class="sideBar">sideBar</div>
    <div class="content">content</div>
</div>

CSS

*
{
    margin:0;padding:0;
}
html,body,.container, .sideBar, .content
{
    height: 100%;
}
h1
{
    height: 50px;
    line-height: 50px;
}
.container
{
    margin-top: -50px;
    padding-top: 50px;
    box-sizing: border-box;
}
.sideBar
{
    float:left;
    width: 100px;
    background: aqua;
}
.content
{
    overflow:hidden;
    background: yellow;   
}