html - 如何让垂直滚动条变细,摆脱右下空白?
问题描述
下面有一个带有垂直和水平滚动条的pre标签。如何使垂直滚动条变细(如水平滚动条)并摆脱右下角的空白(使其像背景一样灰色)?
:root {
--code-color: darkred;
--code-bg-color: #f6f6f6;
--code-font-size: 14px;
--code-line-height: 1.4;
--scroll-bar-color: #c5c5c5;
--scroll-bar-bg-color: #f6f6f6;
}
pre {
color: var(--code-color);
font-size: var(--code-font-size);
line-height: var(--code-line-height);
background-color: var(--code-bg-color);
}
.code-block {
max-height: 100px;
overflow: auto;
padding: 8px 7px 5px 15px;
margin: 0px 0px 0px 0px;
border-radius: 7px;
}
* {
scrollbar-width: thin;
scrollbar-color: var(--scroll-bar-color) var(--scroll-bar-bg-color);
}
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
width: 12px;
}
*::-webkit-scrollbar-track {
background: var(--scroll-bar-bg-color);
}
*::-webkit-scrollbar-thumb {
background-color: var(--scroll-bar-color);
border-radius: 20px;
border: 3px solid var(--scroll-bar-bg-color);
}
<div style="width:300px; height:100px">
<pre class="code-block">SOME TEXT LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
N
G
</code></pre></div>
更有可能它可以使用 CSS 样式来修复。
解决方案
:root {
--code-color: darkred;
--code-bg-color: #aaaaaa;
--code-font-size: 14px;
--code-line-height: 1.4;
--scroll-bar-color: #c5c5c5;
--scroll-bar-bg-color: #f6f6f6;
}
pre {
color: var(--code-color);
font-size: var(--code-font-size);
line-height: var(--code-line-height);
background-color: var(--code-bg-color);
}
.code-block {
max-height: 100px;
overflow: auto;
padding: 8px 7px 5px 15px;
margin: 0px 0px 0px 0px;
border-radius: 7px;
}
::-webkit-scrollbar-corner { background: rgba(0,0,0,0.5); }
* {
scrollbar-width: thin;
scrollbar-color: var(--scroll-bar-color) var(--scroll-bar-bg-color);
}
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
width: 12px;
height: 12px;
}
*::-webkit-scrollbar-track {
background: var(--scroll-bar-bg-color);
}
*::-webkit-scrollbar-thumb {
background-color: var(--scroll-bar-color);
border-radius: 20px;
border: 3px solid var(--scroll-bar-bg-color);
}
<div style="width:300px; height:100px">
<pre class="code-block">SOME TEXT LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
N
G
</code></pre></div>
你在哪里
*::-webkit-scrollbar {
width: 12px;
}
我添加了高度
*::-webkit-scrollbar {
width: 12px;
height: 12px;
}
我还为角颜色添加了以下 CSS
::-webkit-scrollbar-corner {
background: rgba(0,0,0,0.5);
}
添加:
至于圆角,将其包裹在一个 div 中,然后进行溢出隐藏。
<div style="width:300px; height:100px; border-radius:15px; overflow:hidden">
// put your existing scrolling HTML here...
</div>
摆弄宽度和高度以包括滚动条的宽度/高度。我个人会避免做这样的事情,除非你可以在包括不同操作系统和浏览器的所有东西上测试它。
推荐阅读
- javascript - 如何操作 axios 响应并返回一个 Promise?
- javascript - 无法更新用于计数字母的对象属性编号(计数器)
- javascript - 天气网络应用程序上的即时天气警报?
- powershell - 在 PowerShell 中将非文字脚本变量传递给 Invoke-Sqlcmd 时出错
- python-3.x - bs4 不返回完整的 HTML
- php - WooCommerce 添加产品标签第二个描述 + 创建短代码可以添加到 Elementor
- postgresql - “ATAL:用户“postgres 的密码验证失败”
- awk - 重复第 n 个数字直到第 n 个匹配,同时使用 awk sub 在模式中为这些数字添加前缀
- python - 在Python中删除列表中某些单词的第一个字符
- nestjs - TypeORM 获取 jsonb 数组中 id 的数据