From Wikipedia, the free encyclopedia
Usage of HTML tags with MediaWiki
"WP:HTML" redirects here. For general information about the default markup language on Wikipedia, see
Wikipedia:HTML5.
The MediaWiki software, which drives Wikipedia, allows the use of a subset of HTML 5 elements, or tags and their attributes, for presentation formatting.[1] However, most HTML functionality can be replicated using equivalent wiki markup or templates. These alternatives are generally preferred within articles because they are often simpler for most editors to use and less intrusive in the editing interface. Wikipedia's Manual of Style recommends when and where these alternatives should be used. (See Help:Wikitext for wikitext equivalents to HTML tags not otherwise discussed below.)
HTML can also be useful outside articles, such as for formatting within templates. For assistance with using Cascading Style Sheets on Wikipedia, see Help:Cascading Style Sheets.
Some tags that resemble HTML are actually MediaWiki parser and extension tags, and so are actually wiki markup. HTML included in pages can be validated for HTML5 compliance by using validation. Note that some elements and attributes supported by MediaWiki and browsers have been deprecated by HTML5 and should no longer be used.
TutorialsThis help page gives only an overview of allowed markup. For further assistance and detailed specifications:
HTML attributes provide additional information about an element and are always specified in the start tag. They are formatted as a name/value pair like name="value"
.
Global attributes apply to all tags. Attributes not listed here are not allowed by MediaWiki[1]:
class
: one or more classifications to which the element belongs. See Wikipedia:Catalogue of CSS classes.dir
: text direction— "ltr"
(left-to-right), "rtl"
(right-to-left) or "auto"
.id
: unique identifier for the element.lang
: primary language for the contents of the element per BCP 47.style
: applies CSS styling to the contents of the element.title
: advisory information associated with the element.HTML5 microdata attributes apply to all tags:[2]
data-
itemid
itemprop
itemref
itemscope
itemtype
Other tags such as <table>
support specific attributes – these are listed in the appropriate section.
This is <span style="color:red;">red</span> text.
This is red text.
The MediaWiki Sanitizer.php
does some cleanup on attributes. A best practice is to use the proper syntax.
These HTML elements are supported by the MediaWiki software. This section gives a brief overview of the HTML element, an example, relevant wikimarkup and templates.
Basic h1, h2, h3, h4, h5, h6The <h1>...</h1>
through <h6>...</h6>
tags are headings for the sections with which they are associated. <h1>
is used for the article title. Headings are styled through CSS and added to the page's table of contents.
<h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> <h6>Heading 6</h6>
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Wikimarkup: surround the text with the appropriate number of equal signs. Headers formatted with wikimarkup add an [edit] link.
Markup Renders as= Heading 1 = == Heading 2 == === Heading 3 === ==== Heading 4 ==== ===== Heading 5 ===== ====== Heading 6 ======
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Templates: {{fake heading}}
for use in documentation
<p>...</p>
tag places content into a separate paragraph.
<p>HyperText Markup Language</p><p>HyperText Markup Language</p>
HyperText Markup Language
HyperText Markup Language
Wikimarkup: Separate paragraphs by a single blank line.
Markup Renders asHyperText Markup Language HyperText Markup Language
HyperText Markup Language
HyperText Markup Language
<p>...</p>
is especially useful in lists, for list items with multiple paragraphs:
* <p>This is a paragraph.</p><p>This is another paragraph in the same item.</p> * This is a different item.
This is a paragraph.
This is another paragraph in the same item.
Note that the closing tag </p>
is not strictly necessary for MediaWiki installations that output HTML 5 (such as Wikipedia).
<br>
inserts a line break. See H:BR for the other 4 versions that the MediaWiki software converts to <br />
in the HTML that browsers read.
HyperText<br>Markup Language
HyperText
Markup Language
Templates:
{{break}}
adds multiple line breaks.{{crlf2}}
adds a true carriage return and line feed.{{clear}}
adds a break with styling to clear floating elements.{{plainlist}}
creates an unbulleted list.<hr>
or <hr />
represents a paragraph-level thematic break and presents as a horizontal rule.
Wikimarkup: use ----
Templates: {{hr}}
<!--...-->
formats the enclosed text as a hidden comment.
HyperText<!--Markup Language-->
HyperText
Be careful with spacing around comments. Surrounding a comment with blank lines will result in a blank paragraph, perceived as an extra two blank lines:
Markup Renders asContent line 1 <!-- Comment --> Content line 2
Content line 1
Content line 2
<abbr>...</abbr>
creates a tooltip to define an abbreviation or acronym that is displayed on mouse-over.
<abbr title="HyperText Markup Language">HTML</abbr>
HTML
Templates: {{abbr}}
<b>...</b>
formats text stylistically offset from other text (bold) without conveying extra importance.
<b>HyperText Markup Language</b>
HyperText Markup Language
Wikimarkup: Use '''
to open and close bold text.
'''HyperText Markup Language'''
HyperText Markup Language
bdi<bdi>...</bdi>
isolates the content from the surrounding text-direction settings.
اليمين إلى اليسارleft to right
اليمين إلى اليسارleft to right
اليمين إلى اليسار<bdi>left to right</bdi>
اليمين إلى اليسارleft to right
Support: Firefox, Chrome
bdo<bdo>...</bdo>
specifies the text direction.
Attributes and values:
dir
– Specifies the text direction.
ltr
rtl
<bdo dir="rtl">HyperText Markup Language</bdo>
HyperText Markup Language
blockquote<blockquote>...</blockquote>
presents text in an offset block.
<blockquote>HyperText Markup Language</blockquote>
HyperText Markup Language
Templates: {{quote}}
; supports pre-formatted attribution and source parameters. For other specialized quotation templates, see Category:Quotation templates.
<cite>...</cite>
contains the title of a work. This is a new definition in HTML5— in the previous XML implementation <cite>
was used to contain a citation or a reference to other sources. No formatting is applied when this tag is used.
<cite>HyperText Markup Language</cite>
HyperText Markup Language
<cite>...</cite>
is generally not used directly in Wikipedia articles, and is often misused; see Wikipedia:HTML 5#cite for replacement instructions.
<code>...</code>
formats a section of computer code. Styled with CSS through mediawiki.skinning/elements.less
as a black monospaced typeface with a grey background (#F8F9FA) and border (#EAECF0).
use <code>this code</code>
use this code
Templates: {{code}}
uses <syntaxhighlight>
. See the "See also" section at the template page for additional code-markup templates.
See § samp and § kbd on this page for semantic markup of output and input, respectively.
data<data>...</data>
formats a machine-readable version of contents.
<data value="978-0764502149">HTML for Dummies</data>
HTML for Dummies
Attributes: value
<del>...</del>
formats deleted text.
<del>HyperText Markup Language</del>
HyperText Markup Language
dfn<dfn>...</dfn>
is used for indicating the defining instance of a term.
<dfn>Definition</dfn>
Definition
Templates: {{dfn}}
<em>...</em>
represents a span of text with emphatic stress (i.e. semantic emphasis). In most browsers, it renders as italic.
<em>HyperText Markup Language</em>
HyperText Markup Language
Templates: {{em}}
<i>...</i>
represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is italic text.
<i>HyperText Markup Language</i>
HyperText Markup Language
Wikimarkup: Use ''
to open and close italic text.
''HyperText Markup Language''
HyperText Markup Language
ins<ins>...</ins>
indicates a range of text that has been added. Styled as underlined text. Used on talk pages to indicate refactored text; see WP:REDACT.
<ins>HyperText Markup Language</ins>
HyperText Markup Language
kbd<kbd>...</kbd>
indicates user input such as keyboard input or voice commands (but no gray background as with the template {{kbd}}
).
Press <kbd>Enter</kbd>
Press Enter
Templates:
{{kbd}}
applies monospace styling, and a light-grey background to distinguish from code (<code>
) and output (<samp>
or {{samp}}
).{{key press}}
renders illustrated keys and keystrokes.<mark>...</mark>
represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. Marked text is formatted with a yellow background by default.
<mark>HyperText Markup Language</mark>
HyperText Markup Language
<mark style="background:lightblue;">HyperText Markup Language</mark>
HyperText Markup Language
Support: Not supported by Internet Explorer 8 and below.
pre<pre>...</pre>
element represents a block of preformatted text. In MediaWiki, <pre>
is actually a parser tag and not HTML, but the function is the same. It also prevents the parsing of templates.
<pre>HyperText Markup Language</pre>
HyperText Markup LanguageHTML entities
<pre>
parses HTML entities. If you want to escape this, replace &
with &
, or use <syntaxhighlight lang="text">
instead.
<pre>&</pre>
&
<pre><</pre>
<
<pre>&amp;</pre>
&
<pre>&lt;</pre>
<
Templates:
{{pre}}
wraps text that overflows the page.<q>...</q>
is used to mark a short quotation. There has been very little implementation of this element in Wikipedia yet.
<q>HyperText Markup Language</q>
HyperText Markup Language
MOS:QUOTATIONS says Wikipedia should instead use "", {{quote}}, or <blockquote>.
rp, rt, ruby<ruby>...</ruby>
marks spans of phrasing content with ruby annotations.
<rt>...</rt>
marks the ruby text component of a ruby annotation; the ruby text shows in a reduced size over top of the normal characters.<rp>...</rp>
is used to provide parentheses around a ruby text component of a ruby annotation, to be shown by user agents that don't support ruby annotations.Browsers that do not support ruby characters will show the ruby text in normal size, enclosed in parentheses and after the normal content.
Markup Renders as<ruby> 東<rp>(</rp><rt>とう</rt><rp>)</rp> 京<rp>(</rp><rt>きょう</rt><rp>)</rp> </ruby>
東(とう) 京(きょう)
Templates:
{{ruby}}
{{ruby-ja}}
for Japanese{{Ruby-zh-p}}
for Chinese pinyin{{Ruby-zh-b}}
for Chinese bopomofo<s>...</s>
is used to indicate inline content that is no longer accurate or relevant and that has been struck from the page. It is not appropriate when indicating document edits; to mark a span of text as having been removed from a document, use <del>
.
<s>HyperText Markup Language</s>
HyperText Markup Language
Templates: {{strikethrough}}
(for inline content), {{strikethroughdiv}}
(for block content)
<samp>...</samp>
indicates sample output from a program or computing system. Examples include: output of a program, script, or Wikipedia template; status displays or audio announcements made by an app or device; file system directory listings and samples from them, such as paths and file names.
sample output: <samp>HTML</samp>
sample output: HTML
Templates: {{samp}}
applies monospace styling, and gives the text in dark grey to distinguish from code (<code>
) and input (<kbd>
or {{kbd}}
).
<small>...</small>
format small text.
<small>HyperText Markup Language</small>
HyperText Markup Language
Templates:
{{small}}
uses <span style="font-size:85%;">
. {{small}}
is recommended over <small>
since <small>...</small>
has a semantic meaning that is for fine print, whereas {{small}}
is purely stylistic.<strong>...</strong>
formats a span of text with strong importance or unusual emphasis; in most browsers it renders as boldface. This should generally not be used in Wikipedia articles, per WP:Neutral point of view policy. See MOS:BOLD on use of this element and other boldfacing. Most semantic emphasis, including in quoted material, should be rendered with the <em>
element.
<strong>HyperText Markup Language</strong>
HyperText Markup Language
Templates: {{strong}}
<sub>...</sub>
formats a span of text as a subscript.
HyperText <sub>Markup Language</sub>
HyperText Markup Language
Templates:
{{sub}}
(subscript text){{subsub}}
(subscript subscript text){{ssub}}
(subscript, small text){{sup}}
(superscript text){{su}}
(superscript{{sup sub}}
(textsup{{e}}
(1.23×104)<sup>...</sup>
formats a span of text as a superscript.
HyperText <sup>Markup Language</sup>
HyperText Markup Language
Templates:
{{sub}}
(subscript text){{subsub}}
(subscript subscript text){{ssub}}
(subscript, small text){{sup}}
(superscript text){{su}}
(superscript{{sup sub}}
(textsup{{e}}
(1.23×104)<time>...</time>
defines either a time (24 hour clock), or a date in the Gregorian calendar, optionally with a time and a time-zone offset.
<time>10:00</time>
10:00
Attributes: datetime
Support: Not supported by Internet Explorer 8 and below.
u<u>...</u>
represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is underlining; for example, a span of text in Chinese that is a proper name (a Chinese proper name mark), or span of text that is known to be misspelled.
<u>
was presentational element of HTML that was originally used to underline text; this usage was deprecated in HTML4 in favor of the CSS style {text-decoration: underline}
.[4] In HTML5, the tag reappeared but its meaning was changed significantly: it now "represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation".[4] This facility is intended for example to provide a red wavy line underline to flag spelling errors at input time but which are not to be embedded in any stored file (unlike an emphasis mark, which would be).
<u>HyperText Markup Language</u>
HyperText Markup Language
Templates: {{underline}}
(which supplies the recommended CSS style)
<var>...</var>
formats text in italics to indicate a variable in a mathematical expression or programming context, or placeholder text that the reader is meant to mentally replace with some other literal value.
*<var>E</var>=<var>m</var>c<sup>2</sup> (c is a constant not a variable) *<code><nowiki>{{</nowiki><var>TemplateName</var>|<var>parameter</var>=<var>value</var><nowiki>}}</nowiki></code> *If <var>A</var> then <var>B</var>
{{TemplateName|parameter=value}}
Templates:
wbr<wbr>
is a word break opportunity; that is, it specifies where it would be OK to add a line-break where a word is too long, or it is perceived that the browser will break a line at the wrong place.
Now is the time to become a power editor, by learning HyperText Markup Language
Now is the time to become a power editor, by learning HyperText Markup Language
Now is the time to become a power editor, by learning Hyper<wbr>Text Markup Language
Now is the time to become a power editor, by learning HyperText Markup Language
As the browser window is adjusted narrower, the second example wraps between Hyper and Text.
ListsDo not leave blank lines between items in a list unless there is a reason to do so, since this causes the MediaWiki software to interpret each item as beginning a new list.
dl, dt, dd<dl>...</dl>
, <dt>...</dt>
and <dd>...</dd>
are used to create a description list (formerly definition list) with terms and descriptions. Terms are displayed in bold and descriptions are indented. Each term must include one or more descriptions.
<dl> <dt>Term</dt> <dd>Definition 1</dd> <dd>Definition 2</dd> </dl>
Wikimarkup: <dt>
is created using ;
while automatically enclosed in <dl>...</dl>
. <dd>
is created using :
for each value. For a single or first value the :
can be placed on the same line after ;
where subsequent values must be placed on separate lines.
; Term : Definition 1 : Definition 2
Templates: {{defn}}
<ol>...</ol>
represents an ordered list; <ul>...</ul>
represents an unordered list; <li>...</li>
represents a list item within either type of list.
<ol> <li>Item 1</li> <li>Item 2</li> </ol>
<ul> <li>Item 1</li> <li>Item 2</li> </ul>
Wikimarkup: use *
for items in an unordered list and #
for ordered lists.
# Item 1 # Item 2
* Item 1 * Item 2
Templates: for a variety of specialized uses, see Category:List formatting and function templates.
Containers div<div>...</div>
is a generic container for flow content that displays as a block element.
HyperText <div>Markup</div> Language
HyperText
Markup
Language
span<span>...</span>
is a container for flow content that displays as an inline element.
HyperText <span>Markup</span> Language
HyperText Markup Language
Tables table, td, tr<table>...</table>
defines a table.
<tr>...</tr>
defines a table row.<td>...</td>
defines a data cell with contents that may include text, links, images, lists, forms, other tables, etc.data data<table border=1> <tr> <td>data</td> <td>data</td> </tr> </table>
Attributes:
<table>
:
border=""
and border="1"
border
(with a non-empty value different from "1"), align
, bgcolor
, cellpadding
, cellspacing
, frame
, rules
, summary
, width
[5]
<td>
: colspan
, headers
, rowspan
abbr
, align
, axis
, bgcolor
, scope
, height
, nowrap
, valign
, width
[5]
<th>...</th>
defines a table header; styled as centered and bold.
Header Header data data<table border="1"> <tr> <th>Header</th> <th>Header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
Attributes:
<th>
: colspan
, headers
, rowspan
, scope
abbr
, align
, axis
, bgcolor
, height
, nowrap
, valign
, width
[5]
<caption>...</caption>
adds a caption to a table.
Caption data data<table border=1> <caption>Caption</caption> <tr> <td>data</td> <td>data</td> </tr> </table>
Attributes:
<caption>
:
align
[5]
<thead>
, <tfoot>
and <tbody>
are not supported, but are automatically generated when the page is rendered.
These elements are now obsolete and either deprecated or removed in HTML5, although they are still supported by browsers.[5] Their use should be avoided on Wikipedia. These tags either have an alternate tag or a template that replaces their function with CSS; the tags are being replaced by editors on pages throughout Wikipedia (see Wikipedia:Linter for more details). See Wikipedia:HTML5 § Obsolete elements and attributes for more details on obsolete HTML parts and their replacements.
center<center>...</center>
(obsolete) was used to center text elements.
Templates: {{center}}
uses CSS.
<font>...</font>
(obsolete) was used to set the font size, font face and color of text.
Templates: {{font}}
uses CSS.
<rb>...</rb>
(obsolete) was used to mark base text in a ruby annotation.
For replacements, see: Help:HTML in wikitext#rp, rt, ruby
strike<strike>...</strike>
(obsolete) formatted strike-through characters; use <s>...</s>
or <del>...</del>
instead, depending on the context.
<tt>...</tt>
(obsolete) formatted text in a fixed-width font. Use <code>
, <kbd>
, <var>
, or <samp>
instead, depending on the context.
Templates: {{mono}}
uses CSS.
These elements are not supported, but have equivalent wiki markup. Attempting to use any element not whitelisted by Sanitizer.php
will result in the markup showing as plain text.
<a>
is used to create links. Use the [[ ]]
wikimarkup for internal/intrawiki links and interwiki links, and [ ]
for external links.
<input>
is used to create forms. The <inputbox>
extension tag is used to create a text box with a button.
HTML Tidy is an outdated HTML4 library[vague] that is slated for removal. Tidy parses the MediaWiki output and cleans it up to increase the likelihood that valid HTML4 is rendered. For example, with Tidy enabled, <br>
, </br>
, <br/>
, <br.>
all rendered as <br />
. Tidy is not enabled for MediaWiki interface pages. Tidy was never perfect and has been known to introduce errors.
In some pages in the MediaWiki namespace, typically the short messages like button labels, HTML is not parsed, and tags will be exposed.
User and sitewide CSS and JavaScript pages are interpreted as if inside a <pre>
block. See Help:User style.
The MediaWiki software attempts to fix HTML errors, but it does not catch all of them. Where HTML is used, it is helpful to verify it with the W3C Markup Validation Service.
For a machine-generated list, see Special:Version#mw-version-parser-extensiontags. It may include tags not documented here.
<gallery>
, <includeonly>
, <noinclude>
, <nowiki>
, <onlyinclude>
, <pre>
<categorytree>
, <charinsert>
, <chem>
(alias <ce>
), <graph>
, <hiero>
, <imagemap>
, <indicator>
, <inputbox>
, <mapframe>
, <maplink>
, <math>
, <math chem>
, <poem>
, <ref>
, <references>
, <score>
, <section>
, <syntaxhighlight>
(alias <source>
), <templatedata>
, <templatestyles>
, <timeline>
- (
Search)
Wikipedia key
policies and guidelines Content PWikipedia
accountsand
governance Unregistered (IP) usersUseful links
Daily pagesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3