首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含滚动条宽度的100vw问题

问包含滚动条宽度的100vw问题
EN

Stack Overflow用户
提问于 2018-10-12 18:06:12
回答 2查看 3.1K关注 0票数 1

我有一个div,它需要是全屏宽度,在父div中有一个有限的。简而言之,它类似于:

HTML:

代码语言:javascript
复制
<div class="container">
  <div class="banner">
  </div>
</div>

CSS:

代码语言:javascript
复制
.container {
  width: 1170px;
  margin: auto;
}
.banner {
  width: 100vw;
  margin-left: calc( 50% - 50vw);
}

它工作得很好,除了一件事:页面上的滚动条覆盖了子div中的一些内容,因为100vw看起来包括滚动条宽度。那么,有没有办法绕过这个问题,这样我就可以将宽度设置为(100vw - scrollbar width),或者用一种完全不同的方式来实现我想要的纯CSS呢?

EN

回答 2

Stack Overflow用户

发布于 2018-10-12 18:45:06

除了设置滚动条宽度并使用“纯CSS”从容器的宽度中减去滚动条宽度之外,没有其他方法。

您可以使用以下命令为webkit浏览器中的滚动条指定宽度:

代码语言:javascript
复制
body::-webkit-scrollbar {
 width: scrollbarwidthpx;
}

并将conent宽度设置为:

代码语言:javascript
复制
width: calc(100vw - scrollbarwidthpx);

You could make use of this article regarding customizing scrollbar

票数 1
EN

Stack Overflow用户

发布于 2019-05-13 13:26:46

在可以使用的地方尝试使用%。vw是包括滚动条在内的视口宽度的百分比,%是包装器对象的百分比,其中主体不在滚动条内渲染。

  • 不要使用固定宽度(px)容器。这是一种糟糕的做法,在移动屏幕上不能很好地呈现。参见响应式网页设计了解更多信息。
  • 不要将vw用于容器(或横幅)。它在滚动条上有奇怪的效果。

最后,我不明白为什么你想要的东西是300vw或3倍的视窗宽度,但可以肯定。如果您使用响应式web设计正确地设计了页面,并避免使用px设置任何包装器尺寸,那么就不难知道包含div的宽度是多少。例如,如果包装器(包含div)位于视区的30%,而您希望横幅占视区的300%,则希望横幅跨过三个屏幕的宽度为1000%。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52777191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档