Learn HTML and CSS: position, relative and absolute
Relative and absolute
In the parish hall every bench has a tag: "Full" or "New". On the website it sits above the title, as if it belongs to it. Walter wants it in the corner, like a real tag.
Moving an element
With position: relative you move an element from its own place, with top, right, bottom or left. Its old place stays free: the rest of the page doesn't notice.
With position: absolute you take an element out of the flow, and the rest moves up as if it isn't there. It's then placed relative to the nearest ancestor with a position. That's why the parent nearly always gets position: relative, without moving anything else.
On the page the tags now stand top right in their bench, 10px from the edge.
.bench { position: relative;}.tag { position: absolute; top: 10px; right: 10px;}Try it yourself
Let the tags stick out above the edge of their bench: 10px above the top, 12px from the left side.
/* Your CSS goes here. */<!DOCTYPE html><html lang="en"><head> <title>Broken? Not Today!</title> <link rel="stylesheet" href="basis.css"> <link rel="stylesheet" href="style.css"></head><body> <header> <img src="sleutel.svg" alt="" width="40" height="40"> <h1>Broken? Not Today!</h1> <nav> <a href="index.html">Home</a> <a href="benches.html">Benches</a> <a href="dates.html">Dates</a> <a href="sign-up.html">Sign up</a> </nav> </header> <main> <p class="slogan">Every first Saturday of the month at the parish hall in Dorchester. Bring your broken things: we fix them together.</p> <a class="button" href="sign-up.html">Sign up your device</a> <section class="benches"> <article class="bench bike"> <span class="tag">Full</span> <h2>Bikes</h2> <p>A flat tyre or a weak brake? Jeff and Mark will help you.</p> </article> <article class="bench electrics"> <h2>Electrics</h2> <p>Lamps, toasters and coffee machines.</p> </article> <article class="bench sewing"> <span class="tag">New</span> <h2>Sewing corner</h2> <p>A loose seam or a broken zip.</p> </article> <article class="bench computer"> <h2>Computers</h2> <p>A slow laptop or a cracked screen.</p> </article> </section> </main> <footer> <p>Parish hall, 12 Church Street, Dorchester DT1 1JG</p> </footer></body></html>body { margin: 0; font-family: system-ui, sans-serif; background: #f4f0e8; color: #2a2622;}header { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}header h1 { margin: 0; font-size: 1.5rem;}nav a { padding: 6px 10px; border-radius: 999px; color: #ffffff; text-decoration: none;}main { padding: 0 16px 24px;}.slogan { margin: 16px 0 0; max-width: 40rem;}.benches { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0;}.button { display: inline-block; margin-top: 12px; padding: 10px 18px; border-radius: 999px; background: #d1495b; color: #ffffff; font-weight: 700; text-decoration: none;}/* A coloured edge per bench and a tag with a hole: only for the look. */.bench { padding: 14px 16px 16px; border-top: 4px solid #f2a541; border-radius: 14px; background: #ffffff; box-shadow: 0 1px 2px rgb(42 38 34 / 0.08), 0 8px 18px -12px rgb(42 38 34 / 0.35);}.bench h2 { margin: 0 0 6px; font-size: 1.1rem;}.bench p { margin: 0; color: #5b544c;}.bike { border-top-color: #2a9d8f;}.electrics { border-top-color: #f2a541;}.sewing { border-top-color: #d1495b;}.computer { border-top-color: #5b6cae;}.tag { display: inline-block; margin-bottom: 8px; padding: 3px 10px 3px 16px; border-radius: 4px 999px 999px 4px; background: radial-gradient(circle at 7px 50%, #ffffff 0 2.5px, transparent 3px), #ffd166; color: #3d2c00; font-size: 0.75rem; font-weight: 700;}form { display: grid; gap: 6px; max-width: 28rem; margin: 16px 0;}label { margin-top: 8px; font-weight: 600;}input,select,textarea { padding: 8px 10px; border: 1px solid #b9b0a3; border-radius: 8px; background: #ffffff; color: #2a2622; font: inherit;}button { justify-self: start; margin-top: 12px; padding: 10px 18px; border: 0; border-radius: 999px; background: #1f4e5f; color: #ffffff; font: inherit; font-weight: 700;}footer { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}Ready for more?
The full lesson has 5 exercises, from easy to challenging, with hints, points and a streak you can build.
Start the lesson