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进行测试:/