我通常是一名Web技术爱好者,而且我全都是为了无桌面设计的东西,但是现在,这有点让我感到沮丧。 :/
我正在努力实现一些非常容易使用表格的东西,但这似乎过于复杂/不可能使用浮动元素。请看以下内容:
+-----------------+ +-------+
| | | |
| #contents | | #info |
| | | |
| | +-------+
+-----------------+
#info
具有固定宽度,并且必须向右浮动到#contents
。 #contents
应该取宽度的剩余部分。
在#contents
和#info
都存在的简单设计中,这不是太复杂。它们都是固定宽度的,具有float:left
属性,非常适合。
但是,在某些网页上,#info
将不会出现。在这种情况下,很明显,#contents
无法扩展以适应所有页面。
最明显的解决方案是让#contents
没有固定宽度,以便进行缩放,并将#info
更改为float:right
。通过其他次要更改它所需的更改,它没有完全所需的行为,因为当#contents
高于#info
时,它会打破类似列的布局:
+-----------------+ +-------+
| | | |
| #contents | | #info |
| | | |
| | +-------+
| +---------+
| |
+---------------------------+
更糟糕的是,在#contents
内,还有<div>
属性设置的其他border-bottom
,边框也会以下列方式直接通过#info
:< / p>
+-----------------+ +-------+
| | | |
| #contents | | #info |
|-----------------|-|-------|
| | +-------+
| +---------+
| |
+---------------------------+
所以,考虑到所有这些,我如何给#info
一个固定的宽度,让它漂浮在#contents
的右边,但保持列式设计并{{1}当#contents
不存在时占据整个屏幕,所有这些都确保没有视觉伪像,并且不需要使用多个样式表?
这是在#info
和#contents
都存在的网页上的理想结果:
#info
这是仅存在+-----------------+ +-------+
| | | |
| #contents | | #info |
|-----------------| | |
| | +-------+
|-----------------|
| |
+-----------------+
的网页上的理想结果:
#contents
我希望这不会太混乱。我没有脑力。
答案 0 :(得分:0)
浮动你的#content div,它会阻止它像你一样泄漏,当#info消失时它会填满整个页面。如果你没有#info,你可以以某种方式更改#content,#content可以有一个位置相对和一些正确的填充,在#info中有一个绝对位置来填充它的位置。
答案 1 :(得分:0)
我通过电子邮件向我的网络老师发了电子邮件,答案非常简单。它不能与Internet Explorer(至少版本6)一起使用,但它对我的情况很有效。
将#info
设置为float:right
,只需使用属性#contents
设置overflow:hidden
即可。瞧。