【发布时间】:2013-11-28 22:39:52
【问题描述】:
我在解决这个难题时遇到了麻烦:我正在使用 2 列布局,其中右列和左列固定宽度,从而占用了剩余空间。两个高度都是可变的。所以是这样的:
<div class="sidebar">sidebar</div>
<div class="main-area">main content</div>
<style>
.sidebar { float: right; width: 250px; }
.main-area { position: relative; overflow: hidden; }
</style>
好的,到目前为止一切都很好。但棘手的问题来了。当达到 750px 的最大宽度时,我正在使用 CSS3 来启用 CSS 更改。我希望侧边栏在下方分解并具有 100% 的宽度(因此它成为主要内容的页脚)。但是,因为在 HTML 代码中,侧边栏 div 必须位于首位,所以它总是出现在主区域上方。
关于如何布局的任何想法?
非常感谢!
【问题讨论】:
-
sidebar向右,即在main-area之后不是 html 代码中的选项? -
为什么要求侧边栏出现在 HTML 层次结构中的主要内容之前?除非您自己创建了限制,否则这里没有限制。
-
其实
sidebar可以自动移动到main-area下,如果你把<div class="sidebar">sidebar</div>放在<div class="main-area">main content</div>之后 -
在 2 列结构中,带有浮动右侧边栏和占据所有剩余空间的主要区域,浮动右侧需要在 html 标记中排在首位。如果我将侧边栏放在主要区域之后,这将不起作用,对吗?
-
嘿迈克尔。当然,我尝试将主要区域放在侧边栏之前。但是当你这样做时,主区域不会占用剩余空间(窗口宽度 - 侧边栏的 250 像素)。这仅在侧边栏出现在标记中时才有效。当你把 main-area 放在首位时,它会占据 100% 的宽度,因为没有定义宽度。
标签: html css layout responsive-design frontend