div滚动条(css设置div滚动条样式)
div 滚动条(css设置div滚动条样式)
您是否曾经访问过带有自定义滚动条的网站,并想知道他们是如何做到的?
在本教程中,您将:
了解可用于在浏览器中设置滚动条样式的本机CSS属性
使用CSS创建四个唯一的滚动条
了解一些外部库,这些库为自定义滚动条提供了跨浏览器的支持
自定义滚动条的优缺点
在进入代码之前,我认为值得为网站或应用程序创建自定义滚动条带来一些潜在的折衷。
好处是,与使用浏览器默认滚动条的数百万个网站相比,它可以使您的网站脱颖而出。任何能让您的网站更容易被访问者铭记的内容都将使您长期受益。
另一方面,许多UI设计人员认为,您永远不应干扰滚动条之类的"标准化" UI组件。如果您过多地修改滚动条,可能会使使用您的网站或应用程序的人感到困惑。
如果您是为自己的个人网站执行此操作,则只要您喜欢它的外观,就可能不必担心它。
另一方面,如果您想在工作中或想要赚钱的项目中实现自定义滚动条,则应尝试A / B测试并根据结果做出以数据为依据的决策。
在一天结束时,我们大多数人都在编写代码来增加业务收入,因此您始终需要牢记这一点。
入门
您需要做的第一件事是创建一个基本布局,以便页面足够大以实际在Web浏览器中显示滚动条:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1.0"><linkrel='stylesheet'href="styles.css"><title>Document</title></head><body><divclass="container"><h1>CSSScrollbarCustomization</h1><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p><pclass="para">"Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum."</p></div></body></html>
这里没什么好想的,只是一个基本的div容器和一个用于我们的布局的类名容器,一个标题的标题以及一堆带有类名para的段落来填充我们的页面。
这是使事情看起来更奇特的CSS:body{font-family:Arial,Helvetica,sans-serif;margin:0; }.para{font-size:16px;padding:20px;width:70%; }.container{display:flex;flex-direction:column;justify-content:center;align-items:center; }
如何使用CSS创建自定义滚动条
通过我们的设置,我们可以跳到教程的有趣部分。本部分的第一部分将学习可用于样式设置的各种CSS属性。
在第二部分中,我们将实现四种不同类型的滚动条,为您提供一些有关制作自己的滚动条的想法。
CSS属性可用于设置滚动条的样式
不幸的是,对于CSS样式的滚动条,我们仍然没有任何标准化的跨浏览器支持。 Firefox和基于Webkit的浏览器(例如Chrome,Edge和Safari)具有不同的样式属性。
本教程将主要针对Webkit浏览器,因为它们提供了更多样式设置选项,但我们还将简要介绍Firefox。
滚动条的Webkit CSS样式属性
::-webkit-scrollbar –整个滚动条
::-webkit-scrollbar-track –滚动条的整个进度条区域
::-webkit-scrollbar-thumb –滚动条的可拖动部分
以下属性可用,但较不常用:
::-webkit-scrollbar-button –滚动条两端的向上/向下按钮
::-webkit-scrollbar-track-piece –滚动条未被拇指覆盖的部分
::-webkit-scrollbar-corner –水平和垂直滚动条相交的底角
滚动条的Firefox CSS样式属性
当前有两个可用的CSS属性可用于在Firefox中设置滚动条的样式
scrollbar-width –控制滚动条的宽度,只有两个选项是auto或thin
scrollbar-color –接受两种颜色,该颜色用于按顺序为拇指和滚动条上色
既然您知道了用于自定义滚动条的选项,那么我们将通过一些示例将其付诸实践。
黑暗主题滚动条
黑暗主题网站现在风行一时。坚持使用默认的浏览器滚动条可能会惹恼用户,因为它与深色主题网站不太适合。
让我们用我们对CSS的新知识来创建一个深色主题的滚动条,该滚动条的边框受CSS Tricks网站的启发:html::-webkit-scrollbar{width:20px; }html::-webkit-scrollbar-track{background-color:black; }html::-webkit-scrollbar-thumb{background:#4e4e4e;border-radius:25px; }
极简滚动条
对于此示例,您将制作一个简约的滚动条。 如果您要为网站提供简单,优雅的样式,则这种类型的滚动条会很好用。
需要注意的最重要的事情是,您可以使用CSS中的悬停和活动伪元素来进一步设置滚动条的样式。 在这种情况下,当您将鼠标悬停并在拇指上拖动时,滚动条将变为更深的灰色。html::-webkit-scrollbar{width:10px; }html::-webkit-scrollbar-track{background:rgb(179,177,177);border-radius:10px;}html::-webkit-scrollbar-thumb{background:rgb(136,136,136);border-radius:10px; }html::-webkit-scrollbar-thumb:hover{background:rgb(100,100,100);border-radius:10px; }html::-webkit-scrollbar-thumb:active{background:rgb(68,68,68);border-radius:10px; }
图案滚动条
在本节中,重点是使用重复的线性渐变在滚动条轨道上创建图案效果。 滚动条的拇指也可以做同样的事情。
还要注意的另一件事是,您可以使用边框设置滚动条拇指的样式,可以使用它创建许多很酷的效果。 在这种情况下,我将拇指的背景色设为透明,以便您在滚动时可以看到滚动条的轨迹样式。
html::-webkit-scrollbar{width:20px; }html::-webkit-scrollbar-track{background-image:repeating-linear-gradient(45deg,red0,red1px,transparent0,transparent50%);background-size:10px10px; }html::-webkit-scrollbar-thumb{background:transparent;border-radius:5px;border:2pxsolidblack;box-shadow:inset1px1px5pxblack; }
"动画"渐变滚动条
本示例使用线性渐变和带有框阴影的技巧来使它看起来像滚动条在您上下移动页面时正在改变颜色。 真正发生的是滚动条轨道的背景正显示在拇指下方。
之所以起作用,是因为阴影框占据了滚动条的所有空间(拇指所在的位置除外)。 由于拇指是透明的,因此背景的渐变颜色会显示出来。html::-webkit-scrollbar{width:20px; }html::-webkit-scrollbar-track{background:linear-gradient(0deg,rgba(255,0,0,1)0%,rgba(7,0,211,1)100%); }html::-webkit-scrollbar-thumb{background:transparent;box-shadow:0px0px0px100vhblack; }
自定义滚动条的局限性和替代方法
创建自定义滚动条显然存在一些问题。 首先是缺乏跨浏览器支持。 其他问题可能是缺乏向滚动条添加过渡或动画的功能,以及自定义滚动条不会出现在移动设备上的事实。
另一种方法是隐藏默认滚动条并使用库,但这在用作页面的主滚动条时可能会影响性能。 还有其他潜在的可用性问题,因为这些库依赖JavaScript来模仿本机滚动条行为。
土豆丝泡多久(土豆丝能泡水里多长时间)导读酸辣土豆丝不仅是一道正宗的川菜,而且还是任何年龄层都喜爱的一道家常菜。因为一盘酸辣土豆丝,集合了酸辣香咸4种味道,所以很多家庭,都会隔三差五地炒一盘酸辣土豆丝给家人吃。而在我家
皂米泡多久(皂角米要泡多长时间)注重保养的小姐姐们,这道粥既饱腹,又低脂低卡,而且还美容养颜,快快吃起来吧!By小鱼儿8860用料桃胶10g皂角米10g雪燕10g即食燕麦2勺脱脂牛奶100ml糖小朵零卡糖510g
结核多久能治好(肺结核瘤多长时间能治好)1882年3月24日德国科学家科赫发现结核杆菌,当时已肆虐流行的白色瘟疫肺结核,就是由结核杆菌引起,飞沫传播,症状隐匿,慢性顽固,威胁生命。结核杆菌的发现为人类对抗结核病提供了重要
过敏了吃药多久能好(过敏药吃一天好了还要再吃吗)很多患者都觉得过敏性鼻炎非常麻烦,怎么治也治不好。但其实,鼻科医生最有把握也最愿意医治的疾病,就是过敏性鼻炎。今天,我会把医生最常用的4大类抗过敏药物,以及它们各自的优缺点告诉大家
结核病人能活多久(肺结核住院一个月去世)死亡,是我们不愿触碰的字眼。但是进入2020年,我们通过媒体,面对了太多因新型冠状病毒肺炎引起的死亡,我们伤心我们惋惜我们致敬,面对死亡我们还感到恐惧。哪些疾病对人类的危害最大,我
结核的潜伏期多久(肺结核患者生活中注意事项)来源两江新区一院呼吸科结核病是由结核杆菌感染引起的慢性传染病。结核菌可能侵入人体全身各种器官,但主要侵犯肺脏,称为肺结核病。结核病是青年人容易发生的一种慢性和缓发的传染病。潜伏期4
鼻窦炎要吃多久药(鼻窦炎药吃一年)儿童鼻窦炎应当以药物治疗为主,一般不考虑功能性鼻内窥镜手术。药物治疗至少坚持三个月。如果三个月药物治疗无效,考虑进行腺样体切除手术。七成患者感冒引起鼻窦炎鼻窦炎目前的发病机理还不是
公众号抽奖怎么做(微信公众号报名怎么做)公众号抽奖对于我们运营者来说,不仅是一种很不错的涨粉手段,还是一种有效的粉丝促活方法。公众号我们要如何在公众号上设置呢?使用条件初次使用抽奖功能时需要联系芝麻客服,待客服开通账号后
微信公众号如何编辑(公众号模板制作精美)通过职场的技术人如何做好一个公众号?明白技术类公众号的基本情况。接下来我们转入实战阶段,开始从零打造这个平台。01hr首先要结合自己兴趣及擅长的领域,确定公众号所要写的主题。现在热
怎么制作公众号(公众号模板制作精美)接触公众号以来,对公众号基础知识格外。我发现一个号想要做好,最基本的门面装修必不可少。从注册到取名再到排版,我犯过很多错误,好在通过学习已经基本理清头绪。下面就把我学到的这些公众号
怎么制作微信链接(怎样做微信公众号小程序)其实就是给图片添加超链接,简单来说,图片添加超链接之后,图片右上角会自动生成一个跳转小图标,读者点击该图片就会跳转到其它页面。但是公众号对跳转的网页链接有如下限制订阅号和未开通支付