Manual:CSS/en

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 to MediaWiki:Common.css. For mobile version use MediaWiki:Mobile.css

To change the look and feel of MediaWiki's screen display (how it looks in a browser) you can put CSS into.

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/&lt;skin_name&gt;.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.

Help
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 &larr; 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.


 * Mozilla Developer Network CSS Reference

Similar to the Mozilla Developer Network CSS Reference is the easy to use properties overview from w3schools:


 * https://www.w3schools.com/cssref/

Caveats
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
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.

If you copy CSS, watch if it depends on additional CSS.

For example jsFiddle has a checkbox for "Normalized CSS". This sets s to   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):


 * [/load.php?debug=true&lang=en&modules=mediawiki.legacy.shared&only=styles&skin=vector Legacy general (all skins that use CSS) CSS built in to core]
 * [/load.php?debug=true&lang=en&modules=skins.vector.styles&only=styles&skin=vector General and Vector CSS built-in to core]
 * [/load.php?debug=true&lang=en&modules=site&only=styles&skin=vector Site CSS (MediaWiki namespace)]
 * [/load.php?debug=true&lang=en&modules=ext.gadget.site-styles&only=styles&skin=vector CSS for all skins (for all users) on MediaWiki.org (MediaWiki namespace)]
 * [/load.php?debug=true&lang=en&modules=site.styles&only=styles&skin=vector Vector skin CSS (MediaWiki namespace)]
 * [/load.php?debug=true&lang=en&modules=site.styles&only=styles&skin=vector Vector skin CSS (MediaWiki namespace)]

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?
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 configuration setting to allow custom CSS to work on these pages.