有一个页面从左到右分为三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长?
最右边的窄边,高度是repeat的。
css如下:
.rightLine {
height: 955px;
background-image: url(/LogService/images/right.jpg);
background-repeat: repeat-y;
width: 26px;
position: absolute;
top: 54px;
left: 1225px;;
}中间的数据是跟微博一样,每次拉倒最下面加载新数据,所以中间的数据div越来越长。
但是左右两边div的长度不会跟着变化,有没有人有好的办法?
[解决办法]
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
$(".left").height($(".showListDiv").height());
$(".right").height($(".showListDiv").height());
ajax每次加载数据之后,在for循环后面加上这两句话就OK了,试试吧!!!
[解决办法]
难道不是这样吗,左右两边增高,并一定div高度变高,你的不就是背景吗?
两边是图, 这个方法可行
如果你觉得两边是 高度要变化或内容 增高,那 得用js
看你怎么理解了,
[解决办法]
我有个办法可以不用js,利用table的td特性,当然你也可以不用table标签,用display:table和table-cell,效果一样的。demo代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<style type="text/css">
.green{
background-color:green;
}
.yellow{
background-color:yellow;
}
.red{
background-color:red;
}
table{
height:500px;
}
td{
width:200px;
}
</style>
</head>
<body>
<table>
<tr>
<td class="green"></td>
<td class="yellow" id="main"></td>
<td class="red"></td>
</tr>
</table>
<script type="text/javascript" >
window.onload = function(){
var obj = document.getElementById('main');
function getData(){
var str = obj.innerHTML, i, len, temp = "";
for(i=0,len=20;i<len;i++){
temp += i+"<br/>";
}
obj.innerHTML = str + temp;
}
setTimeout(function(){
getData();
setTimeout(arguments.callee, 2000);
},2000);
}
</script>
</body>
</html>
[解决办法]
我有个办法可以不用js,利用table的td特性,当然你也可以不用table标签,用display:table和table-cell,效果一样的。demo代码如下:<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<style type="text/css">
.green{
background-color:green;
}
.yellow{
background-color:yellow;
}
.red{
background-color:red;
}
table{
height:500px;
}
td{
width:200px;
}
</style>
</head>
<body>
<table>
<tr>
<td class="green"></td>
<td class="yellow" id="main"></td>
<td class="red"></td>
</tr>
</table>
<script type="text/javascript" >
window.onload = function(){
var obj = document.getElementById('main');
function getData(){
var str = obj.innerHTML, i, len, temp = "";
for(i=0,len=20;i<len;i++){
temp += i+"<br/>";
}
obj.innerHTML = str + temp;
}
setTimeout(function(){
getData();
setTimeout(arguments.callee, 2000);
},2000);
}
</script>
</body>
</html>
觉得LS的方案可行,LZ可以在外面套上TABLE,单行三列,左右两列的高度设为Auto,中间列高度变化后,左右两列列高会自动增加。
或者使用JS控制,当中间DIV高度发生变化,就改变左右两个DIV的高度