html – Flexbox – 滚动条移动居中的内容

Flexbox有两列.每个都有一个居中的内容,最大宽度为X.第二列有overflow-y设置滚动.

显然,滚动条需要空间并将第二列的居中内容向左移动.

有没有办法让内容完全低于另一个?

HTML

<header>
    <nav>nav</nav>
</header>
<main>
    <section>section</section>
</main>

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;
}

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

最佳答案 一个hacky修复方法是将以下行添加到’section’元素CSS:

transform: translate(8px, 0);

它会将’section’元素8px向右移动以占用滚动条.
在Win 7上使用Chrome和IE进行测试:/

点赞