我有 3 个 div,#left、#center 和 #right,我想将它们定位在具有特定宽度的同一行上,比如 300px。
#left 和 #right 的内容很少,比如每个 50px,我将它们完全展示出来。
#center 有很多内容,比如说 400px,我想在行的剩余空间内尽可能多地显示。为此,我将#center 的内容包含在#inner 中。
我已将#left 和#center 浮动到左侧,将#right 浮动到右侧。
<div id="left">
LEFT
</div>
<div id="center">
<div id="inner">
LONG CONTENT ...
</div>
</div>
<div id="right">
RIGHT
</div>
问题1:有没有办法让#center div通过CSS占据线上所有可用的剩余空间(在我们的例子中,#center必须是200px宽 - 线的宽度,300px,减去宽度#left 和 #right,每个 50px) ?
问题2:我没有通过CSS找到解决方案,我使用jQuery动态计算剩余可用空间。这在除 IE9 之外的所有浏览器中都可以正常工作。
IE9 的问题在于它具有亚像素精度,而 jQuery 只返回元素尺寸的整数值。
这是一个示例:IE9 将 #left 视为具有 50.5px 的宽度,而 jQuery 将其视为具有 50px 的宽度。这种差异导致布局在 IE9 中中断。
如果我需要通过 JavaScript 计算可用空间,我该怎么做才能克服这个 IE9 问题?