我对CSS有很好的理解,但对CSS布局知之甚少。现在我需要以下布局(忽略DIV大小)需要帮助才能获得正确的CSS布局
但我得到这个
这是我的HTML和CSS
CSS:
#container
{
position:relative;
top:25px;
left:25px;
width:1024px;
height:100%;
margin-left: auto;
margin-right: auto;
background: red;
}
#top-left
{
position:relative;
top:25px;
left:25px;
width:700px;
height:auto;
min-height:150px;
background: lightgreen;
}
#right{
float:right;
min-height: 900px;
min-width: 200px;
margin-right: 10px;
background: orange;
/*margin-top: -100px; why this is needed?*/
}
#left{
float:left;
min-height: 700px;
min-width:300px;
background: blue;
}
#center
{
float:left;
min-height: 700px;
min-width:500px;
background: lime;
}
HTML:
<div id="container">
<div id="top-left">
This is the top left container which is at correct position
</div>
<div id="right" >
</div>
<div id="left" >
</div>
<div id="center" >
</div>
</div>
现在我有以下问题
为什么在右侧(橙色)的
div
默认情况下不对齐的顶部?我怎样才能做到这一点?这两个
div
(蓝色和青柠)正在被上述div
(绿色)所覆盖。虽然我可以使用margin-top:50px
进行更正,但是当我使用此选项并且左上角(绿色)格的高度增加时,右边的div
(橙色)也会向下移动并流出红色容器。那么正确的方法是什么?这是一个普遍的问题,有时会让我担心,给定div尺寸(我们肯定不会增加尺寸)可以像
400px X 300px
那样固定吗?
这是CSS布局一个有用的网站: HTTP:// learnlayout。“Q#3”的com/ – man
:只要您的设备的视口大于400像素,就可以了:如果您从移动设备上浏览该页面,该怎么办?改为使用'width:100%; max-width:400px; ' - 尝试根据*响应式设计思考* – fcalderan
避免在css中使用'position'属性。它会让你的风格混乱,特别是如果你在手机上,你应该在你的css中使用'padding'属性。 – 2014-01-15 14:45:09