javascript - 如何将滚动条与视口(viewport)宽度单位考虑在内?

标签 javascript css

我正在尝试开发一个类似于 Netflix 的轮播,但我无法使其响应。我一直在使用 codepen 示例:

Link to example

在此示例中,它具有硬编码的宽度和高度。我想让它使用响应式度量(百分比)。我想使用 vw 视口(viewport)宽度单位,但这对我不起作用,因为它不排除滚动条。因此,当我希望每个轮播元素的宽度为 20vw(以便每个元素都是视口(viewport)大小的 20%)时,它们总是比我想要的更宽,因为视口(viewport)不排除滚动条。

如何解决这个问题?

最佳答案

我举了一个例子:Link

在此示例中,我想显示五个元素并在右侧显示一个箭头。第 6 项应该隐藏在箭头后面,但箭头宽度不正确。

每个元素的宽度为 18.4vw ( (100-8)/5=18.4)。正如你所看到的,我在左侧和右侧添加了 4vw 的填充(因此,我为总宽度减去 8),因此,我使用以下内容制作了箭头层:

position:absolute;
right:0;
width:4vw;

通过这种方式,箭头始终固定在右侧。

问题是 18.4vw 是尊重视口(viewport)的度量,并且由于有滚动条,宽度不正确,因为滚动条宽度破坏了正确的度量。

不知道你是否明白我想做什么。

BR。

关于javascript - 如何将滚动条与视口(viewport)宽度单位考虑在内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34826143/

相关文章:

javascript - 我们如何在浏览器中缓存内联 SVG?

javascript - 如何在html中将组件的高度设置为父组件的百分比?

JavaScript:动态执行跟踪代码

javascript - 来自 javascript 的新行字符串

javascript - Silverlight 没有 html/css/javascript?

html - Bootstrap 面板堆叠在行后

javascript - 如何在表单数据上附加多个文件输入

css - Chrome 无法正常工作,知道吗?

css - 原生 CSS 嵌套困惑

html - 我无法将文本颜色更改为超链接