Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何动态调整垂直侧栏以自动调整浏览器的标题和底部_Html_Css - Fatal编程技术网

Html 如何动态调整垂直侧栏以自动调整浏览器的标题和底部

Html 如何动态调整垂直侧栏以自动调整浏览器的标题和底部,html,css,Html,Css,下面的代码将自动调整垂直于浏览器窗口的菜单项,但不考虑标题。如何垂直对齐浏览器标题和底部之间的侧栏。当前,底部项目延伸到浏览器底部下方 HTML: 您可以在另一个flexbox中包装标题和侧栏。 HTML <div class="flex"> <h1> Header </h1> <div class="sidebar"> <ul> <li>Item 1</l

下面的代码将自动调整垂直于浏览器窗口的菜单项,但不考虑标题。如何垂直对齐浏览器标题和底部之间的侧栏。当前,底部项目延伸到浏览器底部下方

HTML:


您可以在另一个flexbox中包装标题和侧栏。

HTML

<div class="flex">
    <h1>
    Header
    </h1>
    <div class="sidebar">
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
        <li>Item 6</li>
        <li>Item 7</li>
      </ul>
    </div>
</div>

这是我最后使用的

HTML:


标题高度已知吗?如果页面包含垂直滚动条,菜单是否应设置为“位置:固定”,以便在固定位置始终可见?您应该将HTML和CSS放在SO答案的
编辑器中,这样我们就有了一个不链接到第三方网站(如JSFIDLE)的实时演示。也许您是对的,这是我个人的偏好,尤其是如果有外部资源或框架的话。下次我将尝试使用内部引擎:)
.sidebar{
  background-color: orange;
  margin-left: 30px;
  height: 100vh;
  position: fixed;
  top: 0px;
}

.sidebar ul{
  height: 100%;
  list-style-type: none;
  padding: 0px 15px 0px 15px;
  margin:0px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
<div class="flex">
    <h1>
    Header
    </h1>
    <div class="sidebar">
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
        <li>Item 6</li>
        <li>Item 7</li>
      </ul>
    </div>
</div>
.flex{
    flex-direction: column;
}
.sidebar{
  flex:1;
  display:inline-block;
  background-color: orange;
  margin-left: 30px;
  height: 100vh;
  top: 0px;
}

.sidebar ul{
  height: 100%;
  list-style-type: none;
  padding: 0px 15px 0px 15px;
  margin:0px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
<h1>
Header
</h1>
  <section>
    <div class="sidebar">
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
        <li>Item 6</li>
        <li>Item 7</li>
      </ul>
    </div>
  <main>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
    <p>main content</p>
  </main>
</section>
body {
  display: flex;
  height: 100vh;
}
section {
  display: flex;
  flex-grow: 1;
}
main {
  background: #eee;
  position: absolute;
}
body, .sidebar, .sidebar ul {
  display: flex;
  flex-direction: column;
}
.sidebar ul {
  flex-grow: 1;
}
.sidebar{
  background-color: orange;
}
.sidebar ul{
  list-style-type: none;
  padding: 0px 15px 0px 15px;
  margin:0px;
  justify-content: space-around;
}