CSS

CSS Position Property: Syntax, Usage, and Examples

The CSS position property controls where an element appears on a webpage. It determines whether an element stays in the normal document flow, moves relative to another element, or remains fixed in place. Understanding this property helps developers create structured and interactive layouts.

How to Use the CSS Position Property

Apply the position property using standard CSS syntax:

element {
  position: value;
}

Common values include:

  • static – Places the element in the normal document flow (default behavior).
  • relative – Moves the element relative to its original position.
  • absolute – Positions the element relative to the nearest positioned ancestor.
  • fixed – Keeps the element in place relative to the viewport, even when scrolling.
  • sticky – Acts like relative but becomes fixed when the page scrolls past a certain point.

When to Use the Position Property in CSS

Adjusting an Element’s Placement

Use relative positioning when you want to shift an element while keeping it in the normal document flow.

h1 {
  position: relative;
  top: 20px;
  left: 30px;
}

This moves the heading 20 pixels down and 30 pixels to the right without affecting surrounding elements.

Creating Overlapping Elements

Use absolute positioning to remove an element from the document flow and place it anywhere within a positioned ancestor.

.box {
  position: absolute;
  top: 50px;
  left: 100px;
}

This places the .box element 50 pixels from the top and 100 pixels from the left of its nearest positioned parent.

Fixing an Element to the Screen

Use fixed positioning for elements that should stay visible, such as headers or floating buttons.

.fixed-header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #333;
  color: white;
}

This keeps the header at the top of the screen even when the user scrolls.

Examples of CSS Position Property in Action

Creating a Floating Button

.floating-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: blue;
  color: white;
  padding: 10px;
}

This button stays in the bottom-right corner of the screen regardless of scrolling.

Making a Sticky Sidebar

.sidebar {
  position: sticky;
  top: 10px;
}

This sidebar stays in its original place until the user scrolls past it, at which point it sticks to the top.

Layering Elements with Z-Index

.image {
  position: absolute;
  top: 50px;
  left: 50px;
  z-index: 10;
}

A higher z-index places this element above others on the page.

Learn More About the CSS Position Property

Understanding CSS Position Properties

Positioning works alongside top, right, bottom, and left, which determine the exact placement of an element.

Using the Background Position Property

The background-position property defines where a background image appears within an element.

div {
  background-image: url("image.jpg");
  background-position: center top;
}

Recognizing Default Position Behavior

By default, browsers assign static positioning to all elements, meaning they follow the natural document flow unless changed.

Positioning Elements in Layout Design

Developers often combine positioning with display, flexbox, or grid to create structured layouts.

Aligning Media with Object-Position

Use object-position to control how images or videos align inside their containers.

img {
  object-position: right top;
}

Best Practices for Using Positioning in CSS

To avoid layout issues, always check how positioned elements interact with surrounding content. When using absolute, set a parent element with relative positioning to keep control over placement. If using fixed, add padding or margins to prevent content overlap. Thoughtful use of positioning improves design consistency and responsiveness.

Learn CSS for Free
Start learning now
button icon
To advance beyond this tutorial and learn CSS by doing, try the interactive experience of Mimo. Whether you're starting from scratch or brushing up your coding skills, Mimo helps you take your coding journey above and beyond.

Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.

You can code, too.

© 2025 Mimo GmbH