HTML topmargin Attribute

The obsolete HTML topmargin attribute was historically used on the <body> element to control the amount of space between the top edge of the browser's document area and the page content.

Historical Syntax

The topmargin attribute was placed on the <body> element and typically used a numeric value representing pixels.

<body topmargin="40">

In supporting browsers, this requested 40 pixels of space between the top of the document area and the page content.

Historical Elements

The obsolete topmargin attribute was associated with the <body> element.

Element Historical Purpose
<body> Controlled the amount of space between the top edge of the document area and the page content.

Historical Use

The topmargin attribute was a browser-specific presentational feature used to adjust the position of an entire document's content.

<body topmargin="40">
  <h1>Garden Guide</h1>
  <p>Welcome to the garden guide.</p>
</body>

In browsers that supported the attribute, the page content began farther from the top edge of the document area.

The attribute was often used with other browser-specific body margin attributes such as leftmargin, rightmargin, and bottommargin.

Why It Became Obsolete

The topmargin attribute was a browser-specific presentational feature rather than a standard way to structure HTML content. It also mixed page presentation with HTML markup.

CSS provides a standardized and much more flexible way to control spacing around page content, including independent control of margins and padding on any element.

Modern Alternative

Use CSS instead of the obsolete topmargin attribute. The appropriate property depends on the type of spacing you want to create.

Historical HTML

<body topmargin="40">
  ...
</body>

CSS Margin

body {
  margin-top: 40px;
}

The margin-top property creates space outside the top edge of an element.

CSS Padding

.page-content {
  padding-top: 40px;
}

For many modern layouts, applying padding-top to a page container is a better choice when the goal is simply to keep its content away from the top edge.

Play in Editor

Learn More About CSS Spacing

The CSS tutorials explain how margins, padding, and the box model control spacing in modern layouts:

  • CSS Margins - Control the space outside an element.
  • CSS Padding - Control the space between an element's content and its border.
  • CSS Box Model - Learn how content, padding, borders, and margins work together.

Legacy Browser Support

The topmargin attribute was supported by some older browsers as a browser-specific extension to the <body> element.

Legacy browser support does not make the attribute valid modern HTML. Existing pages should replace it with CSS margins or padding when they are updated.

For additional information about historical browser compatibility, visit Can I Use? . Search for the HTML element or attribute you want to check. Search results can include related HTML features, element attributes, APIs, and other technologies, so select the result that most closely matches the legacy feature you are researching.

Other obsolete browser-specific attributes historically used to control spacing around document content include:

  • bottommargin - Historically controlled spacing along the bottom of the document.
  • leftmargin - Historically controlled spacing along the left side of the document.
  • rightmargin - Historically controlled spacing along the right side of the document.
  • hspace - Historically added horizontal spacing around certain elements.
  • vspace - Historically added vertical spacing around certain elements.

Specifications

The topmargin attribute was a browser-specific extension rather than a standard HTML attribute. It should not be used in modern HTML. Use CSS margins or padding to control spacing around document content.