Полная боковая панель высотой и полная высота, макет жидкости
Возможный дубликат не помог
Я знаю, что есть много ответов на эту тему, но ни один из них не помог мне, и я провел дни на
Эта проблема.
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;
}
Ответ 3
Это старый вопрос, но Zurb у парней есть хорошее решение для этого.
http://foundation.zurb.com/apps/