I thought it would be helpful to consolidate the latest information on scroll bars, CSS, and browser compatibility. Scroll Bar CSS SupportCurrently, there exists no cross-browser scroll bar CSS styling definitions. The W3C article I mention at the end has the following statement and was recently updated (FRI 21 DEC 2012 06:20:49 AM CET):Some browsers (IE, Konqueror) support the non-standard properties 'scrollbar-shadow-color', 'scrollbar-track-color' and others. These properties are illegal: they are neither defined in any CSS specification nor are they marked as proprietary (by prefixing them with "-vendor-") MicrosoftAs others have mentioned, Microsoft supports scroll bar styling (example) but, only for IE8 and above.
Example: .TA { scrollbar-3dlight-color:gold; scrollbar-arrow-color:blue; scrollbar-base-color:; scrollbar-darkshadow-color:blue; scrollbar-face-color:; scrollbar-highlight-color:; scrollbar-shadow-color: } Chrome & Safari (webkit)Similarly, webkit now has its own version:
From Custom Scrollbars in WebKit, relevant CSS: /* pseudo elements */ ::-webkit-scrollbar { } ::-webkit-scrollbar-button { } ::-webkit-scrollbar-track { } ::-webkit-scrollbar-track-piece { } ::-webkit-scrollbar-thumb { } ::-webkit-scrollbar-corner { } ::-webkit-resizer { } /* pseudo class selectors */ :horizontal :vertical :decrement :increment :start :end :double-button :single-button :no-button :corner-present :window-inactive Firefox (Gecko)Firefox does not have its own version of scroll bar styles according to this SO answer from Custom CSS Scrollbar for Firefox.There's no Gecko equivalent to ::-webkit-scrollbar and friends.You'll have to stick with jQuery. Plenty of people would like this feature, see: https://bugzilla.mozilla.org/show_bug.cgi?id=77790 This report is asking for the exact same thing you're asking for: https://bugzilla.mozilla.org/show_bug.cgi?id=547260 Cross-browser Scroll Bar StylingJavaScript libraries and plug-ins can provide a cross-browser solution. There are many options.
Prevent Illegal Scroll Bar StylingJust in case you want to prevent scroll bar styling that hasn't been properly prefixed with "-vendor", this article over at W3C provides some basic instructions. Basically, you'll need to add the following CSS to a user style sheet associated with your browser. These definitions will override invalid scroll bar styling on any page you visit.body, html { scrollbar-face-color: ThreeDFace !important; scrollbar-shadow-color: ThreeDDarkShadow !important; scrollbar-highlight-color: ThreeDHighlight !important; scrollbar-3dlight-color: ThreeDLightShadow !important; scrollbar-darkshadow-color: ThreeDDarkShadow !important; scrollbar-track-color: Scrollbar !important; scrollbar-arrow-color: ButtonText !important; } Duplicate or Similar Questions / Source Not Linked AboveNote: This answer contains information from various sources. If a source was used, then it is also linked in this answer. |
Sumber : stackoverflow.com
Posting Komentar