設置了 width 和 height,目的是為了讓內容限制一個範圍,那當超出範圍的部份,我們就設置了另一個屬性 overflow:scroll,告訴瀏覽器做 scrollbar 的處理,所以設置完的顯示結果如下
假設是 Webkit 的瀏覽器(例如: Google Chrome、Apple Safari),我們可以使用 ::-webkit-scrollbar 這個 pseudo-elements 來做改變
::-webkit-scrollbar {
width: 50px;
}
::-webkit-scrollbar-track {
background-color: red;
}
::-webkit-scrollbar-thumb {
background-color: blue
}
::-webkit-scrollbar-button {
background-color: yellow
}
::-webkit-scrollbar-corner {
background-color: black;
}
顯示效果如下
很醜,但為了讓大家知道每個屬性的效果,所以特地用顏色做區別,還把寬度設為50px,但現實的專案中千萬別這樣做,還是要像前面所說的,要符合整體的網站UI設計才行
不過以上的寫法只適用於 Webkit browsers
IE呢?
其實沒查可能還不知道,IE是第一個支援用CSS來改變 scrollbar 樣式的瀏覽器,早在IE5.5就可以實做,不過僅限於顏色的改變
用我們剛剛的範例當例子,我們可以這樣寫
body {
scrollbar-face-color: #b46868;
}
結果如下
剛剛只談到 Webkit 的瀏覽器還有IE的寫法,那Firefox怎麼辦呢?有沒有比較方便的方法可以適用於大多數的瀏覽器,其實是有的,可以嘗試 jScrollPane 這個jQuery plugin
基本的使用方式如下,在網頁裡面載入jQuery和jquery.jscrollpane.min.js還有jquery.jscrollpane.css
接著是js部份
$('.container').jScrollPane();
效果如下
如果要修改樣式的話,可以直接修改jquery.jscrollpane.css這支檔案裡面的幾個類別屬性
.jspTrack
{
background: #dde; //可以更改顏色
position: relative;
}
.jspDrag
{
background: #bbd; //可以更改顏色
position: relative;
top: 0;
left: 0;
cursor: pointer;
}
或許會有疑問,為什麼用 jScrollPane 可以支援不同的瀏覽器?其實只要打開 firebug 看看HTML的部份就可以知道
原來 jScrollPane 是用
做出假的 scrollbar,至於位移的效果就是改變CSS屬性top的值
結論
修改 scrollbar 在許多Web Apps都可以看的到實做,像微軟的 Outlook 信箱服務
又或是Google的雲端硬碟服務
都有畫龍點睛的效果,善用這方面的方法,可以讓網站的UI看起來更一致,也不必局限於原生HTML元素的呈現,網頁也可以更加活潑
參考資料:
Quick Tip: Styling Scrollbars to Match Your UI Design
內容如有錯誤,歡迎指正
推荐阅读
随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ...
[详细]
蜡笔小新 2023-12-10 20:05:15
web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ...
[详细]
蜡笔小新 2023-10-17 20:40:03
蜡笔小新 2023-10-17 10:44:03
本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ...
[详细]
蜡笔小新 2023-12-14 16:12:01
本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ...
[详细]
蜡笔小新 2023-12-13 18:08:58
本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ...
[详细]
蜡笔小新 2023-12-13 13:58:25
本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ...
[详细]
蜡笔小新 2023-12-11 12:06:41
本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ...
[详细]
蜡笔小新 2023-12-11 09:19:45
本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ...
[详细]
蜡笔小新 2023-12-10 10:55:21
本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ...
[详细]
蜡笔小新 2023-12-09 17:31:06
本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ...
[详细]
蜡笔小新 2023-12-09 09:17:00
fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ...
[详细]
蜡笔小新 2023-10-17 13:40:24
本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ...
[详细]
蜡笔小新 2023-10-17 13:38:49
1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ...
[详细]
蜡笔小新 2023-10-17 11:02:41
1.事件:js与html的交互就是通过事件的,观察者模式2.事件流:从页面中接收事件的顺序IE::事件冒泡流,事件冒泡,事件从最具体的元素接收,然后逐级向上传播,主流浏览器都支持N ...
[详细]
蜡笔小新 2023-10-16 14:18:49
ShiZha0_625
这个家伙很懒,什么也没留下!