Div侧边栏不随中心列的内容扩展

时间:2013-03-09 09:48:36

标签: html css-float clearfix

我有一个我正在研究的网页,当中间没有任何内容时,它看起来很棒。最近,当我尝试将内容添加到中心列时出现问题。我正在添加一个包含人们必须回答的一长串问题的表格。问题是,当此内容大于窗口大小时,它会向下滚动内容,但侧边栏的大小保持不变。

我在jsfiddle上附上了我的代码。任何帮助,将不胜感激。 :)

http://jsfiddle.net/qp5Zk/3/ 1

@charset"utf-8";
html, body {
width: 100%; /* IE6 Hacks */
height: 100%; /* IE6 Hacks */
margin: 0;
padding: 0;
}
body {
background-color: green;
background-repeat: repeat;
height: 100%;
}
#content_wrapper {
margin: 0 auto; /* Center it on the page */
width: 93%;
height: 100%;
}
#center_column {
margin: 0 14px 0 14px; /* 0 Right Column 0 Left Column */
background-color: #FFF;
height: 100%;
}
#left_column, #right_column {
width: 14px;
height: 100%;
}
#left_column {
float: left;
background-color: pink;
}
#right_column {
float: right;
background-color: orange;
}
#header_top {
width: 100%;
height: 14px;
background-color: #EEE;
}
#header_top_grad {
width: 100%;
height: 14px;
background-color: blue;
background-repeat: repeat-x;
}
#header_middle {
height: 40px;
width: 100%;
background-color: yellow;
background-repeat: repeat-x;
}
#header_bottom {
background-color: blue;
background-repeat: repeat-x;
height: 14px;
width: 100%;
}
#logo {
width: 100%;
background-color: #EEE;
}
#logo img {
width: 253px;
height: 47px;
margin: 10px 0 10px 20px;
} 
#main_table {
color: #696969;
font-size: small;
width: 90%;
margin: 0 auto;
border-spacing: 0;
border: 0; 
/* IE border-spacing workaround */
border-collapse: collapse;
}
#main_table td {
/* Padding between each question */
padding-bottom: 20px;
}
.q_column, .r_column, .e_column {
background-color: #FFF;
}
.q_column {
font-weight: bold;
text-align: right;
/* Padding between question and response column */
padding-right: 10px;
}
.red {
color: #F00;
font-size: large;
}
 .text_field {
border: 1px solid;
border-collapse: collapse;
border-color: #BBB;
color: #000;
}
.small_text {
font-size: smaller;
}
.r_column {
width: 35%;
}
.e_column {
width: 25%;
}

我没有成功尝试clearfix,但可能做错了,或者甚至可能不是正确的解决方案。

2 个答案:

答案 0 :(得分:0)

@ user2151158为Content class

设置这样的最小高度
#content_wrapper {
    margin: 0 auto; /* Center it on the page */
    width: 93%;
    min-height: 100%;
}

答案 1 :(得分:0)

试试这个小提琴:     http://jsfiddle.net/krish/qp5Zk/7/

我将center_coloum更改为相对,并将左右列设置为绝对,更改的详细信息如下所示。

更改了Css

    #center_column {
    margin: 0 14px 0 14px; /* 0 Right Column 0 Left Column */
    background-color: #FFF;
    height: 100%;
    position:relative; /*added*/
    }

    #left_column 
    {
    /* removed float: left; */
    background-color: pink;
    position:absolute; /*added*/
    left:0px; /*added*/
    }

    #right_column {
    /*removed float:right*/
    background-color: orange;
    position:absolute; /*added*/
    right:0px; /*added*/
    }