Help:Cascading style sheets

From Meta, a Wikimedia project coordination wiki
Jump to: navigation, search
MediaWiki Handbook: Contents, Readers, Editors, Moderators, System admins +/-

Cascading Style Sheets allow for flexible formatting of a page. They should be used instead of tables 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.

Contents

[edit] Levels of CSS settings

Style may be specified 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 id's. This is done on various levels:

Author stylesheets, in this order:

User stylesheet:

A 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>, 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 stylesheets: 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.

[edit] Supported Elements

Mediawiki supports most CSS, with such exceptions as the url() attribute. There were some bugs in css support in earlier versions.

For further information, see the CSS specification.

[edit] CSS in wikitext

You can use CSS styling in HTML elements in your code (see Help:HTML in wikitext for a list of elements supported by MediaWiki) like you would in normal HTML markup.

For example, a "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.

which would produce 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
|-
|}
For further information, see Help:Tables

[edit] Mediawiki existing styles

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.

monobook is the default style, you can read it at:

You will give your css tag an existing "class"

Later in this article ("Major style blocks") we will list some of the existing classes used by MediaWiki.

[edit] Tips and tricks

[edit] Non-display

One extreme "style" for a text is "display:none", i.e., not displaying it, e.g.

p<span style="display:none">q</span>r gives pqr

To allow a text to optionally have this style, specify a class or id for it; a user who wants to hide it can then correspondingly specify in his/her personal CSS:

.classname {display: none}

or

#id {display: none}

Non-displayed links do not work, as opposed to links in a very small font, compare:

p<span style="display:none">[[q]]</span>r gives pqr
p<small><small><small><small><small>[[q]]</small></small></small></small></small>r gives pqr

It cannot be used to remove text in expressions for template names, parameter names, parameter values, page names in links, etc.

While "display: none" produces nothing, "visibility: hidden" produces blank spaces replacing the content; its opposite is "visibility: visible".

Example:

p<span style="visibility: hidden">q</span>r gives pqr

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.

[edit] Non-print

One can exclude content from being printed (if the browser supports CSS) by declaring the content to be of the "noprint" class:

<div class="someclass noprint">This will not appear in the print version.</div>

[edit] Major style blocks

The portlet class is the style used by all the div blocks around the main content. Identified blocks using that class:

The footer at the bottom of the page includes blocks with the following ids

[edit] Style depending on a parameter or variable

[edit] Variable class or id

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.

[edit] Variable style parameter value

Wikitext like

<span style="display:{{{3|none}}}">Wed</span>

displays "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.

[edit] See also

[edit] Links to other help pages

Help contents
Meta | Wikinews | Wikipedia | Wikiquote | Wiktionary | commons: | mw: | b: | s: | mw:Manual | google
Versions of this help page (for other languages see below)
Meta | Wikinews | Wikipediahttp://en.wikipedia.org/wiki/Help:Cascading_style_sheets | Wikiquote | Wiktionary
What links here on Meta or from Meta | Wikipedia | MediaWiki
Reading
Go | Search | Stop words | Namespace | Page name | Section | Backlinks | Redirect | Category | Image page | Special pages | Printable version
Tracking changes
Recent changes (enhanced) | Related changes | Watching pages | Diff | Page history | Edit summary | User contributions | Minor edit | Patrolled edit
Logging in and preferences
Logging in | Preferences | User style
Editing
Starting a new page | Advanced editing | Editing FAQ | Edit toolbar | Export | Import | Shortcuts | Edit conflict | Page size
Referencing
Links | URLs | Piped links | Interwiki linking | Footnotes
Style & formatting
Wikitext examples | CSS | Reference card | HTML in wikitext | Formula | List | Table | Sorting | Colors | Images and file uploads
Fixing mistakes
Show preview | Testing | Reverting edits
Advanced functioning
Expansion | Template | Advanced templates | Parser function | Parameter default | Variable | System message | Substitution | Array | Calculation | Embed page
Others
Special characters | Renaming (moving) a page | Talk page | Sandbox | Legal issues for editors


Personal tools
Namespaces
Variants
Actions
Navigation
Community
Beyond the Web
Print/export
Toolbox