我正在学习 JS,我所做的任务之一 - 是编写简单的 JS、HTML 和 CSS 导向代码,只是为了帮助我学习 JS 并能够创建某些 JS Web 元素和项目,这样当我觉得我有一个很好的掌握了 JS 以后我可以将它们应用到更大的项目中。
无论如何,我正在使用:
display: flex;
align-items: center;
/* AND */
justify-content: center;
到我的 CSS 文件中的“body”。这不应该使元素自动显示在中心、垂直和水平方向吗?我没有任何其他 CSS 规则会扰乱它。反正我不这么认为。
但是,如果我检查该元素并转到代码的最上面一行 - HTML 代码是:
<html lang="en">
height: 100%;
height: 100%;
噗,它起作用了。它将元素垂直居中于页面中心。它已经水平居中。只是在我添加该代码之前不是垂直的。但我认为我不必将 100% 的高度添加到
<html lang="en"> element.style
这是我的代码,很抱歉这篇文章很长。只是非常困惑。
body {
background-color: #dbdbdb;
display: flex;
align-items: center;
justify-content: center;
}
.arrows {
height: 70px;
}
/* .left-arrow {
display: flex;
align-items: center;
justify-content: center; */
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 50px;
}
.top {
display: flex;
align-items: center;
gap: 50px;
}
<div class="container">
<div class="top">
<img src="images/left-arrow.svg" class="arrows arrow-left" alt="Left Arrow">
<div class="frame">
<div class="slider"></div>
</div>
<img src="images/right-arrow.svg" class="arrows arrow-right" alt="Right Arrow">
</div>
<div class="bottom"></div>
</div>
<script src="slider.js"></script>
slider.js 文件中没有代码。我还没到那一步。
我尝试将多个 CSS 类的高度从 100% 和 100vh 更改。老实说,我不确定发生了什么,我已经删除了一些 HTML 元素以及一些 CSS 元素。
哦...每次我想要将某些东西集中在身体中心时都会遇到的问题...
问题是你的身体
height
不会自动设置为视口高度的100%,如果你的内容没有填充该高度,你需要在身体上手动设置它,如下所示:
body {
height: 100vh;
}
“vh”是尺寸单位,代表“视口高度”。当我们将 body 的高度设置为 100vh 时,它基本上意味着 body 的高度应该是视口的 100%,有趣的是,如果您只是简单地将 body 的高度设置为 100%,则它不会工作!这可能有点令人困惑,但我现在会解释一下。当你这样做时:
body {
height: 100%;
}
它基本上意味着主体的高度应该是父元素(即 html 标签)的 100%,但需要注意的是,如果您没有为 html 标签设置高度,则高度将由子元素自动设置元素。
我希望我的解释足够好,以便您能够解决您的问题,如果您还有任何问题,请告诉我