Flexbox - 滚动条移动居中的内容

drh*_*irn 5 html css scrollbar flexbox

具有两列的 Flexbox。每个都有一个最大宽度为 X 的居中内容。第二列的overflow-y设置为scroll
显然滚动条需要空间并将第二列的居中内容向左移动。
有没有办法让内容仍然完全低于另一个?

HTML:

<header>
    <nav>nav</nav>
</header>
<main>
    <section>section</section>
</main>
Run Code Online (Sandbox Code Playgroud)

CSS:

html, body {
margin: 0;
padding: 0;
height: 100vh;
}
body {
display: flex;
flex-direction: column;
}
header {
flex: 0 0 auto;
}
main {
flex: 1 1 auto;
overflow-y: scroll;
}
nav {
width: 800px;
margin: 0 auto;
}
section {
width: 800px;
margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)

见:https : //codepen.io/anon/pen/VpXvyN

jos*_*ler 1

一个 hacky 修复方法是将以下行添加到“section”元素 CSS 中:

transform: translate(8px, 0);
Run Code Online (Sandbox Code Playgroud)

它将把“section”元素向右移动 8px 以适应滚动条。已在 Win 7 上的 Chrome 和 IE 中测试运行:/