【发布时间】:2014-10-04 04:31:08
【问题描述】:
我正在尝试在 css 中并排显示 2 个 div。
- 第一个 div 具有可变宽度(根据它包含的图像)。
- 第二个必须占据所有剩余的宽度。
- 第二个 div 包含 3 个部分:“top”、“middle”和“bottom”,其添加高度为 100%。
- 两个 div 的高度均为 100%。
感谢this question,我成功地将 div 并排放置,当主体具有固定尺寸时,一切正常。
但由于我将此页面嵌入到 iframe 中,因此我希望 div 占据所有可用空间。我想避免使用 javascript 设置正文尺寸...
我决定将这段代码添加到正文中:
body {
margin: 0;
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
}
这在 Chrome 和 Safari 上起到了作用:图像有一个 100% 的高度来定义它的宽度,第二个 div 伸展直到它占据了所有可用空间。 (标题显示在图像上)
但是当我使用 Firefox 时,第一个窗格比预期的要大(见红色矩形)。
我用代码创建了一个小提琴:http://jsfiddle.net/0w0s6z5n/1/
我不明白为什么行为不同以及我在此页面上做错了什么。有人可以向我解释为什么这种行为会有所不同,并为我指明正确的方向,以成功地在 Chrome/Safari 上显示所有内容。
提前感谢您的帮助。
【问题讨论】:
-
也许你可以尝试为盒子设置一个最大宽度属性?由于没有firefox,我无法对其进行测试,抱歉,希望对您有所帮助
-
感谢您的回答。由于我事先不知道body的大小和图像的大小,所以我认为我不能随意放置
max-width属性。我希望页面完全适应可用空间。 -
没错,希望有人知道解决方案,祝你好运!
标签: html css firefox cross-browser