如果一个元素被设置为 width: 100vw;
,并且有一个垂直滚动条,那么该元素的宽度将等于视窗加上滚动条的宽度。
有可能阻止这一切吗?
有没有可能在不禁用整个页面的水平滚动的情况下防止这种情况发生?除了修改 css/markup 使元素的宽度为正文的100% 之外,我想不出任何东西。
在 Chrome Version 43.0.2357.81 m & FF 36.0.1和 Opera 20.0.1387.91中在 Windows 8.1上进行测试
下面是所要求的代码:
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;
}