{ "title":"CSS scrollbar styling", "description":"Methods of styling scrollbars' color and width.", "spec":"https://w3c.github.io/csswg-drafts/css-scrollbars-1/", "status":"cr", "links":[ { "url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1460109", "title":"Firefox support bug" }, { "url":"https://stackoverflow.com/questions/9251354/css-customized-scroll-bar-in-div/14150577#14150577", "title":"Stackoverflow article discussing cross-browser support" }, { "url":"http://codemug.com/html/custom-scrollbars-using-css/", "title":"Tutorial for IE & WebKit/Blink browsers" }, { "url":"https://perfectscrollbar.com/", "title":"\"perfect-scrollbar\" - Minimal custom scrollbar plugin" }, { "url":"https://manos.malihu.gr/jquery-custom-content-scroller/", "title":"jQuery custom content scroller" }, { "url":"https://webkit.org/blog/363/styling-scrollbars/", "title":"Webkit blog post describing their non-standard support" } ], "bugs":[ { "description":"In Firefox 64, `scrollbar-color:auto` resolves to two colors rather than auto itself" } ], "categories":[ "CSS" ], "stats":{ "ie":{ "5.5":"a #1", "6":"a #1", "7":"a #1", "8":"a #1", "9":"a #1", "10":"a #1", "11":"a #1" }, "edge":{ "12":"n", "13":"n", "14":"n", "15":"n", "16":"n", "17":"n", "18":"n", "79":"a x #2", "80":"a x #2", "81":"a x #2", "83":"a x #2", "84":"a x #2", "85":"a x #2", "86":"a x #2", "87":"a x #2", "88":"a x #2", "89":"a x #2", "90":"a x #2", "91":"a x #2", "92":"a x #2", "93":"a x #2", "94":"a x #2", "95":"a x #2", "96":"a x #2", "97":"a x #2", "98":"a x #2", "99":"a x #2", "100":"a x #2", "101":"a x #2", "102":"a x #2", "103":"a x #2", "104":"a x #2", "105":"a x #2", "106":"a x #2", "107":"a x #2", "108":"a x #2", "109":"a x #2", "110":"a x #2", "111":"a x #2", "112":"a x #2", "113":"a x #2", "114":"a x #2", "115":"a x #2", "116":"a x #2", "117":"a x #2", "118":"a x #2", "119":"a x #2", "120":"a x #2" }, "firefox":{ "2":"n", "3":"n", "3.5":"n", "3.6":"n", "4":"n", "5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"n", "11":"n", "12":"n", "13":"n", "14":"n", "15":"n", "16":"n", "17":"n", "18":"n", "19":"n", "20":"n", "21":"n", "22":"n", "23":"n", "24":"n", "25":"n", "26":"n", "27":"n", "28":"n", "29":"n", "30":"n", "31":"n", "32":"n", "33":"n", "34":"n", "35":"n", "36":"n", "37":"n", "38":"n", "39":"n", "40":"n", "41":"n", "42":"n", "43":"n", "44":"n", "45":"n", "46":"n", "47":"n", "48":"n", "49":"n", "50":"n", "51":"n", "52":"n", "53":"n", "54":"n", "55":"n", "56":"n", "57":"n", "58":"n", "59":"n", "60":"n", "61":"n", "62":"n", "63":"n d #4 #5", "64":"y", "65":"y", "66":"y", "67":"y", "68":"y", "69":"y", "70":"y", "71":"y", "72":"y", "73":"y", "74":"y", "75":"y", "76":"y", "77":"y", "78":"y", "79":"y", "80":"y", "81":"y", "82":"y", "83":"y", "84":"y", "85":"y", "86":"y", "87":"y", "88":"y", "89":"y", "90":"y", "91":"y", "92":"y", "93":"y", "94":"y", "95":"y", "96":"y", "97":"y", "98":"y", "99":"y", "100":"y", "101":"y", "102":"y", "103":"y", "104":"y", "105":"y", "106":"y", "107":"y", "108":"y", "109":"y", "110":"y", "111":"y", "112":"y", "113":"y", "114":"y", "115":"y", "116":"y", "117":"y", "118":"y", "119":"y", "120":"y", "121":"y", "122":"y", "123":"y" }, "chrome":{ "4":"a x #2", "5":"a x #2", "6":"a x #2", "7":"a x #2", "8":"a x #2", "9":"a x #2", "10":"a x #2", "11":"a x #2", "12":"a x #2", "13":"a x #2", "14":"a x #2", "15":"a x #2", "16":"a x #2", "17":"a x #2", "18":"a x #2", "19":"a x #2", "20":"a x #2", "21":"a x #2", "22":"a x #2", "23":"a x #2", "24":"a x #2", "25":"a x #2", "26":"a x #2", "27":"a x #2", "28":"a x #2", "29":"a x #2", "30":"a x #2", "31":"a x #2", "32":"a x #2", "33":"a x #2", "34":"a x #2", "35":"a x #2", "36":"a x #2", "37":"a x #2", "38":"a x #2", "39":"a x #2", "40":"a x #2", "41":"a x #2", "42":"a x #2", "43":"a x #2", "44":"a x #2", "45":"a x #2", "46":"a x #2", "47":"a x #2", "48":"a x #2", "49":"a x #2", "50":"a x #2", "51":"a x #2", "52":"a x #2", "53":"a x #2", "54":"a x #2", "55":"a x #2", "56":"a x #2", "57":"a x #2", "58":"a x #2", "59":"a x #2", "60":"a x #2", "61":"a x #2", "62":"a x #2", "63":"a x #2", "64":"a x #2", "65":"a x #2", "66":"a x #2", "67":"a x #2", "68":"a x #2", "69":"a x #2", "70":"a x #2", "71":"a x #2", "72":"a x #2", "73":"a x #2", "74":"a x #2", "75":"a x #2", "76":"a x #2", "77":"a x #2", "78":"a x #2", "79":"a x #2", "80":"a x #2", "81":"a x #2", "83":"a x #2", "84":"a x #2", "85":"a x #2", "86":"a x #2", "87":"a x #2", "88":"a x #2", "89":"a x #2", "90":"a x #2", "91":"a x #2", "92":"a x #2", "93":"a x #2", "94":"a x #2", "95":"a x #2", "96":"a x #2", "97":"a x #2", "98":"a x #2", "99":"a x #2", "100":"a x #2", "101":"a x #2", "102":"a x #2", "103":"a x #2", "104":"a x #2", "105":"a x #2", "106":"a x #2", "107":"a x #2", "108":"a x #2", "109":"a x #2", "110":"a x #2", "111":"a x #2", "112":"a x #2", "113":"a x #2", "114":"a x #2", "115":"a x #2", "116":"a x #2", "117":"a x #2", "118":"a x #2", "119":"a x #2", "120":"a x #2", "121":"a x #2", "122":"a x #2", "123":"a x #2" }, "safari":{ "3.1":"u", "3.2":"u", "4":"u", "5":"u", "5.1":"a x #2", "6":"a x #2", "6.1":"a x #2", "7":"a x #2", "7.1":"a x #2", "8":"a x #2", "9":"a x #2", "9.1":"a x #2", "10":"a x #2", "10.1":"a x #2", "11":"a x #2", "11.1":"a x #2", "12":"a x #2", "12.1":"a x #2", "13":"a x #2", "13.1":"a x #2", "14":"a x #2", "14.1":"a x #2", "15":"a x #2", "15.1":"a x #2", "15.2-15.3":"a x #2", "15.4":"a x #2", "15.5":"a x #2", "15.6":"a x #2", "16.0":"a x #2", "16.1":"a x #2", "16.2":"a x #2", "16.3":"a x #2", "16.4":"a x #2", "16.5":"a x #2", "16.6":"a x #2", "17.0":"a x #2", "17.1":"a x #2", "17.2":"a x #2", "TP":"a x #2" }, "opera":{ "9":"n", "9.5-9.6":"n", "10.0-10.1":"n", "10.5":"n", "10.6":"n", "11":"n", "11.1":"n", "11.5":"n", "11.6":"n", "12":"n", "12.1":"n", "15":"a x #2", "16":"a x #2", "17":"a x #2", "18":"a x #2", "19":"a x #2", "20":"a x #2", "21":"a x #2", "22":"a x #2", "23":"a x #2", "24":"a x #2", "25":"a x #2", "26":"a x #2", "27":"a x #2", "28":"a x #2", "29":"a x #2", "30":"a x #2", "31":"a x #2", "32":"a x #2", "33":"a x #2", "34":"a x #2", "35":"a x #2", "36":"a x #2", "37":"a x #2", "38":"a x #2", "39":"a x #2", "40":"a x #2", "41":"a x #2", "42":"a x #2", "43":"a x #2", "44":"a x #2", "45":"a x #2", "46":"a x #2", "47":"a x #2", "48":"a x #2", "49":"a x #2", "50":"a x #2", "51":"a x #2", "52":"a x #2", "53":"a x #2", "54":"a x #2", "55":"a x #2", "56":"a x #2", "57":"a x #2", "58":"a x #2", "60":"a x #2", "62":"a x #2", "63":"a x #2", "64":"a x #2", "65":"a x #2", "66":"a x #2", "67":"a x #2", "68":"a x #2", "69":"a x #2", "70":"a x #2", "71":"a x #2", "72":"a x #2", "73":"a x #2", "74":"a x #2", "75":"a x #2", "76":"a x #2", "77":"a x #2", "78":"a x #2", "79":"a x #2", "80":"a x #2", "81":"a x #2", "82":"a x #2", "83":"a x #2", "84":"a x #2", "85":"a x #2", "86":"a x #2", "87":"a x #2", "88":"a x #2", "89":"a x #2", "90":"a x #2", "91":"a x #2", "92":"a x #2", "93":"a x #2", "94":"a x #2", "95":"a x #2", "96":"a x #2", "97":"a x #2", "98":"a x #2", "99":"a x #2", "100":"a x #2", "101":"a x #2", "102":"a x #2", "103":"a x #2", "104":"a x #2" }, "ios_saf":{ "3.2":"u", "4.0-4.1":"u", "4.2-4.3":"u", "5.0-5.1":"u", "6.0-6.1":"u", "7.0-7.1":"a x #2", "8":"a x #2 #3", "8.1-8.4":"a x #2 #3", "9.0-9.2":"a x #2 #3", "9.3":"a x #2 #3", "10.0-10.2":"a x #2 #3", "10.3":"a x #2 #3", "11.0-11.2":"a x #2 #3", "11.3-11.4":"a x #2 #3", "12.0-12.1":"a x #2 #3", "12.2-12.5":"a x #2 #3", "13.0-13.1":"a x #2 #3", "13.2":"a x #2 #3", "13.3":"a x #2 #3", "13.4-13.7":"a x #2 #3", "14.0-14.4":"n", "14.5-14.8":"n", "15.0-15.1":"n", "15.2-15.3":"n", "15.4":"n", "15.5":"n", "15.6-15.7":"n", "16.0":"n", "16.1":"n", "16.2":"n", "16.3":"n", "16.4":"n", "16.5":"n", "16.6-16.7":"n", "17.0":"n", "17.1":"n", "17.2":"n" }, "op_mini":{ "all":"n" }, "android":{ "2.1":"u", "2.2":"u", "2.3":"a x #2", "3":"a x #2", "4":"a x #2", "4.1":"a x #2", "4.2-4.3":"a x #2", "4.4":"a x #2", "4.4.3-4.4.4":"a x #2", "119":"a x #2" }, "bb":{ "7":"a x #2", "10":"a x #2" }, "op_mob":{ "10":"n", "11":"n", "11.1":"n", "11.5":"n", "12":"n", "12.1":"n", "73":"a x #2" }, "and_chr":{ "119":"a x #2" }, "and_ff":{ "119":"y" }, "ie_mob":{ "10":"n", "11":"n" }, "and_uc":{ "15.5":"a x #2" }, "samsung":{ "4":"a x #2", "5.0-5.4":"a x #2", "6.2-6.4":"a x #2", "7.2-7.4":"a x #2", "8.2":"a x #2", "9.2":"a x #2", "10.1":"a x #2", "11.1-11.2":"a x #2", "12.0":"a x #2", "13.0":"a x #2", "14.0":"a x #2", "15.0":"a x #2", "16.0":"a x #2", "17.0":"a x #2", "18.0":"a x #2", "19.0":"a x #2", "20":"a x #2", "21":"a x #2", "22":"a x #2", "23":"a x #2" }, "and_qq":{ "13.1":"a x #2" }, "baidu":{ "13.18":"a x #2" }, "kaios":{ "2.5":"n", "3.0-3.1":"n" } }, "notes":"", "notes_by_num":{ "1":"Only supports styling scrollbar colors through proprietary prefixed properties, no other properties to define the scrollbar's appearance. (not on standards track)", "2":"Supports scrollbar styling via CSS [pseudo-properties](https://webkit.org/blog/363/styling-scrollbars/). (not on standards track)", "3":"Scrollbar styling doesn\u2019t work in [WKWebView](https://issues.apache.org/jira/browse/CB-10123)", "4":"Can be enabled by setting the layout.css.scrollbar-colors.enabled and layout.css.scrollbar-width.enabled flags to true.", "5":"Firefox 63 supported scrollbar-face-color and scrollbar-track-color separate properties (now dropped from the spec) instead of unified scrollbar-color property." }, "usage_perc_y":2.87, "usage_perc_a":81.88, "ucprefix":false, "parent":"", "keywords":"scrollbar-button,scrollbar-track,scrollbar-thumb,scrollbar-base-color,scrollbar-face-color,scrollbar-color,scrollbar-width", "chrome_id":"", "shown":true }