【发布时间】:2018-11-17 19:17:53
【问题描述】:
我遇到了有趣的设计问题。 我需要像 youtube 菜单(左侧菜单)一样制作滚动条: 默认滚动条隐藏,但带有 :hover 显示滚动条。
我使用 overflow: hidden 和 overflow: auto (用于 :hover)。 但对于移动设备不适用于此方法。
我搜索解决方案并找到几种有趣的方法: https://codepen.io/kizu/pen/OyzGXY
.scrollbox {
width: 10em;
height: 10em;
overflow: auto;
visibility: hidden;
}
.scrollbox-content,
.scrollbox:hover,
.scrollbox:focus {
visibility: visible;
}
.scrollbox_delayed {
transition: visibility 0.2s;
}
.scrollbox_delayed:hover {
transition: visibility 0s 0.2s;
}
<h2>Hover it</h2>
<div class="scrollbox" tabindex="0">
<div class="scrollbox-content">Hover me! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere velit, repellat voluptas ipsa impedit fugiat voluptatibus. Facilis deleniti, nihil voluptate perspiciatis iure adipisci magni, nisi suscipit aliquam, quam, et excepturi! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere velit, repellat voluptas ipsa impedit fugiat voluptatibus. Facilis deleniti, nihil voluptate perspiciatis iure adipisci magni, nisi suscipit aliquam, quam, et excepturi!</div>
</div>
<h2>With delay</h2>
<div class="scrollbox scrollbox_delayed" tabindex="0">
<div class="scrollbox-content">Hover me! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere velit, repellat voluptas ipsa impedit fugiat voluptatibus. Facilis deleniti, nihil voluptate perspiciatis iure adipisci magni, nisi suscipit aliquam, quam, et excepturi! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere velit, repellat voluptas ipsa impedit fugiat voluptatibus. Facilis deleniti, nihil voluptate perspiciatis iure adipisci magni, nisi suscipit aliquam, quam, et excepturi!</div>
</div>
但我不知道包装器的高度,这个解决方案对我不起作用。
是否有一种工作方式可以在不使用 JS 的情况下制作类似的东西? 如果不存在,那么 JS 最简单的解决方案是什么? (我通过 JS-library 找到示例:https://tympanus.net/Tutorials/ScrollbarVisibility/index.html)
【问题讨论】:
标签: html css youtube scrollbar