html - 如何在不使用 overflow-y : hidden? 的情况下摆脱 body 下方的空白

标签 html css

我试图使页面适合 Web 浏览器的完整 View ,但由于某种原因,我在正文下方留下了空白。我添加高度的原因是没有高度,它不会与 flex 垂直对齐。

我希望能够在不隐藏 overflow-y 的情况下解决这个问题,因为这似乎不适用于响应式代码。

我已尝试将正文和 HTML 设为 100%,这阻止了我垂直对齐容器。

该页面位于 Github 上,如果您希望在那里看到它。您会在所有内容下方看到一个空白区域: http://kaleshe.co.uk/portfolio

这是我在测试时检查过的主要 HTML 的片段:

<body>...
<header>...</header>
<main>
    <div class="container" id="index">
      <section>
        <h1>Web Designer in London</h1>
        <h2>I create beautiful websites that are easy to use on mobile and desktop.</h2>
        <a href="work.html"><button class="btn-dark">View Work</button></a>
      </section>
    </div>
  </main>
</body>...

这是一些相关的 CSS:

html {
  height: 100%;
}

body {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  color: var(--secondary-colour);
  background: linear-gradient(130deg, var(--main-colour) 0%,  var(--main-colour) 20%, #000a18 100%);
  background-image: url('../img/city.svg'), linear-gradient(130deg, var(--main-colour) 0%,  var(--main-colour) 20%, #000a18 100%);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  line-height: 1.7em;
  height: 100%;
  padding: 1em;
  margin: 0;
}

.container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
  height: 100%;
  justify-content: center;
}

main {
  height: calc(100% - 2em);
}

我希望任何地方都没有空白。但是目前有空白

最佳答案

在链接页面中,<ul> 的默认边距(由用户代理样式表设置)用于导航的元素抵消了您的 <main>元素,创建空白。 根据您的喜好,您可以删除 <ul> 的默认边距。或调整您的 <main> 的大小.

ul {
  margin: 0;
}
/* or */
main {
  height: calc(100% - 4em);
}

关于html - 如何在不使用 overflow-y : hidden? 的情况下摆脱 body 下方的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55549647/

相关文章:

javascript - 将 bool 值分配给 html 表条目

javascript - Angular Material 布局与我原来的 CSS 冲突

css - 烦人的css+div布局

html - 使用 CSS 设置箭头的永久位置,而不影响表格单元格中的文本对齐

php - 我的链接使用 jquery 时效果不佳

html - 替换行内元素和行内 block 元素的区别

javascript - 将图像和视频动态适配到 iframe 中

javascript - 如何在鼠标移出时隐藏此下拉菜单

css - 两列 float 对象布局,停止水平对齐?

html - 使用 css 更改嵌套跨度样式具有样式标签