Misplaced Positioned Elements: Understanding Absolute and Fixed Positioning
Absolute and fixed positioning in CSS allow elements to be precisely placed within a document or viewport. However, sometimes elements may not appear where you expect them to. This is often due to a misunderstanding of how these positioning methods work.
The Issue with Static Positioning
When an element is positioned statically (the default), it flows with the rest of the document, taking its position from surrounding elements. In the given example, the grey-box div is positioned absolutely. However, the container has a relative position, not an absolute or fixed position. This means that the grey-box is still subject to the flow of the document and will be positioned relative to the container's static position.
Absolute and Fixed Positioning
Absolute positioning removes an element from the document's flow and positions it relative to its nearest positioned ancestor. If there is no positioned ancestor, it will be positioned relative to the document itself. Fixed positioning is similar to absolute, but it positions an element relative to the viewport rather than its ancestor.
In the first example, the grey-box is absolutely positioned, but its container is statically positioned. As discussed earlier, this means that the grey-box will be positioned relative to the container's static position, which is not at the top-left corner.
In the second example, the grey-box is moved before the orange-box. This causes the orange-box to occupy the space that the grey-box would have taken up. Therefore, the grey-box appears after the orange-box.
Correcting the Issue
To position the grey-box correctly, the container must be positioned absolutely or fixed. This will allow the grey-box to be positioned relative to the container's absolute or fixed position rather than its static position.
Here is the corrected code:
.container { background: lightblue; position: absolute; }
Now, the grey-box should appear in the top-left corner of the container as expected.
The above is the detailed content of Why Does My Absolutely Positioned Element Appear in the Wrong Place?. For more information, please follow other related articles on the PHP Chinese website!

I got this question the other day. My first thought is: weird question! Specificity is about selectors, and at-rules are not selectors, so... irrelevant?

Yes, you can, and it doesn't really matter in what order. A CSS preprocessor is not required. It works in regular CSS.

You should for sure be setting far-out cache headers on your assets like CSS and JavaScript (and images and fonts and whatever else). That tells the browser

Many developers write about how to maintain a CSS codebase, yet not a lot of them write about how they measure the quality of that codebase. Sure, we have

Have you ever had a form that needed to accept a short, arbitrary bit of text? Like a name or whatever. That's exactly what is for. There are lots of

I'm so excited to be heading to Zürich, Switzerland for Front Conference (Love that name and URL!). I've never been to Switzerland before, so I'm excited

One of my favorite developments in software development has been the advent of serverless. As a developer who has a tendency to get bogged down in the details

In this post, we’ll be using an ecommerce store demo I built and deployed to Netlify to show how we can make dynamic routes for incoming data. It’s a fairly


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Chinese version
Chinese version, very easy to use

Atom editor mac version download
The most popular open source editor

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