代码之家  ›  专栏  ›  技术社区  ›  Łukasz W.

如何用CSS构建这个布局?

  •  5
  • Łukasz W.  · 技术社区  · 15 年前

    Layout

    位于底部和顶部的潜水舱具有固定的高度。在中间的那一个必须在页高-DIV 1高度-DIV 3高度或者在某些情况下更小的高度。

    它也必须有这个大小设置,因为我预测,有时它的内容会比它大,然后它将需要一个滚动条内。

    我会接受的情况下,DIV2将更小,但永远不会太大,以适应与DIV1和DIV3页大小。

    任何解决方案都是好的,不仅是使用CSS,而且如果你有想法你也可以抛出一些Javascript。。。如果有任何解决办法,我将不胜感激。。甚至不完全正确:)

    4 回复  |  直到 6 年前
        1
  •  8
  •   John Hartsock    15 年前

    我相信你想要这样的东西

    <div id="header" style="position:absolute; top:0px; left:0px; height:200px;overflow:hidden;"> 
    </div> 
    <div id="content" style="position:absolute; top:200px; bottom:200px; left:0px; overflow:auto;"> 
    </div> 
    <div id="footer" style="position:absolute; bottom:0px; height:200px; left:0px; overflow:hidden;"> 
    </div> 
    
        3
  •  2
  •   Matt Ball    15 年前

    使用jQuery在调整窗口大小时设置DIV2的高度:

    var $div1 = $('#DIV1'),
        $div2 = $('#DIV2'),
        $div3 = $('#DIV3'),
        $window = $(window);
    
    $window.resize(function ()
    {
        $div2.height($window.height() - ($div1.height() + $div3.height()));
    });
    

    是我用过的另一种选择。

        4
  •  0
  •   Jonnio    15 年前

    我不确定我是否完全理解你的要求。但是这个呢。

    <html>
    <head>
    <style>
    body {
        margin : 0
    }
    
    #top {
        position: absolute;
        top: 0;
        left: 0;
        height: 100px;
        border: solid 1px black
    }
    #middle
    {
        position: absolute;
        top: 100px;
        bottom: 100px;
        left: 0;
        width: 100%;
        overflow: auto;
        border: solid 1px green;
    }
    
    #bottom {
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100px;
        width: 100%;
        border: solid 1px blue;
    }
    
    </style>
    
    </head>
    <body>
        <div id="top"></div>
        <div id="middle"></div>
        <div id="bottom"></div>
    </body>
    </html>