【发布时间】:2015-05-21 02:54:29
【问题描述】:
我有两个 div,一个主要的左侧内容和一个右侧。使用媒体查询(随着屏幕变小),我希望左侧内容 div 向下移动并允许右侧 div 在其上方移动。
这是我目前拥有的...
HTML:
<div id="content">content</div>
<div id="aside">aside</div>
CSS:
#content {
color:white;
width:70%;
background: #111; height: 100px;
position:inline;
float:left;}
#aside {
float: right;
background: #CCC; height: 100px;width: 100px;}
@media screen and (max-width: 500px){
#content {
width: 100%;
margin-left: 0px;
clear: both;
}}
请看这里:https://jsfiddle.net/kaveman71/n55444ca/1/
目前,当调整较小时,aside div 会移动到 content div 下方(通常),但我希望发生相反的情况;旁边的 div 应该移动到左侧内容 div 的上方(而不是字面上的顶部)。
因此,当缩小尺寸时,结果应该是灰色的侧边框弹出上方黑色内容框。
有没有办法用 CSS 做到这一点?还是我需要求助于 JavaScript?如果JS是唯一的方法,谁能举个例子?
谢谢,
k
【问题讨论】:
-
非常感谢@Héctor E & Alex Wright!亚历克斯,如果你比赫克托早一分钟,我可以将你的标记为正确,但事实上,赫克托的建议足以达到预期的结果。非常感谢你们!
-
注意:
position: inline不存在:你正在混合display: inline|inline-block|many other possible values和position: relative|absolute|static|fixed -
如果必须保持 HTML 顺序(因为没有人会让您更改它,或者因为在主要内容之前放置在语义上没有意义),其他解决方案是 CSS flexbox 和有点 hackish
display: table-caption在第二个元素上(分别是 IE10+ 和 IE8+)
标签: css responsive-design resize