{{HTMLRef}}

The HTML <body> Element represents the content of an HTML document. There can be only one <body> element in a document.

Content categories Sectioning root.
Permitted content Flow content.
Tag omission The start tag may be omitted if the first thing inside it is not a space character, comment, {{HTMLElement("script")}} element or {{HTMLElement("style")}} element. The end tag may be omitted if the body element has contents or has a start tag, and is not immediately followed by a comment.
Permitted parents It must be the second element of an {{HTMLElement("html")}} element.
Permitted ARIA roles None
DOM interface {{domxref("HTMLBodyElement")}}
  • The <body> element exposes the {{domxref("HTMLBodyElement")}} interface.
  • You can access the body element through the {{domxref("document.body")}} attribute.

Attributes

This element includes the global attributes.

{{htmlattrdef("alink")}} {{obsolete_inline}}
Color of text for hyperlinks when selected. This method is non-conforming, use CSS {{cssxref("color")}} property in conjunction with the {{cssxref(":active")}} pseudo-class instead.
{{htmlattrdef("background")}} {{obsolete_inline}}
URI of a image to use as a background. This method is non-conforming, use CSS {{cssxref("background")}} property on the element instead.
{{htmlattrdef("bgcolor")}} {{obsolete_inline}}
Background color for the document. This method is non-conforming, use CSS {{cssxref("background-color")}} property on the element instead.
{{htmlattrdef("bottommargin")}} {{obsolete_inline}}
The margin of the bottom of the body. This method is non-conforming, use CSS {{cssxref("margin-bottom")}} property on the element instead.
{{htmlattrdef("leftmargin")}} {{obsolete_inline}}
The margin of the left of the body. This method is non-conforming, use CSS {{cssxref("margin-left")}} property on the element instead.
{{htmlattrdef("link")}} {{obsolete_inline}}
Color of text for unvisited hypertext links. This method is non-conforming, use CSS {{cssxref("color")}} property in conjunction with the {{cssxref(":link")}} pseudo-class instead.
{{htmlattrdef("onafterprint")}}
Function to call after the user has printed the document.
{{htmlattrdef("onbeforeprint")}}
Function to call when the user requests printing of the document.
{{htmlattrdef("onbeforeunload")}}
Function to call when the document is about to be unloaded.
{{htmlattrdef("onblur")}}
Function to call when the document loses focus.
{{htmlattrdef("onerror")}}
Function to call when the document fails to load properly.
{{htmlattrdef("onfocus")}}
Function to call when the document receives focus.
{{htmlattrdef("onhashchange")}}
Function to call when the fragment identifier part (starting with the hash ('#') character) of the document's current address has changed.
{{htmlattrdef("onlanguagechange")}} {{experimental_inline}}
Function to call when the preferred languages changed.
{{htmlattrdef("onload")}}
Function to call when the document has finished loading.
{{htmlattrdef("onmessage")}}
Function to call when the document has received a message.
{{htmlattrdef("onoffline")}}
Function to call when network communication has failed.
{{htmlattrdef("ononline")}}
Function to call when network communication has been restored.
{{htmlattrdef("onpopstate")}}
Function to call when the user has navigated session history.
{{htmlattrdef("onredo")}}
Function to call when the user has moved forward in undo transaction history.
{{htmlattrdef("onresize")}}
Function to call when the document has been resized.
{{htmlattrdef("onstorage")}}
Function to call when the storage area has changed.
{{htmlattrdef("onundo")}}
Function to call when the user has moved backward in undo transaction history.
{{htmlattrdef("onunload")}}
Function to call when the document is going away.
{{htmlattrdef("rightmargin")}} {{obsolete_inline}}
The margin of the right of the body. This method is non-conforming, use CSS {{cssxref("margin-right")}} property on the element instead.
{{htmlattrdef("text")}} {{obsolete_inline}}
Foreground color of text. This method is non-conforming, use CSS {{cssxref("color")}} property on the element instead.
{{htmlattrdef("topmargin")}} {{obsolete_inline}}
The margin of the top of the body. This method is non-conforming, use CSS {{cssxref("margin-top")}} property on the element instead.
{{htmlattrdef("vlink")}} {{obsolete_inline}}
Color of text for visited hypertext links. This method is non-conforming, use CSS {{cssxref("color")}} property in conjunction with the {{cssxref(":visited")}} pseudo-class instead.

Example

<html>
  <head>
    <title>Document title</title>
  </head>
  <body>
    <p>This is a paragraph</p>
  </body>
</html>

Specifications

Specification Status Comment
{{SpecName('HTML WHATWG', 'semantics.html#the-body-element', '<body>')}} {{Spec2('HTML WHATWG')}} Changed the list of non-conforming features.
{{SpecName('HTML5 W3C', 'sections.html#the-body-element', '<body>')}} {{Spec2('HTML5 W3C')}} Obsoleted the formerly deprecated attributes. Defined the behavior of the non-conforming and never standardized margintop, marginleft, marginright and marginbottom. Added the on* attributes.
{{SpecName('HTML4.01', 'struct/global.html#h-7.5.1', '<body>')}} {{Spec2('HTML4.01')}} Deprecated the alink, background, bgcolor, link, text and vlink attributes.

Browser compatibility

{{Compat("html.elements.body")}}

See also