css - 获取 DIV 以填充剩余宽度

标签 css layout

我正在尝试使用 CSS 获取一个 DIV 来填充剩余的页面宽度,在左侧的固定宽度 div 之后(在固定高度的标题下方)

我的 CSS 是:

body{margin:0;padding:0}
#header{height: 100px; background:#ccccff;}
#left {position:absolute; left:0; top:100px; width:200px; background:#ccffcc;}
#main {position:relative; left:200px; background:#ffcccc;} 

HTML 是:

<div id="header">Header stuff here</div>    
<div id="left">Left stuff here</div>    
<div id="main">Main stuff here</div>

(为简洁起见,此处省略了 head 和 doctype) 呈现时,主 div 仍然是整个页面宽度,这意味着右手边缘距离浏览器右边缘 200 像素。如何让主 div 填充剩余的宽度?

(最终我会想把其他的div放在主div中,并使它们的宽度以相对于主div的%表示)

这可能吗?

最佳答案

不要使用位置。使用 float 。将“左”div 向左浮动,设置其宽度。给“main”div 一个左侧 div 宽度的左边距,并将宽度设置为 auto。

#left { float: left; width: 200px;}
#main {margin-left: 201px; width: auto;}

此处示例:http://jsfiddle.net/GhtHp/1/

关于css - 获取 DIV 以填充剩余宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13499688/

相关文章:

html - css 页面布局 - 前景 "overlying"背景

php - Magento:如何对以编程方式通过扩展添加的 js 文件使用 removeItem

android - 使用 ng-template 问题的 ListView 内部的 ScrollView

html - 有没有办法将 css 页面包含为标签的样式?

javascript - 使用 jquery 删除跨度

java - 尝试将 JLabels 包装到 JScrollPane 内的 JPanel

html - 使用 CSS 垂直格式化数学方程式 (5,343 + 32)

html - 如何链接特定元素的 css?

javascript - 为什么内联元素底部有额外的边距?

html - 文本未在溢出 :auto;width:100% div when it is inside a table 中换行