【发布时间】:2015-08-09 23:02:17
【问题描述】:
如果一个元素设置为width: 100vw; 并且有一个垂直滚动条,则该元素的宽度将等于视口加上滚动条的宽度。
是否可以防止这种情况发生?
是否可以在不禁用整个页面的水平滚动的情况下防止这种情况发生?除了更改我的 css/标记以使元素 100% 的身体宽度之外,我想不出任何东西。
在 Windows 8.1 上的 Chrome 版本 43.0.2357.81 m & FF 36.0.1 & Opera 20.0.1387.91 中测试
这里是要求的代码:
html
<div class="parent">
<div class="box"></div>
</div>
<div class="tall"></div>
css
body { margin: 0; }
html { box-sizing: border-box; }
*, *::before, *::after {
box-sizing: inherit;
position: relative;
}
.parent {
background: rgba(0, 0, 0, .4);
height: 100px;
width: 5rem;
margin-bottom: 25px;
}
.box {
position: absolute;
top: 0;
left: 0;
background: rgba(0, 0, 0, .4);
height: 50px;
width: 100vw;
}
.tall {
height: 100rem;
}
【问题讨论】:
-
这可能有很多原因。发布您的代码。
-
也许将边距设置为 0 ?
-
你试过溢出:隐藏?
-
这个错误的存在仍然让我大吃一惊,而且还没有采取任何措施。这显然不是任何人希望他们的浏览器做的事情。