我有一个基本的两列CSS布局,CSS看起来像
#sidebar {
width:100px;
}
#main {
margin-left:100px;
}
还有一些示例html
<div id="content">
<div id="sidebar">some sidebar content</div>
<div id="main">some main content</div>
</div>
这样可行,但看起来重复且容易出错,侧边栏宽度需要与主要的边距左侧值相匹配。有更好的方法吗?
答案 0 :(得分:6)
您可以使用float
上的#sidebar
媒体资源:
#sidebar {
width:100px;
float: left;
}
但是,使用上述方法,如果#main
的内容导致其高度延伸到#sidebar
以下,it will wrap under the sidebar。要避免这种情况,请使用display:table-cell
属性:
#sidebar, #main {
display: table-cell;
}
答案 1 :(得分:2)
<强> CSS 强>
#sidebar { width:100px; float: left; }
#main { float: right; }
<强> HTML 强>
<div id="content">
<div id="sidebar">my stuff</div>
<div id="main">some main content</div>
<div style="clear:both;"></div>
</div>
我建议使用960.gs或BlueprintCSS进行基本的html / css样式设计。
答案 2 :(得分:0)
您可以sidebar
在main
内嵌入main
左侧填充,sidebar
-ve margin。
#content{
width: 100%;
}
#sidebar, #main{
float: left;
display: block;
}
#sidebar{
width: 100px;
background-color: orange;
margin-left: -100px;
}
#main{
padding-left: 100px;
background-color: green;
width: 100%;
}
<div id="content">
<div id="main">
<div id="sidebar">some sidebar content</div>some main content
</div>
</div>
Here 是工作演示。