【问题标题】:CSS3 scrollbar styling on a divdiv上的CSS3滚动条样式
【发布时间】:2012-09-02 12:01:35
【问题描述】:

如何使用 CSS3 设置 webkit 滚动条的样式?

我的意思是这些属性:

::-webkit-scrollbar {
    width: 12px;
}
                    
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 10px;
}
                    
::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}

这是我的 div 标签:

<div class="scroll"></div>

这是我当前的 CSS:

.scroll {
    width: 200px; height: 400px;
    overflow: hidden;
}    

【问题讨论】:

  • overflow: hidden 隐藏所有滚动条,因此无需使用 CSS3 进行装饰。您必须使用 overflow:scrolloverflow:auto 使滚动条可见

标签: html css scrollbar


【解决方案1】:

设置overflow: hidden 隐藏滚动条。设置overflow: scroll,确保滚动条一直出现。

要使用::webkit-scrollbar 属性,只需在调用之前定位.scroll

.scroll {
   width: 200px;
   height: 400px;
    background: red;
   overflow: scroll;
}
.scroll::-webkit-scrollbar {
    width: 12px;
}

.scroll::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 10px;
}

.scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}
​

观看直播example

【讨论】:

【解决方案2】:
.scroll {
   width: 200px; height: 400px;
   overflow: auto;
}

【讨论】:

    【解决方案3】:

    您正在设置overflow: hidden。这将隐藏任何对&lt;div&gt; 来说太大的东西,这意味着不会显示滚动条。给你的&lt;div&gt; 一个明确的宽度和/或高度,并将overflow 更改为auto

    .scroll {
       width: 200px;
       height: 400px;
       overflow: scroll;
    }
    

    如果您只想在内容长于&lt;div&gt; 时显示滚动条,请将overflow 更改为overflow: auto。您也可以使用overflow-yoverflow-x 仅显示一个滚动条。

    【讨论】:

      【解决方案4】:

      css3 滚动条的问题在于,只能对内容进行交互。我们无法与触摸设备上的滚动条交互。

      【讨论】:

        猜你喜欢
        • 2017-04-01
        • 2012-04-14
        • 2013-05-16
        • 1970-01-01
        • 2016-09-02
        • 1970-01-01
        • 2011-11-30
        • 2011-10-28
        相关资源
        最近更新 更多