【发布时间】:2016-01-06 07:19:36
【问题描述】:
在 Chrome 上,页面上有一个水平滚动条,方向 rtl 与 margin-right: auto 和 overflow: auto 组合,即使没有边距也没有内容。
例如,请参阅https://jsfiddle.net/ht3drjae/2/。我希望看到没有绿色背景颜色和水平滚动条,因为内部和外部应该具有相同的宽度。
滚动条仅在 Chrome 上存在,但在 Firefox 或 IE 上不存在。那么为什么会有滚动条呢?这是浏览器的错误吗?
HTML:
<div class="outer">
<div class="inner"></div>
</div>
CSS:
body {
direction: rtl;
}
.outer {
height: 500px;
overflow: auto;
background: green;
}
.inner {
height: 1000px;
margin-right: auto;
background: red;
}
【问题讨论】:
-
我认为这是因为左侧的滚动条导致了额外的宽度。这可能会有所帮助:stackoverflow.com/questions/18548465/…
-
滚动条不会增加元素宽度,它们的宽度是从元素内容宽度中减去的。 “滚动条占用的任何空间都应该从带有滚动条的元素形成的包含块中取出(从尺寸中减去)。” w3.org/TR/CSS21/visufx.html#overflow
标签: css google-chrome right-to-left