在移动视图的主要内容之后显示侧边栏

问题描述 投票:0回答:1

我正在使用具有较旧设计的旧网站,该网站使用两个垂直菜单侧栏,一个在主内容的左侧,一个在右侧。在狭窄的屏幕上(例如在移动视图中),侧栏div在主要内容之前显示。我希望它们在主要内容div之后放到页面底部。

我意识到这可以通过flexbox轻松完成,但是parent和container div太多了,我不想破坏任何东西。重新设计整个站点超出了此任务的范围。

CSS中是否有一种方法可以在不更改任何父div的属性的情况下将这两个div强制到其容器的底部?

编辑:或者,也可以将内容div推到移动视图的顶部。

html css layout
1个回答
0
投票

可以通过在元素上使用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%;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.