什么是导致滚动页面,何时不需要

时间:2018-04-13 22:28:13

标签: html css flexbox

我有以下代码,有些东西计算得太高,我无法看到页脚,这会导致滚动时不应该滚动。

*注意:我正在使用reactjs,sass所以这就是为什么我可能会有一些额外的包装器,也许有些css是重复的,因为我不得不把它从嵌套中取出来。



body,
html {
  height: 100%;
  margin: 0;
}

.hidden {
  display: none !important;
}

ul.sidebar-menu {
  padding: 0;
  li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
    color: blue;
  }
}

nav {
  background-color: blue;
  color: white;
  flex: 0 auto;
  height: 100%;
}

header,
footer {
  background-color: blue;
  color: white;
  min-height: 50px;
}

.wrapper {
  display: flex;
  flex-flow: row wrap;
  height: 100vh;
}

header {
  flex: 0 0 100%;
}

main {
  flex: 2 auto;
  display: block;
}

footer {
  flex: 1 1 100%;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="app">
  
        <div class="wrapper">
            <header>
                header
            </header>
            <nav>
                <ul class="sidebar-menu">
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>
                <li>
                    Home
                </li>  
              </ul>
            </nav>
            <main>
               main 
            </main>
            <footer>footer</footer>
          </div>
    
    </div>
</body>
</html>
&#13;
&#13;
&#13;

同样对于我的ul.sidebar-menu,我如何添加滚动到这个区域。我想我必须为它设置一个高度?

2 个答案:

答案 0 :(得分:0)

height: 100%;元素中删除nav

nav {
  background-color: blue;
  color: white;
  flex: 0 auto;
}

答案 1 :(得分:0)

我在这里尝试了一些内容,当内容太多https://jsfiddle.net/fnvgho41/11/

时,应该使用滚动条完成工作

需要包裹导航&amp;主要有一个部分来轻松管理高度。

&#13;
&#13;
print(numberArray.filter({$0 > 1999}).count)
&#13;
body,
html {
  height: 100%;
  margin: 0;
}

.hidden {
  display: none !important;
}

ul.sidebar-menu {
  padding: 0;
  margin: 0;
  li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
    color: blue;
  }
}

.body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
}

nav {
  background-color: blue;
  color: white;
  flex: 0 0 100px;
  overflow: auto;
  max-height: 100%;
}

main {
    flex: 1 0 auto;
    overflow: auto;
    max-height: 100%;
}

header,
footer {
  flex: 0 1 auto;
  width: 100%;
  background-color: blue;
  color: white;
  min-height: 50px;
}

.wrapper {
  display: flex;
  flex-flow: nowrap;
  flex-direction: column;
  height: 100vh;
}
&#13;
&#13;
&#13;