我的解決方案使用CSS來更改webkit滾動條。有關介紹,請參閱 CSS Tricks 。
有要考慮的一些要點:
第一: 當在JavaScript中使用position: absolute;
滾動 - 像window.scrollTo
將不再工作。
二: 的background-color
屬性爲scrollbar-track
是強制性的。當被排除(而不是使用絕對定位)時,滾動條的重畫功能不再起作用。這似乎是webkit中的一個錯誤。
body {
/* hide the horizontal scrollbar */
overflow-x: hidden;
}
/* make the scrollbar a little wider */
::-webkit-scrollbar {
width: 16px;
}
::-webkit-scrollbar-track {
background-color: white;
}
/* the slider or "thumb" has some rounded edges and a shadow and it's a little translucent */
::-webkit-scrollbar-thumb {
border-radius: 6px;
box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
background: rgba(159,216,239,0.8);
}
/* I don't like the scrollbar to be so tiny on large documents - hence I set a minimum height */
::-webkit-scrollbar-thumb:vertical {
min-height: 100px;
}
/* Use a more translucent slider when the window is inactive */
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(159,216,239,0.2);
}
當在由WebEngine
使用的HTML內容的<style>
標籤使用這個CSS滾動條是新的閃亮光澤的藍色和更廣泛的滾動條。 這也解決了Win7/XP上滾動條「跳過」的問題。
要更改水平滾動條 - 必須提供webkit-scrollbar
中的高度屬性,並且可以提供...-scrollbar-thumb:vertical
中的min-width
屬性。
嘿邁克爾!這個CSS的哪個部分正在修復被描述爲「捕獲該滑塊並不總是容易,並且有時滾動不起作用」的部分? – 2013-10-25 07:31:43
似乎他們修復了最近JavaFX中的「跳出」問題,或者我無法重現它。不過,默認情況下,滾動條仍然很小,我認爲它們看起來不太好,所以我繼續使用CSS解決方案。 – 2013-10-28 12:21:31
我自己發現,如果您使用webkit CSS設計您的滾動條,問題就消失了。我認爲,JavaFx將自定義渲染切換到用戶定義的樣式表,並擺脫了這個問題。 – 2013-10-28 12:57:47