首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

有一个页面从左到右分成三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长

2013-10-16 
有一个页面从左到右分为三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长?最右边的

有一个页面从左到右分为三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长?
有一个页面从左到右分成三块,中间一块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了,试试吧!!!
[解决办法]
引用:
Quote: 引用:

<div class="div1">
<div class="div2">
</div>
</div>
.div1 {background:url(img/left.png) repeat-y 0 0;}
.div2 {background:url(img/right.png) repeat-y right 0;}
这能看明白吗  只要中间的内容 增加 左右两块的背景 也会变高

<div class="div1">
<div class="div2 clears">
    <div class="left"></div>
    <div class="center"></div>
    <div class="right"></div>
</div>
</div>
里面的布局当然 你知道了,只是 背景不太明白,用我上面的方法  应该能理解吧
这样 里面 任何一个高度增加 父级的两个背景都会 增高   也就是等高



我感觉你理解错我的意思了。
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>

我的布局这是这样的 ,center就是数据div,高度一直变大,left和right需要随着center Div变化.
不知道这个怎么实现




难道不是这样吗,左右两边增高,并一定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的高度

热点排行