Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      How To Prevent WordPress SQL Injection Attacks

      June 13, 2025

      This week in AI dev tools: Apple’s Foundations Model framework, Mistral’s first reasoning model, and more (June 13, 2025)

      June 13, 2025

      Open Talent platforms emerging to match skilled workers to needs, study finds

      June 13, 2025

      Java never goes out of style: Celebrating 30 years of the language

      June 12, 2025

      OneDrive for Mac will soon give you more flexible storage options

      June 13, 2025

      From The Editor’s Desk — new Windows Central community features, we’d like to hear from you!

      June 13, 2025

      New code strings attached to Xbox Game Pass suggests a price increase may be imminent

      June 13, 2025

      This could be the versatile laptop accessory I’ve been waiting for — Here’s why it stands out from other portable monitors

      June 13, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript

      June 13, 2025
      Recent

      Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript

      June 13, 2025

      Everybody’s gone lintin’

      June 13, 2025

      QAQ-QQ-AI-QUEST

      June 13, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      OneDrive for Mac will soon give you more flexible storage options

      June 13, 2025
      Recent

      OneDrive for Mac will soon give you more flexible storage options

      June 13, 2025

      From The Editor’s Desk — new Windows Central community features, we’d like to hear from you!

      June 13, 2025

      New code strings attached to Xbox Game Pass suggests a price increase may be imminent

      June 13, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»Anchor Positioning Just Don’t Care About Source Order

    Anchor Positioning Just Don’t Care About Source Order

    April 28, 2025

    Ten divs walk into a bar:

    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>

    There’s not enough chairs for them to all sit at the bar, so you need the tenth div to sit on the lap of one of the other divs, say the second one. We can visually cover the second div with the tenth div but have to make sure they are sitting next to each other in the HTML as well. The order matters.

    <div>1</div>
    <div>2</div>
    <div>10</div><!-- Sitting next to Div #2-->
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>

    The tenth div needs to sit on the second div’s lap rather than next to it. So, perhaps we redefine the relationship between them and make this a parent-child sorta thing.

    <div>1</div>
    <div class="parent">
      2
      <div class="child">10</div><!-- Sitting in Div #2's lap-->
    </div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>

    Now we can do a little tricky positioning dance to contain the tenth div inside the second div in the CSS:

    .parent {
      position: relative; /* Contains Div #10 */
    }
    
    .child {
      position: absolute;
    }

    We can inset the child’s position so it is pinned to the parent’s top-left edge:

    .child {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
    }

    And we can set the child’s width to 100% of the parent’s size so that it is fully covering the parent’s lap and completely obscuring it.

    .child {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
      width: 100%;
    }

    Cool, it works!

    CodePen Embed Fallback

    Anchor positioning simplifies this process a heckuva lot because it just doesn’t care where the tenth div is in the HTML. Instead, we can work with our initial markup containing 10 individuals exactly as they entered the bar. You’re going to want to follow along in the latest version of Chrome since anchor positioning is only supported there by default at the time I’m writing this.

    <div>1</div>
    <div class="parent">2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div class="child">10</div>

    Instead, we define the second div as an anchor element using the anchor-name property. I’m going to continue using the .parent and .child classes to keep things clear.

    .parent {
      anchor-name: --anchor; /* this can be any name formatted as a dashed ident */
    }

    Then we connect the child to the parent by way of the position-anchor property:

    .child {
      position-anchor: --anchor; /* has to match the `anchor-name` */
    }

    The last thing we have to do is position the child so that it covers the parent’s lap. We have the position-area property that allows us to center the element over the parent:

    .child {
      position-anchor: --anchor;
      position-area: center;
    }

    If we want to completely cover the parent’s lap, we can set the child’s size to match that of the parent using the anchor-size() function:

    .child {
      position-anchor: --anchor;
      position-area: center;
      width: anchor-size(width);
    }
    CodePen Embed Fallback

    No punchline — just one of the things that makes anchor positioning something I’m so excited about. The fact that it eschews HTML source order is so CSS-y because it’s another separation of concerns between content and presentation.


    Anchor Positioning Just Don’t Care About Source Order originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleNVIDIA Riva Vulnerabilities Leave AI-Powered Speech and Translation Services at Risk
    Next Article GitHub for Beginners: Building a REST API with Copilot

    Related Posts

    News & Updates

    OneDrive for Mac will soon give you more flexible storage options

    June 13, 2025
    News & Updates

    From The Editor’s Desk — new Windows Central community features, we’d like to hear from you!

    June 13, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    Best AI Accounting Software in 2025

    Web Development

    wxMaxima is a GUI for the sublime Maxima CAS

    Linux

    I tested the SteelSeries Arctis Gamebuds for Xbox — Every gamer should replace their AirPods with these

    News & Updates

    Opera’s Android browser just got a major tab management upgrade

    News & Updates

    Highlights

    CVE-2024-52874 – Infoblox NETMRI SQL Injection

    May 22, 2025

    CVE ID : CVE-2024-52874

    Published : May 22, 2025, 6:15 p.m. | 36 minutes ago

    Description : In Infoblox NETMRI before 7.6.1, authenticated users can perform SQL injection attacks.

    Severity: 0.0 | NA

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    CVE-2025-37821 – Linux Kernel Sched Eevdf Crash

    May 8, 2025

    May 2025 Patch Tuesday forecast: Panic, change, and hope

    May 9, 2025

    Populate is a Supercharged Seeder for Laravel

    May 5, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.