【发布时间】:2020-10-06 02:23:21
【问题描述】:
相当大的 sn-p 但这是我正在处理的网站的基本布局,问题实际上非常简单 - 我使用的是宽度容器,导航栏和主要元素的宽度相同 - 一切对齐很好,除非我使用 overflow-y: auto 在 main 元素上创建滚动条。
由于滚动条,主体的中心现在短了几个像素。
有没有办法阻止浏览器在出现滚动条时自动调整视图的中心?
我还没有在其他浏览器上测试过,但我在 Firefox 上看到了这个,我只是想知道是否有适用于所有浏览器的简单修复,或者它是否只是我们必须忍受的东西。
这里添加了溢出:
这里没有:
您可以看到导航栏中居中的白色部分与主体居中的浅灰色部分未对齐。
html {
height: 100%;
font-size: calc(1em + 1vw);
}
body {
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
font-family: Arial, Helvetica, sans-serif;
display: flex;
flex-direction: column;
background-color: #ccc;
box-sizing: border-box;
}
header {
display: flex;
justify-content: center;
box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 2px;
z-index: 1000;
}
main {
display: flex;
overflow-y: auto;
justify-content: center;
flex: 1 0 0px;
}
.navTop-widthContainer {
max-width: 536px;
flex: 1 0 0px;
display: flex;
background-color: #fff;
}
.navTop {
display: inline-flex;
flex-direction: row;
flex: 1 0 auto;
flex-shrink: 0;
}
.navTop div {
display: flex;
}
.floatRight {
margin-left: auto;
order: 2;
}
.f-d {
display: flex;
flex-direction: column;
}
.f-d div {
display: flex;
justify-content: center;
}
.widthContainer {
max-width: 536px;
background-color: #eee;
border-left: solid 1px #ddd;
border-right: solid 1px #ddd;
color: #242424;
}
<body>
<header>
<div class="navTop-widthContainer">
<nav id="navTop" class="navTop" role="navigation">
<div>
<a href="/Services">Services</a>
<a href="/Customer">Shopping</a>
</div>
<div class="floatRight">
<a id="register" href="/Identity/Account/Register">Register</a>
<a id="login" href="/Identity/Account/Login">Login</a>
</div>
</nav>
</div>
</header>
<main>
<div class="widthContainer f-d">
<div>
<p>Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill
text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text
Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill
text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text Fill text
Fill text Fill text Fill text Fill text Fill text Fill text</p>
</div>
</div>
</main>
</body>
【问题讨论】:
标签: javascript html css