width: 100vw;
,并且存在垂直滚动条,则该元素的宽度将等于视口加上滚动条的宽度。是否有可能防止这种情况发生?
是否有可能在不禁用整个页面的水平滚动条的情况下防止这种情况?除了更改我的CSS/标记以使元素占据body宽度的100%之外,我想不到任何其他方法。
经过测试,适用于Chrome版本43.0.2357.81m&FF 36.0.1&Opera 20.0.1387.91(在Windows 8.1上)。
如下所示是所需的代码: Example 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;
}