<main>

HTML <main> Tag

The <main> tag is a new block-level element in the HTML5 specification. The tag specifies the dominant content of the document’s <body>. The content of the <main> tag must be unique and do not duplicate blocks of the same type that are repeated in other documents, such as the header of a site, header, footer, menu, search, copyright information, etc.

The <main> element mustn’t be placed in the <article>, <aside>, <footer>, <header> or <nav> tags. A document must not have more than one <main> tag which does not have a specified hidden attribute.

This element doesn’t affect the DOM’s concept of the page’s structure, unlike such elements as <body>, <h2>, and others.

Assistive technology can use landmarks for quickly identifying and navigating to the document’s large sections. It is recommended to use the <main> element and not to declare role=“main”.

Assistive technology user can skip large sections of repeated content using “skipnav” technique. This allows the user to easily access a page’s main content. If you add an id attribute to the <main> element, it will be the target of a skip navigation link.

Syntax

Syntax (语法)

The <main> tag comes in pairs. The content is written between the opening (<main>) and closing (</main>) tags.

Example of the HTML <main> tag:

<!DOCTYPE html>
<html>
 <head>
   <title>Title of the document</title>
 </head>
 <body>
   <main>
     <h1>Programming languages</h1>
     <p>
       Languages HTML and CSS are intended for site layout.
(HTML和CSS语言适用于网站布局。)
     </p>
     <article>
       <h2>HTML</h2>
       <p>
         HTML (Hyper Text Markup Language) is a language of hypertext markup, which is used to create web pages.
(HTML (超文本标记语言)是一种超文本标记语言,用于创建网页。)
       </p>
       <p>... </p>
       <p>... </p>
     </article>
     <article>
       <h2>CSS</h2>
       <p>
         CSS is a language of styles, defining the display of HTML documents.
(CSS是一种样式语言,定义了HTML文档的显示。)
       </p>
       <p>... </p>
     </article>
   </main>
 </body>
</html>

Result

Attributes

Attributes (属性)

The <main>tag supports the Global Attributes and the Event Attributes.

How to style <main> tag? Common properties to alter the visual weight/emphasis/size of text in <main> tag:

CSS font-style property sets the style of the font. normal | italic | oblique | initial | inherit. CSS font-family property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. CSS font-size property sets the size of the font. CSS font-weight property defines whether the font should be bold or thick. CSS text-transform property controls text case and capitalization. CSS text-decoration property specifies the decoration added to text, and is a shorthand property for text-decoration-line, text-decoration-color, text-decoration-style.

Coloring text in <main> tag:

CSS color property describes the color of the text content and text decorations. CSS background-color property sets the background color of an element.

Text layout styles for <main> tag:

CSS text-indent property specifies the indentation of the first line in a text block. CSS text-overflow property specifies how overflowed content that is not displayed should be signalled to the user. CSS white-space property specifies how white-space inside an element is handled. CSS word-break property specifies where the lines should be broken.

Other properties worth looking at for <main> tag:

CSS text-shadow property adds shadow to text. CSS text-align-last property sets the alignment of the last line of the text. CSS line-height property specifies the height of a line. CSS letter-spacing property defines the spaces between letters/characters in a text. CSS word-spacing property sets the spacing between words.



请遵守《互联网环境法规》文明发言,欢迎讨论问题
扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注
返回顶部