如何获得动态css布局:

时间:2013-02-15 08:41:22

标签: css layout

我是css和布局的新手,并且有一个布局的问题

我正在尝试在JS中开发一个应用程序,但我希望在纯CSS中使用此布局。可能吗?

这是一个小提琴: http://jsfiddle.net/vxeqL/

我的主要问题是蓝框,因为#left是100%高度,#left-top有恒定高度:200px;

enter image description here

我的代码远(HTML):

<div id="header">
</div>

<div id="container">

<div id="left">

    <div id="left-top"></div>
    <div id="left-bottom"></div>
</div>


<div id="right">
</div>


</div>

<div id="footer">
</div>

和CSS

#header {
  height: 60px;
  width: 100%;
}

#container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 60px;
  bottom: 60px;
  left:0;
}

div#left {
width: 600px;
float: left;
height: 100%;
}

div#left-top {
width: 100%;
height: 200px;
}

div#left-bottom {
#width: ?;
#height: ?;
}

div#right {
width:100%;
height: 100%;
margin-left:600px;
}

div#footer {
position: absolute;
width: 100%;
height: 60px;
bottom: 0;
left: 0;
}

2 个答案:

答案 0 :(得分:1)

为什么不使用绝对定位? 看一下这个: http://jsfiddle.net/hPpTV/

#header, #container, #left, #left-top, #left-bottom, #right, #footer {
    position: absolute;
}
#header {
    top:0;
    height: 60px;
    width: 100%;
}
#container {
    width: 100%;
    top: 60px;
    bottom: 60px;
}
#left {
    top: 0;
    bottom:0;
    width: 300px;
}
#left-top {
    top:0;
    left:0;
    width: 100%;
    height: 200px;
}
#left-bottom {
    top: 200px;
    bottom: 0;
    width: 100%;
    overflow:auto;
}
#right {
    top:0;
    left: 300px;
    right: 0;
    bottom: 0;
    overflow:auto;
}
#footer {
    width: 100%;
    height: 60px;
    bottom: 0;
}

答案 1 :(得分:0)

#header {
  height: 60px;
  width: 100%;
}
#container {
 height:100%;
}
div#left {
width: 600px;
float: left;
height: 100%;
}
div#left-top {
width: 100%;
height: 200px;
}
div#left-bottom {
height:150px;
width:100%;
overflow-x:scroll;
overflow-y:hidden;
}
div#left {
width:40%;
float:left;
height: 100%;
}
div#right {
width:60%;
height: 100%;
float:right;
}
div#footer {
width: 100%;
height: 60px;
}