


Why Doesn't `margin: auto` Center Absolutely or Fixed Positioned Elements?
Why Margin:auto Alone Won't Center Positioned Elements
When attempting to center a div element within a parent container using the position: absolute or position: fixed properties, using margin: auto alone may not be sufficient.
Understanding the CSS Specification
According to the CSS specifications, for elements with position: relative or position: static (normal flow), setting both margin-left and margin-right to auto horizontally centers the element relative to its containing block, as their used values become equal. However, this does not apply to elements with position: absolute or position: fixed.
For absolutely or fixed positioned elements, where all three of left, width, and right are auto, the used values of margin-left and margin-right are set to 0 to prevent centring. To center such elements, one must define values for left, right, or width.
The Effect of Setting left, right, and width
If left, right, and width are all defined, the margins get equal values, resulting in centring. Omitting any of these values will cause the element to deviate from center alignment.
Demonstration with Different Cases
The following table demonstrates the various cases, as described in the CSS specification:
Margin Setting | Centring |
---|---|
margin-left: auto; margin-right: auto | Yes (flow element) |
margin-left: auto; margin-right: auto | No (absolute/fixed element) |
left: auto; right: auto; width: auto | No (margin set to 0) |
left: 0; right: 0; width: auto | No (margin set to 0) |
right: auto; left: auto; | No (margin set to 0) |
left: auto; right: auto; width: 200px | Yes (equal margins) |
left: 0; width: auto | Yes (equal margins) |
right: 0; width: auto | Yes (equal margins) |
The above is the detailed content of Why Doesn't `margin: auto` Center Absolutely or Fixed Positioned Elements?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

It's out! Congrats to the Vue team for getting it done, I know it was a massive effort and a long time coming. All new docs, as well.

I had someone write in with this very legit question. Lea just blogged about how you can get valid CSS properties themselves from the browser. That's like this.

I'd say "website" fits better than "mobile app" but I like this framing from Max Lynch:

The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

If we need to show documentation to the user directly in the WordPress editor, what is the best way to do it?

There are a number of these desktop apps where the goal is showing your site at different dimensions all at the same time. So you can, for example, be writing

CSS Grid is a collection of properties designed to make layout easier than it’s ever been. Like anything, there's a bit of a learning curve, but Grid is

I see Google Fonts rolled out a new design (Tweet). Compared to the last big redesign, this feels much more iterative. I can barely tell the difference
