Manual:CSS
Cascading style sheet (CSS) rules sets much of the look and feel of MediaWiki: font size, colors, spacing, the logo and background image, even whether site content is displayed or is hidden.
CSS can be used to change the style of the entire wiki, for example to make the background a different color, or you can use inline CSS to style specific pieces of text in your wiki. For example green text can be accomplished by doing
. If you want to make all text on the wiki larger you can add the code <span style="color:green;">green text</span>
to MediaWiki:Common.css.
body { font-size: larger; }
To change the look and feel of MediaWiki's screen display (how it looks in a browser) you can put CSS into MediaWiki:Common.css.
To change the way MediaWiki pages print, you put CSS into MediaWiki:Print.css on your wiki.
If enabled on your wiki, individual users can create custom stylesheets just for themselves at Special:MyPage/<skin_name>.css (for example Special:MyPage/vector.css if they are using the vector skin). Special:MyPage/common.css allows the creation of personal stylesheets for all skins.
You can also create custom skins for MediaWiki.
Contents
Help[edit]
CSS syntax, attributes and values, must be correct or stuff won't work right. World Wide Web Consortium (W3C) is an excellent reference for checking how to write CSS correctly directly from the standards:
- https://www.w3.org/TR/CSS21/propidx.html -- CSS 2.1 Index of properties ← very helpful
- http://www.w3.org/TR/CSS21/indexlist.html -- CSS 2.1 Index of everything
- http://www.w3.org/TR/CSS21/cover.html#minitoc -- CSS 2.1 Table of Contents
Wikipedia gives a good overview of CSS.
If you prefer an easily consumable reference alongside demos of CSS features Mozilla Developer Network CSS Reference will provide you an "up-to-date" guide to syntax and basic usage of the various elements.
Caveats[edit]
Be sure to keep your HTML markup semantic. Relying on styling to indicate meaning is a bad practice (e.g. for machine readability such as by search engines, screen readers using text-to-speech, and text browsers).
Normalized CSS[edit]
Much CSS today relies on a "reset" or "normalize" CSS to make all browsers work the same. MediaWiki does not have a reset per se, though there are built-in stylesheets such as common/commonElements.css, common/commonContent.css, common/commonInterface.css, and MediaWiki:Common.css.
If you copy CSS, watch if it depends on additional CSS.
For example jsFiddle has a checkbox for "Normalized CSS". This sets margin
s to 0
and resets the numbers on ordered lists. Since none of this normalization CSS is running on MediaWiki sites, you should not use it when testing MediaWiki-related code.
jsfiddle has a feature to import CSS. If you're testing against the Vector skin on English Wikipedia, the primary sheets should be (in this order):
- Legacy general (all skins that use CSS) CSS built in to core
- General and Vector CSS built-in to core
- Site CSS (MediaWiki namespace)
- Mediawiki.org controls site CSS with the Gadgets extension, so Mediawiki:Gadget-site.css is used in place of Mediawiki:Common.css. This results in a slightly different load URL.
You can adjust the domain in the URL for other WMF wikis. By importing these, you can get a better idea how your CSS interacts with the CSS on WMF wikis.
Styles not working on Special:UserLogin or Special:Preferences?[edit]
By default, site CSS customizations (e.g. MediaWiki:Common.css) do not take effect on the login and preferences pages.
This is to preserve the security of the login process, and to allow users to remove any unwanted customizations without being interfered with.
If you are not concerned about the security risks, you can use the $wgAllowSiteCSSOnRestrictedPages
configuration setting to allow custom CSS to work on these pages.