Mastering Grid Layouts
CSS Grid has changed how we think about space. With just a few lines of code, you can create complex layouts...
| Metric | Value |
|---|---|
| Reading Time | 5 Minutes |
| Category | Web Design |
Welcome to the Dynamic HTML Lab. In this session, we’ll build a professional blog article using semantic tags and even experiment with legacy motion effects.
Learn why document structure matters for accessibility and SEO, and how to build truly descriptive web pages.
CSS Grid has changed how we think about space. With just a few lines of code, you can create complex layouts...
| Metric | Value |
|---|---|
| Reading Time | 5 Minutes |
| Category | Web Design |
Semantic tags like <article> and <header>
aren't just for looks. They tell browsers and assistive technologies (like screen readers)
exactly what each part of your page represents, boosting SEO and accessibility.
aside and dynamic text with
marquee.
table elements.
Every great article starts with a valid document skeleton.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Blog Article</title>
</head>
<body>
<!-- Content goes here -->
</body>
</html>
The <!DOCTYPE html> declaration ensures that the browser uses
"Standards Mode" rather than "Quirks Mode," giving you consistent rendering across Chrome,
Safari, and Firefox.
The <header> contains introductory content or navigation links.
<body>
<header>
<nav>
<a href="#">Home</a>
<a href="#">Articles</a>
</nav>
<h1>The UNDR Journal</h1>
</header>
<!-- Remaining body content -->
</body>
By using <header>, you signal to screen readers that this is
the site-wide branding area. You can have multiple headers on a page (e.g., inside an
<article>), but there's usually one primary one at the top.
Add a sense of urgency with the <marquee> tag for scrolling highlights.
<!-- Below the header -->
<marquee behavior="scroll" direction="left">
BREAKING: HTML Mastery Lab 05 has just been released!
Don't miss out on the latest updates.
</marquee>
The <marquee> tag is a "legacy" element from the early days of
the web. While technically deprecated in modern standards, it's still fun to use for simple,
retro scrolling effects!
The <article> tag represents a self-contained composition that makes sense on its
own.
<main>
<article>
<h2>Mastering Grid Layouts</h2>
<p>CSS Grid has changed how we think about space...</p>
<p>With just a few lines of code, you can create complex,
responsive designs that were once impossible.</p>
<!-- Table will go here later -->
</article>
</main>
The <article> tag is perfect for content that could be
distributed in an RSS feed or shared as a standalone piece. It should contain its own headings
and internal structure.
The <aside> tag is used for content "to the side"—related but not part of the
primary flow.
<!-- After the <main> element -->
<aside>
<h3>About the Author</h3>
<p>Alex is a front-end engineer obsessed with clean HTML
and accessible interfaces.</p>
</aside>
Asides are great for author bios, related links, terminology definitions, or advertisements. They are typically styled as sidebars on larger screens.
Use <table> to display categorical information about your post.
<article>
<!-- Previous paragraphs... -->
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Reading Time</td><td>5 Minutes</td></tr>
<tr><td>Category</td><td>Web Design</td></tr>
</table>
</article>
Only use <table> for data that has a logical relationship.
Never use tables for layout; use CSS Flexbox or Grid for that!
Finish your document with copyright, contact info, and legal links.
<footer>
<p>© 2026 The UNDR Journal. Built with Semantic HTML.</p>
<nav>
<a href="#">Twitter</a> | <a href="#">Newsletter</a>
</nav>
</footer>
Add a <style> block in the <head> to polish your blog's
appearance.
<style>
body {
font-family: sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
header { border-bottom: 2px solid #333; }
article { margin-top: 30px; }
table { width: 100%; border-collapse: collapse; }
td, th { border: 1px solid #ddd; padding: 8px; }
</style>
You've built a fully semantic, styled blog article. Review the final code and preview below.
<!DOCTYPE html>
<html>
<head>
<style>
body { max-width: 800px; margin: 0 auto; display: grid; grid-template-columns: 1fr 200px; }
header, marquee, footer { grid-column: 1 / -1; }
table { border: 1px solid #ddd; width: 100%; border-collapse: collapse; }
td, th { border: 1px solid #ddd; padding: 8px; }
</style>
</head>
<body>
<header><h1>The UNDR Journal</h1></header>
<marquee>BREAKING: HTML Mastery released!</marquee>
<main>
<article>
<h2>Mastering Grid Layouts</h2>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Reading Time</td><td>5 mins</td></tr>
</table>
</article>
</main>
<aside><h3>About Author</h3></aside>
<footer>(c) 2026 UNDR</footer>
</body>
</html>