当前位置: 首页 > 面试题库 >

使用CSS的类似Apple的滚动条

通典
2023-03-14
问题内容

我在一些Apple网站上注意到了这些网站.它们具有使用最近发布的WebKit滚动条CSS的自定义滚动条。但是,我根本无法复制它。有什么想法怎么做?我在这里有一个测试站点,但是我得到了默认的滚动条?谢谢


问题答案:

苹果正在使用以下CSS怪物:

::-webkit-scrollbar {
    width: 15px;
    height: 15px;
}
::-webkit-scrollbar-corner {
    background-image: url(http://i.stack.imgur.com/FguQn.png?corner.png);
    background-repeat: no-repeat;
}
::-webkit-resizer {
    background-image: url(http://i.stack.imgur.com/aKKDY.png?resizer.png);
    background-repeat: no-repeat;
    background-position: bottom right;
}
::-webkit-scrollbar-button:start {
    display: none;
}
::-webkit-scrollbar-button:end {
    display: block;
}
::-webkit-scrollbar:horizontal {
    -webkit-border-image: url(http://i.stack.imgur.com/NQ2K6.png?horizontal-button.png) 0 2 0 2;
    border-color: transparent;
    border-width: 0 2px;
    background-image: url(http://i.stack.imgur.com/8xDbU.png?horizontal-button-background.png);
    background-repeat: repeat-x;
}
::-webkit-scrollbar:horizontal:corner-present {
    border-right-width: 0;
}
::-webkit-scrollbar-thumb:horizontal {
    -webkit-border-image: url(http://i.stack.imgur.com/YQRD7.png?horizontal-thumb.png) 0 15 0 15;
    border-color: transparent;
    border-width: 0 15px;
    min-width: 20px;
}
::-webkit-scrollbar-track-piece:horizontal:start {
    margin-left: 6px;
}
::-webkit-scrollbar-track-piece:horizontal:end {
    margin-right: -6px;
}
::-webkit-scrollbar-track-piece:horizontal:decrement {
    -webkit-border-image: url(http://i.stack.imgur.com/p9yMk.png?horizontal-track.png) 0 15 0 15;
    border-color: transparent;
    border-width: 0 0 0 15px;
}
::-webkit-scrollbar-track-piece:horizontal:increment {
    -webkit-border-image: url(http://i.stack.imgur.com/p9yMk.png?horizontal-track.png) 0 15 0 15;
    border-color: transparent;
    border-width: 0 15px 0 0;
}
::-webkit-scrollbar-button:horizontal {
    width: 21px;
    -webkit-border-image: url(http://i.stack.imgur.com/NQ2K6.png?horizontal-button.png) 0 2 0 2;
    border-color: transparent;
    border-width: 0 2px;
}
::-webkit-scrollbar-button:horizontal:decrement {
    background-image: url(http://i.stack.imgur.com/dGOKL.png?horizontal-decrement-arrow.png), url(http://i.stack.imgur.com/8xDbU.png?horizontal-button-background.png);
    background-repeat: no-repeat, repeat-x;
    background-position: 7px 4px, 0 0;
}
::-webkit-scrollbar-button:horizontal:decrement:active {
    -webkit-border-image: url(http://i.stack.imgur.com/gT5BM.png?horizontal-button-active.png) 0 2 0 2;
    background-image: url(http://i.stack.imgur.com/dGOKL.png?horizontal-decrement-arrow.png), url(http://i.stack.imgur.com/RDf8L.png?horizontal-button-background-active.png);
}
::-webkit-scrollbar-button:horizontal:increment {
    background-image: url(http://i.stack.imgur.com/5rJr5.png?horizontal-increment-arrow.png), url(http://i.stack.imgur.com/8xDbU.png?horizontal-button-background.png);
    background-repeat: no-repeat, repeat-x;
    width: 16px;
    border-left-width: 0;
    background-position: 3px 4px, 0 0;
}
::-webkit-scrollbar-button:horizontal:increment:active {
    -webkit-border-image: url(http://i.stack.imgur.com/gT5BM.png?horizontal-button-active.png) 0 2 0 2;
    background-image: url(http://i.stack.imgur.com/5rJr5.png?horizontal-increment-arrow.png), url(http://i.stack.imgur.com/RDf8L.png?horizontal-button-background-active.png);
}
::-webkit-scrollbar-button:horizontal:end:increment:corner-present {
    border-right-width: 0;
    width: 15px;
}
::-webkit-scrollbar:vertical {
    -webkit-border-image: url(http://i.stack.imgur.com/NdaTT.png?vertical-button.png) 2 0 2 0;
    border-color: transparent;
    border-width: 2px 0;
    background-image: url(http://i.stack.imgur.com/p7j9a.png?vertical-button-background.png);
    background-repeat: repeat-y;
}
::-webkit-scrollbar:vertical:corner-present {
    border-bottom-width: 0;
}
::-webkit-scrollbar-thumb:vertical {
    -webkit-border-image: url(http://i.stack.imgur.com/rPEsZ.png?vertical-thumb.png) 15 0 15 0;
    border-color: transparent;
    border-width: 15px 0;
    min-height: 20px;
}
::-webkit-scrollbar-track-piece:vertical:start {
    margin-top: 6px;
}
::-webkit-scrollbar-track-piece:vertical:end {
    margin-bottom: -6px;
}
::-webkit-scrollbar-track-piece:vertical:decrement {
    -webkit-border-image: url(http://i.stack.imgur.com/Rb6ru.png?vertical-track.png) 15 0 15 0;
    border-color: transparent;
    border-width: 15px 0 0 0;
}
::-webkit-scrollbar-track-piece:vertical:increment {
    -webkit-border-image: url(http://i.stack.imgur.com/Rb6ru.png?vertical-track.png) 15 0 15 0;
    border-color: transparent;
    border-width: 0 0 15px 0;
}
::-webkit-scrollbar-button:vertical {
    height: 21px;
    -webkit-border-image: url(http://i.stack.imgur.com/NdaTT.png?vertical-button.png) 2 0 2 0;
    border-color: transparent;
    border-width: 2px 0;
}
::-webkit-scrollbar-button:vertical:decrement {
    background-image: url(http://i.stack.imgur.com/KQvwk.png?vertical-decrement-arrow.png), url(http://i.stack.imgur.com/p7j9a.png?vertical-button-background.png);
    background-repeat: no-repeat, repeat-y;
    background-position: 4px 7px, 0 0;
}
::-webkit-scrollbar-button:vertical:decrement:active {
    -webkit-border-image: url(http://i.stack.imgur.com/uW3TL.png?vertical-button-active.png) 2 0 2 0;
    background-image: url(http://i.stack.imgur.com/KQvwk.png?vertical-decrement-arrow.png), url(http://i.stack.imgur.com/puDsH.png?vertical-button-background-active.png);
}
::-webkit-scrollbar-button:vertical:increment {
    background-image: url(http://i.stack.imgur.com/UjkVR.png?vertical-increment-arrow.png), url(http://i.stack.imgur.com/p7j9a.png?vertical-button-background.png);
    background-repeat: no-repeat, repeat-y;
    height: 16px;
    border-top-width: 0;
    background-position: 4px 5px, 0 0;
}
::-webkit-scrollbar-button:vertical:increment:active {
    -webkit-border-image: url(http://i.stack.imgur.com/uW3TL.png?vertical-button-active.png) 2 0 2 0;
    background-image: url(http://i.stack.imgur.com/UjkVR.png?vertical-increment-arrow.png), url(http://i.stack.imgur.com/puDsH.png?vertical-button-background-active.png);
}
::-webkit-scrollbar-button:vertical:end:increment:corner-present {
    border-bottom-width: 0;
    height: 15px;
}
::-webkit-scrollbar:disabled {
    background: red;
    -webkit-border-image: none;
    display: none;
}


 类似资料:
  • 问题内容: 我正在尝试创建一个纯100%CSS(无jQuery)“返回页首”按钮,但是我希望该按钮仅在访客向下滚动页面时显示。 是否可以通过CSS进行检查?因此,如果访客向下滚动,请显示“返回顶部”按钮。 谢谢! 问题答案: 通过光标位置确定 一种执行此操作的方法是仅在用户将鼠标悬停在页面本身,标题和导航链接下方的内容上时显示该元素: 您可以在这里看到效果:http : //jsfiddle.ne

  • 问题内容: 这个 提供了一个用户可以水平和垂直滚动的功能。如何更改它以便div 仅 可垂直滚动? 问题答案: 除了使用错误的属性外,还可以解决它。滚动条可与任何财产被触发,或者每个人都可以被设置为任意的,,,,或。您当前正在查看以下两个: -此值将查看盒子的宽度和高度。如果已定义它们,则不会使框扩展到这些边界之外。而是(如果内容超出了这些边界),它将为超出其长度的任意一个边界(或两个边界)创建一个

  • 主要内容:1. overflow,2. overflow-x、overflow-y通过《 CSS盒子模型》一节的学习我们知道,页面中的每个元素都可以看作是一个矩形的盒子,我们可以使用 CSS 来控制盒子的大小、位置等等信息。默认情况下,当元素中的内容超出盒子的大小时,例如元素内容区的宽度和高度所组成的矩形区域中不足以容纳元素中的内容时,一部分内容就会溢出盒子。 1. overflow 为了能更好的处理溢出的内容,CSS 中提供了一个名为 overflow 的属性,该属性可以设置

  • 问题内容: 我一直在寻找一种仅使用CSS3单击位于页面顶部的按钮时向下滚动的方法。 但这对于我的需求而言有点太先进了,因为我只希望浏览器单击页面顶部的一个按钮即可向下滚动,所以我想知道:是否可以在没有输入按钮的情况下进行那些CSS滚动,有锚标签? HTML看起来像这样: 我已经有一些CSS,需要在单击按钮时触发: 问题答案: 您可以使用css3 伪选择器使用锚标记来完成此操作,当与当前URL哈希具

  • 问题内容: 这个 给出了一个用户可以水平和垂直滚动的功能。如何更改它以便div 仅 可垂直滚动? 问题答案: 除了使用错误的属性外,还可以解决它。滚动条可与任何财产被触发,或者每个人都可以被设置为任意的,,,,或。您目前正在查看以下两个: -此值将查看盒子的宽度和高度。如果已定义它们,则不会使框扩展到这些边界之外。而是(如果内容超出了这些边界),它将为超出其长度的任意一个边界(或两个边界)创建一个

  • 问题内容: 我正在尝试制作一个按钮,以便用户单击它时,按住鼠标按钮时它会更改其样式。如果在移动浏览器中触摸它,我也希望它以类似的方式更改其样式。对我来说,看似显而易见的事情是使用CSS:active伪类,但这没有用。我尝试了:focus,但是也没有用。我尝试:hover,它似乎起作用了,但是当我将手指从按钮上移开后,它仍然保持了样式。所有这些观察都是在iPhone 4和Droid 2上进行的。 有