Help:Cascading Style Sheets
Cascading Style Sheets
This page provides information about the Cascading Style Sheets language and its use.
|
This help page is TestWiki how-to guide. It details processes or procedures of some aspect(s) of TestWiki's norms and practices. It is not one of TestWikis's policies or guidelines. |
Cascading Style Sheets (CSS) allows for flexible formatting of a page. They should be used instead of tables for non-tabular content whenever possible, because they can be manipulated by the reader or overridden by an author if your CSS is embedded in another page via a template.
Levels of CSS settings[edit]
Style may be chosen specifically for a piece of content, see e.g., color; scope of parameters.
Alternatively, style is specified for CSS selectors, expressed in terms of elements, classes, and IDs.
MediaWiki core style sheets[edit]
Per skin: MediaWiki Manual: Gallery of user styles etc. Typically loaded style sheets:
- Skin-specific main file
e.g., monobook/main.css (standard skin for PCs), chick/main.css (standard skin for handhelds)
- Browser-specific fixes (also skin-specific)
Examples for Monobook:
- For Firefox: monobook/FF2Fixes.css
- For Internet Explorer: monobook/IE60Fixes.css monobook/IE70Fixes.css
- For Opera: monobook/Opera6Fixes.css monobook/Opera7Fixes.css monobook/Opera9Fixes.css
Site-wide style sheets[edit]
- Site-wide for all skins (desktop view only): MediaWiki:Common.css
- Site-wide for all skins (mobile view only): MediaWiki:Mobile.css
- Site-wide per skin: MediaWiki:Vector.css, MediaWiki:Monobook.css, etc.
- Site-wide for user groups: MediaWiki:Group-user.css, MediaWiki:Group-autoconfirmed.css, etc.
- Site-wide for specialist purposes: MediaWiki:Print.css, MediaWiki:Noscript.css, MediaWiki:Filepage.css
- Site-wide if gadgets loaded: see TestWiki:Gadget for more information
Note: MediaWiki sites other than TestWiki may use MediaWiki:Gadget-site.css
instead of MediaWiki:Common.css.
Page-specific style sheets[edit]
Page-specific style sheets may be introduced through TemplateStyles. Pages, particularly templates, may also have inline CSS.
Some pages have their own CSS, e.g., MediaWiki:FileUploadWizard.css.
User-specific style sheets[edit]
- Global user-specific for all skins: meta:Special:MyPage/global.css
- User-specific for all skins: Special:MyPage/common.css
- User-specific per skin: e.g., Special:MyPage/vector.css, or Special:MyPage/skin.css for your current skin
- User-specific CSS loaded through JavaScript, e.g., loaded at Special:MyPage/common.js
- User-specific web-wide browser settings: local file referred to in the browser settings, or directly set in the browser
Note that in CSS terminology, the user-specific style sheets are not user style sheets.
Usage[edit]
An HTML element may be just taken from the wikitext (see HTML in wikitext), e.g., span, or the result of translating wikitext, e.g., the '''...'''
code is changed into <b>...</b>
, or part of the code for the skin.
A class may be produced by the software, e.g., ns-namespace number for the HTML element "body", and extiw for an interwiki link in the page body, or taken from the wikitext.
Similarly, an ID may be produced by the software, e.g., bodyContent, or taken from the wikitext.
In the case of conflicting style settings for a piece of content, the resulting setting depends primarily on the indication "!important". Secondarily, if both are important, the user wins; if neither is, the author wins. Tertiarily it depends on specificity. Only lastly, it depends on order between and within style sheets: the last wins. Thus, a User:username/monobook.css does not win from MediaWiki:Monobook.css (both author, not user) if the specificity of the latter is greater. See also cascade.
Supported elements[edit]
MediaWiki supports most CSS, with such exceptions as the url() attribute. There were some bugs in CSS support in earlier versions.
CSS in wikitext[edit]
You can use CSS styling in HTML elements in your code like you would in normal HTML markup.
For example, a <div>...</div>
element with a green border and its contents floated to the right would be created with:
<div style="float:right; border:thin solid green;">
Here comes a short paragraph that is<br />
contained in a "div" element that is<br />
floated to the right.
</div>
Here comes a short paragraph that is
contained in a "div" element that is
floated to the right.
This produces the box to the right. Some wikitext elements allow you to insert CSS styling directly into them. An example is the table syntax:
{| style="your style here"
|-
|your table stuff
|}
MediaWiki existing styles[edit]
You may wish to use a style type that is already predefined by MediaWiki, or the site that you are visiting. You can also create a style that is unique to your page.
Vector is the default style; you can view it at: MediaWiki:Vector.css.
You will give your CSS tag an existing "class".
Please put a list of existing classes here.
Tips and tricks[edit]
Non-display[edit]
In an embedded page, one can hide comments in one version, and show them in another view. One extreme "style" for a text is not displaying it, with:
.''classname'' {display: none}
#''id'' {display: none}
etc.
Non-displayed links do not work (as opposed to links in a very small font).
It cannot be used to remove text in expressions for template names, parameter names, parameter values, page names in links, etc.
To view hidden text, download the Web Developer Toolbar for Firefox here, then choose Misc. → show hidden elements in that toolbar. It will make all hidden elements appear.
Non-print[edit]
One can exclude content from being printed by declaring the content to be of the "noprint" class:
<div class="someclass noprint">This will not appear in the print version.</div>
Major style blocks[edit]
- column-content – overall space within the margins of which the content exists.
- firstHeading – the class of the heading tag at the top of every page.
- contentSub – the name of the wiki immediately
Style depending on a parameter or variable[edit]
Variable class or id[edit]
A class or id can depend on the result produced by a template or on a template parameter, e.g. class="abc{{{1|def}}}"
. For one or more of the possible class names the style of that class can be defined. If the class is undefined it is ignored, so the standard style is used.
In the simplest case we have e.g. class="abc{{{1}}}"
and define class abcdef. If the parameter value is "def" it applies.
If a page for general use only makes sense when styles are defined for certain classes, then these have to be specified in the page MediaWiki:Common.css, which applies for all users and all skins, as far as not overridden.
Variable style parameter value[edit]
Wikitext that reads
<span style="display:{{{3|none}}}">Wed</span>
will display "Wed" if parameter 3 is defined, but its value is not "none", and displays nothing if parameter 3 is undefined or "none". If the value of parameter 3 is a display style other than "none", that style is applied.
Wiki headings[edit]
Wiki headings use the following default CSS:
Wikimarkup | HTML | Style |
---|---|---|
= Heading = |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.8em; font-family: 'Linux Libertine',Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA;
| |
== Heading == |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.5em; font-family: 'Linux Libertine',Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA;
| |
=== Heading === |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.2em; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0;
| |
==== Heading ==== |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0;
| |
===== Heading ===== |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0;
| |
====== Heading ====== |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0;
|