【问题标题】:Why 100vh is not taking the full screen?为什么100vh不走全屏?
【发布时间】:2021-08-03 11:58:22
【问题描述】:

这是我第一次遇到此类问题。我正在尝试制作响应式导航栏。在一定宽度下,我希望我的导航链接 div 转到右侧栏。但是导航链接 div 即使在提供 100vh 之后也没有占据完整的视口高度。这是代码-

HTML

<header>
  <nav>
    <div class="logo">Logo</div>

    <div class="nav-items">
      <li><a href = '#'>Link-1</a></li>
      <li><a href = '#'>Link-2</a></li>
      <li><a href = '#'>Link-3</a></li>
    </div>
  </nav>
</header>

SCSS

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

header {
  background: blue;
    nav {
        height: 65px;
        max-width: 1340px;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: auto;
        padding: 1rem;

        .logo {
            font-size: 2rem;
            color: black;
        }

        .nav-items {
            li {
                display: inline;

                a {
                    color: black;
                    text-decoration: none;
                    margin-left: 2rem;
                }
            }
        }

    }
}

@media screen and (max-width: 768px) {    
    header nav .nav-items {
        position: absolute;
        right: 0;
        height: 100vh;
        width: 50%;
        border: 1px solid black;
    }
}

codepen 的链接 -

https://codepen.io/yell0wflash/pen/JjWGwJa

【问题讨论】:

  • 是因为.header.nav设置为display:flex,不过其他人可以给个深入的解释

标签: html css sass responsive-design viewport-units


【解决方案1】:

设置位置为固定,添加top:0;在媒体查询中还有 height:100vh 和 left 或 right 为 0

【讨论】:

  • 非常感谢。添加 top: 0 解决了我的问题。
【解决方案2】:

高度为 100vh,但您设置了align-items:center,因此该元素偏移以与其他 flex 元素对齐。

添加

header nav {
    align-items: flex-start;
}

到您的媒体查询

现在你的 nav 元素有填充,你需要适应它

height: calc(100vh - 16px);

【讨论】:

    【解决方案3】:

    这是因为您有 align-items:center; 根据媒体查询更改此设置。

    @media screen and (max-width: 768px) {    
        header nav  {
            align-items:unset;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-01
      • 1970-01-01
      • 2011-02-05
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多