【发布时间】:2021-07-19 08:48:30
【问题描述】:
正如您在 gif 中看到的,我有一个大的、可滚动的容器,里面有几个主要块(“攻击”、“释放”等)。 这些主要块中的每一个都有一个或多个列(在攻击“攻击时间”、“阈值”、“密度”等级别下)
HTML结构可以概括如下:
<div class="big-scrollable">
<div class="main-block">
<h4>Attack</h4>
<div class="column-container">
<div class="column">
<!-- Attack time -->
<... content ...>
</div>
<div class="column shown-when-expanded">
<!-- Some other column -->
</div>
</div>
</div>
<div class="main-block>
<h4>Release</h4>
<div class="column-container">
<div class="column">
<!-- Release time -->
...
</div>
...
</div>
</div>
...
</div>
我希望大的可滚动容器捕捉到每个小列(“攻击时间”、“释放时间”、“阈值”、“密度”等)。
我尝试用这种方式设置元素的样式:
.big-scrollable
{
overflow-x: auto;
scroll-behavior: smooth;
scroll-snap-type: x proximity;
}
.column
{
scroll-snap-align: start;
}
但这不起作用。 有什么纯CSS解决方案吗?还是我必须用 JavaScript 解决这个问题?
编辑:
Jonas Weinhardt 提供的 Codepen 示例确实有效,并且似乎包含相同的 CSS。
我在下面的 Pastebin sn-ps 中提供了更多我正在使用的代码。 (请注意,我更改了类名以使这个问题更清楚)
重要的 HTML:https://pastebin.com/DjvJt8v1
重要的 CSS:https://pastebin.com/tmLQQhbU
【问题讨论】:
-
你能提供一个工作示例吗? jsfiddle?
标签: javascript html css vue.js