/* structure */
body {
margin:0;
padding:0;
}
#break {
clear:both;
}
/* header */
header {
padding:15px;
background:silver;
}
#avatar {
float:right;
}
#brand {
float:left;
}
/* nav */
nav {
clear:both;
}
#menu1 ul {
margin:0;
padding:0;
}
#menu1 ul li {
list-style-type:none;
float:left;
margin:0 1px 0 0;
width:150px;
height:50px;
background:orange;
}
#menu2 {
clear:both;
float:left;
margin:1px 0 0 0;
}
#menu2 ul {
margin:0;
padding:0;
}
#menu2 ul li {
list-style-type:none;
float:left;
margin:0 1px 0 0;
width:150px;
height:50px;
background:orange;
}
/* main */
#commentswrapper {
clear:both;
}
#comments {
clear:both;
background:grey;
}
#feature {
position:absolute;
top:0;
left:0;
width:600px;
background:lime;
}
#images {
position:relative;
margin:0 300px 0 600px;
background:cyan;
}
#recommend {
position:absolute;
top:0;
right:0;
width:300px;
background:red;
}
#main {
position:relative;
}
#mainwrapper {
clear:both;
position:relative;
}
#title {
clear:both;
background:brown;
}
@media screen and (max-width:1280px){
/* structure */
body {
margin:0;
padding:0;
}
#break {
clear:both;
}
/* header */
header {
padding:15px;
background:silver;
}
#avatar {
float:right;
}
#brand {
float:left;
}
/* nav */
nav {
clear:both;
}
#menu1 ul {
margin:0;
padding:0;
}
#menu1 ul li {
list-style-type:none;
float:left;
margin:0 1px 0 0;
width:150px;
height:50px;
background:orange;
}
#menu2 {
clear:both;
float:left;
margin:1px 0 0 0;
}
#menu2 ul {
margin:0;
padding:0;
}
#menu2 ul li {
list-style-type:none;
float:left;
margin:0 1px 0 0;
width:150px;
height:50px;
background:orange;
}
/* main */
#comments {
clear:both;
background:grey;
}
#feature {
position:absolute;
top:0;
left:0;
width:600px;
background:lime;
}
#images {
margin:0 0 0 600px;
}
#recommend {
clear:both;
float:left;
position:relative;
margin:0;
width:100%;
background:red;
}
#main {
position:relative;
}
#mainwrapper {
clear:both;
float:left;
position:relative;
}
#title {
clear:both;
background:brown;
}
}
<body>
<header>
<div id="brand">logo</div>
<div id="avatar">avatar</div>
<div id="break"></div>
</header>
<nav>
<div id="menu1">
<ul>
<a href=""><li>nav1</li></a>
<a href=""><li>nav2</li></a>
<a href=""><li>nav3</li></a>
<a href=""><li>nav4</li></a>
</ul>
</div>
<div id="menu2">
<ul>
<a href=""><li>nav1</li></a>
<a href=""><li>nav2</li></a>
<a href=""><li>nav3</li></a>
<a href=""><li>nav4</li></a>
</ul>
</div>
</nav>
<div id="title">
title
</div>
<div id="mainwrapper">
<div id="main">
<div id="feature">
111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111
</div>
<div id="images">
222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222
</div>
<div id="recommend">
333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333
</div>
</div>
</div>
<div id="commentswrapper">
<div id="comments">
comments
</div>
</div>
</body>
#comments div,在 3 个主要 div(#feature、#images、#recommend)下,当浏览器收缩到小于 1280 像素时完美浮动。但是,展开后,#comments div 仅在 #images div 下浮动,因为其他 2 个 div 是绝对定位的。我明白它为什么会这样做,我只是不知道如何解决它。如何在浏览器大于 1280 像素时浮动#comments div,同时在中间 div (#images) 可拉伸的情况下仍保留填充屏幕的所有 3 个 div 的特性?