通常滚动条的位置如下:
________________________________________
| | |
| content | scrollbar |
| | |
| | |
| | |
| | |
|__________________________|___________|
我基本上希望“自定义”滚动条与可滚动容器的外边界之间存在差距:
________________________________________
| | | |
| content | scrollbar | gap |
| | < | |
| | | |
| | | |
| | | |
|____________________|___________|_____|
在margin-right
或::-webkit-scrollbar
上使用::-webkit-scrollbar-track-piece
失败,并宣布Webkit状态的样式滚动条:
滚动条的轴支持边距。他们可以 否定(以便轨道可以例如被充气以覆盖 部分按钮。
我现在想知道是否有人设法通过除margin
以外的其他方式将滚动条“推入”内容(或包含在内容之外)。
我认为这可能只是(甚至可能)使用某种技巧 - 任何想法?
我尝试失败的其他事情是padding-right: 10px
和border-right: 10px solid rgba(255, 255, 255, 0)
(透明边框)。
答案 0 :(得分:18)
您可以使用透明边框进行操作。但是你需要设置background-clip: padding-box;
,否则它将无效。
答案 1 :(得分:6)
我认为通过为右对齐滚动条分配右边距是不可能的。滚动条是窗口UI的一部分,可能无法通过CSS设置样式。
但是,你可以围绕HTML的所有其他元素创建一个内容包装器,给它一个max-width,小于100%,并为包装器设置overflow: scroll;
。这将达到预期的效果,并且几乎适用于所有浏览器。
[个人观点]我认为某些网页设计师的习惯非常糟糕,他们希望控制我的每一块屏幕。例如,滚动条应由窗口管理器设置样式,而不是由我当前正在查看的网站设置样式。