我正在用html制作一个应用程序,并且需要有一个滚动条。但是,每当我添加一个时,它都会移动所有内容,以便为滚动条提供必要的空间。这搞砸了应用程序的布局。
因此,我需要一种方法,使滚动条简单地覆盖在页面顶部,这意味着页面仍然在它后面。我已经知道如何设计滚动条以使背面透明,我只需要滚动条不占用任何空间。
提前感谢!
scrollbar gutter
CSS属性允许作者为滚动条保留空间,防止内容增长时出现不必要的布局更改,同时避免在不需要滚动时出现不需要的视觉效果。
body {
overflow-y: auto;
scrollbar-gutter: stable;
}
body {
padding: 16px;
}
.grid {
display: grid;
grid-template-columns: repeat(2, 273px);
grid-gap: 16px;
}
.card-header {
margin-bottom: 4px;
white-space: pre-line;
font-weight: bold;
}
.card-body {
overflow: auto;
border: 1px solid black;
height: 120px;
}
.scrollbar-stable {
scrollbar-gutter: stable;
}
html lang-html prettyprint-override"><h1><code>scrollbar-gutter</code> sample</h1>
<div class="grid">
<div class="card">
<pre class="card-header">
overflow: auto;
scrollbar-gutter: auto;
</pre>
<div class="card-body">Doggo ipsum length boy noodle horse doing me a frighten doggorino, woofer he made many woofs. Thicc puggorino smol</div>
</div>
<div class="card">
<pre class="card-header">
overflow: auto;
scrollbar-gutter: stable;
</pre>
<div class="card-body scrollbar-stable">Doggo ipsum length boy noodle horse doing me a frighten doggorino, woofer he made many woofs. Thicc puggorino smol</div>
</div>
<div class="card">
<pre class="card-header">
overflow: auto;
scrollbar-gutter: auto;
</pre>
<div class="card-body">Doggo ipsum length boy noodle horse doing me a frighten doggorino, woofer he made many woofs. Thicc puggorino smol borking doggo with a long snoot for pats shibe long woofer very hand that feed shibe pats, vvv wow such tempt long woofer heckin fluffer. Long water shoob smol corgo sub woofer</div>
</div>
<div class="card">
<pre class="card-header">
overflow: auto;
scrollbar-gutter: stable;
</pre>
<div class="card-body scrollbar-stable">Doggo ipsum length boy noodle horse doing me a frighten doggorino, woofer he made many woofs. Thicc puggorino smol borking doggo with a long snoot for pats shibe long woofer very hand that feed shibe pats, vvv wow such tempt long woofer heckin fluffer. Long water shoob smol corgo sub woofer</div>
</div>
</div>
如果不使用阴暗的黑客手段,就无法让滚动条出现在你的内容顶部,而且这也不是最好的主意,因为它会影响你的应用程序的可用性。如果滚动条在内容上方,它可能会隐藏链接/文本等。
理想情况下,您的页面应以适合不同浏览器/页面宽度的方式进行样式设置,而不会中断。特别是只有一个小滚动条。
无论如何,这里有一个解决方法可能会有所帮助:
html {
overflow-y: scroll;
}
添加这种样式将确保滚动条轨道始终存在,并且还有助于避免滚动条出现/消失时出现“跳跃”页面。同样,真正的解决方案是使用灵活的布局。
顺便说一下,通常不建议设计滚动条的样式。它不能跨浏览器工作,通常会被完全忽略。
您可以使用溢出
覆盖
属性而不是滚动
:
css prettyprint-override">html {
overflow-y: overlay;
}
问题内容: 我的页面布局看起来像这样: 您会注意到,当垂直滚动条出现时,content-wrapdiv会稍稍移动其位置。一种情况是浏览器开始逐渐呈现页面而不显示垂直滚动条,然后确定需要滚动条,因为内容比“折叠”高。这会将div向左移动约10像素。 在 不强制浏览器始终显示滚动条的情况下 解决此问题的最佳方法是什么 ? 问题答案: 恐怕解决此问题的最佳方法是使用强制滚动条始终可见。您遇到的问题是,出
本文向大家介绍js防止DIV布局滚动时闪动的解决方法,包括了js防止DIV布局滚动时闪动的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js防止DIV布局滚动时闪动的方法,分享给大家供大家参考。具体方法如下: 最近接触页面性能的东西,有很多细微又原始的内容,比如浏览器渲染。资料非常多,所以选一些做节译,备忘。 JavaScript多次写、读DOM就会发生「布局颠簸」,引起文档重排
> < li> 我在CollapsingToolbarLayout中有一个imageview,它是AppBarLayout的一部分,如下所示。每当我尝试从imageview开始滚动内容时,它从不滚动,但当我从recycle view/nested scroll view滚动时,它会滚动内容。这是CoordinatorLayout的预期行为吗?如果我想滚动内容,即imageview和我的recycl
如何判断flexbox布局行占用浏览器窗口中剩余的垂直空间? 我有一个3排的flexbox布局。前两行是固定高度,但第三行是动态的,我希望它能增长到浏览器的全高度。 我在第3行中有另一个flexbox,它创建了一组列。为了正确调整这些列中的元素,我需要它们了解浏览器的全部高度——比如背景颜色和底部的项对齐。主要布局最终将类似于此: 我尝试添加了一个属性,当我将其设置为硬数字时,该属性确实有效,但当
有没有一种方法可以隐藏滚动条,但仍然保留向上/向下滚动的选项?我尝试溢出:隐藏;它删除滚动条,但我不能滚动。
我有一个没有滚动条的静态页面。它链接到另一个有滚动条的页面。两个页面共享相同的背景图像。当我来回切换时,我可以注意到背景图像和页面内容稍微向左移动,因为滚动条显示在一个页面上,而不是另一个页面上。 我用这个技巧解决了这个问题,但它只对主体内容有效。背景图像仍在移动。有没有办法解决这个问题?我有一个补丁(overflow-y:scroll;),它总是显示滚动条,即使没有滚动条,但这并不理想。 我的B