我正在使用具有较旧设计的旧网站,该网站使用两个垂直菜单侧栏,一个在主内容的左侧,一个在右侧。在狭窄的屏幕上(例如在移动视图中),侧栏div在主要内容之前显示。我希望它们在主要内容div之后放到页面底部。
我意识到这可以通过flexbox轻松完成,但是parent和container div太多了,我不想破坏任何东西。重新设计整个站点超出了此任务的范围。
CSS中是否有一种方法可以在不更改任何父div的属性的情况下将这两个div强制到其容器的底部?
编辑:或者,也可以将内容div推到移动视图的顶部。
可以通过在元素上使用position: relative
的css以及在左侧边栏'https://jsfiddle.net/bdp1rhvq/5/上使用负值的left属性来完成。也可以用JS完成。
<div id='wrapper'>
<div id='content'>
content
</div>
<div id='sidebar-left'>
sidebar-left
</div>
<div id='sidebar-right'>
sidebar-right
</div>
</div>
body {
margin: 0;
padding: 30px;
}
#wrapper {
margin: 0 auto;
}
#content {
width: 100%;
height: 130px;
float: left;
background: #FF5733;
}
#sidebar-left {
width: 100%;
height: 130px;
float: left;
background: #00cc99;
}
#sidebar-right {
width: 100%;
height: 130px;
float: left;
background: #cc66ff;
}
@media only screen and (min-width: 600px) {
#wrapper,
#content,
#sidebar-left,
#sidebar-right {
position: relative;
}
#sidebar-right {
width: 25%;
right: 0;
}
#sidebar-left {
width: 25%;
left: -50%;
}
#content {
width: 50%;
left: 25%;
}
}