右侧固定菜单

时间:2017-11-30 20:35:32

标签: html css reactjs css-position

我有一个网页,中间有一个主div,可以垂直滚动。

我希望有一个固定的菜单,一直停留在页面的右侧。但是,如果我使用' position:fixed',当我将页面调整为小于中央div时,菜单会重叠中央div

全宽页面: enter image description here

调整页面: enter image description here

相反,我希望中央div的最小宽度优先,固定菜单只在这种情况下通过向右滚动显示。

固定菜单是否可以位于中央div的右侧,而不是粘在浏览器的右侧?

很抱歉,如果这个问题不清楚,我很乐意回答评论中的任何不确定因素

3 个答案:

答案 0 :(得分:0)

您可以添加第二个div,其宽度与菜单下方的菜单相同,以推动中心div或您可以调整主div的大小。

答案 1 :(得分:0)

使用This可能会在开始时造成混淆,但将是解决方案。 (用班级" col-md-8"做一个空的div;然后给nave栏一个带有" col-md-4"类的环绕div。到处都有课程在这方面,所以它不应该很难接受。希望这会有所帮助:)

答案 2 :(得分:0)

一种简单而有效的方法是使用flexbox。 假设您的中心div为600px,侧边栏为200px,那么您将拥有以下CSS:

.container {
  width: 100%;
  display: flex;
  // flex defaults to left-to-right row & nowrap, fine in this case
  justify-content: space-between;
  // makes sure your 2 child divs will be pushed left & right
}

.main {
  flex-grow: 1; // makes the main div grow to occupy space if width > 800px
  flex-shrink: 0; // main div never shrinks below its flex-basis size
  flex-basis: 600px;
}

.sidebar {
  flex-grow: 0; // sidebar never grows
  flex-shrink: 0; // and never shrinks
  flex-basis: 200px;
}

请参阅this Codepen

有一点需要注意:Flexbox支持在较旧的浏览器(IE 10)上是不稳定的,或者是不支持的(IE 9及以下版本)。