Possible duplicate didn't help
我知道关于这个话题有很多答案,但他们都没有帮助我,而且我花了好几天时间 这个问题。 90%的答案和书籍都提供了这个背景技巧,这对我没有帮助。
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;
}
现在我的布局如下:
我希望它看起来像这样:
我按照guide中提供的possible duplicate进行操作,但没有帮助
我认为这是因为我使用floats
和fluid layout
。
如何在保持fluid layout
和float
定位的同时扩展列。
答案 0 :(得分:9)
我已经更新了你的代码。在Plunker上查看。
首先尝试不使用absolute
或relative
位置,如果不需要它们。
第二种,在你的情况下,通过给出display: inline
和float: left
样式,做同样的事情,所以只有后者才能使用。
此外,我已将height
和HTML
标记的BODY
设置为100%,并对sidebar
和content
{{进行相同的操作1}} s,所以他们会DIV
fill
的{{1}}}高度。
最后,您的一个问题是parent
属性的body
值。它没有在x轴上重复,因此您没有看到repeat-y
的实际大小。我只是将其设置为background
而不是DIV
。
答案 1 :(得分:5)
尝试这样的事情:
<强> FIDDLE 强>
<h1>Hello Plunker!</h1>
<div class="container">
<div class="sideBar">sideBar</div>
<div class="content">content</div>
</div>
*
{
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;
}
答案 2 :(得分:0)
这是一个古老的问题,但是Zurb家伙有很好的解决方案。