我有一个包含容器和两列的页面。我的结构看起来很
<div id="page">
<div id="left"></div>
<div id="right"></div>
</div>
这是CSS
#page {
min-height: 100%;
height: 100%;
width: 90%;
font-size: 100%;
margin: 0 auto 0 auto;
padding: 0;
font-size: 1em;
position: relative;
}
#left {
background-image: url("../images/layout/background.png");
width: 198px;
min-height: 100%;
float: left;
}
#right {
margin-left: 230px;
min-height: 100%;
background-color: #FFFFFF;
border: 1px solid red;
padding: 150px 20px 0px 20px;
text-align: justify;
}
目前使用上一代码,#page
元素不会延伸到底部,#left
也不会。如果我从#right
移除了填充,则#page
和#left
与#right
的高度相等。
我该如何解决这个问题?
答案 0 :(得分:0)
所以有几种方法可以解决这个问题。如果您希望只有两个不同背景的列都到达容器的底部,您可以使用垂直重复的背景图像或css3渐变。我在这里设置了一个例子:
注意#page元素
上的渐变背景#page {
background: -moz-linear-gradient(left, #b2f8ff 0%, #b2f8ff 50%, #9effaf 50%, #9effaf 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#b2f8ff), color-stop(50%,#b2f8ff), color-stop(50%,#9effaf), color-stop(100%,#9effaf)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* IE10+ */
background: linear-gradient(to right, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2f8ff', endColorstr='#9effaf',GradientType=1 ); /* IE6-9 */
overflow:hidden; /* make the container wrap the floated contents */
}
作为后退,#page元素被赋予左列颜色,右列获得它自己的颜色。
Chris Coyer写了一篇很棒的文章,展示了几种不同的方式。 http://css-tricks.com/fluid-width-equal-height-columns/