- 01Setting Up (What You'll Need)
- 02Your First HTML
- 03Lists and Links
- 04Adding Color with CSS
- 05CSS Selectors and Classes
- 06Layout with Flexbox
- 07Trying Out Images and Tables
- 08Trying Out Form Controls
- 09Understanding the Box Model
- 10Intro to Responsive Design (Media Queries)
- 11CSS Variables (Custom Properties)
- 12Layout with CSS Grid
- 13Adding an Animation
- 14How to Write Comments
- 15Adding Interaction with Pseudo-Classes (:hover)
- 16CSS's :not() and Multi-Condition Selectors
- 17The Basics of Meta Tags and SEO
- 18The Basics of Accessibility (alt and aria-label)
- 19Trying Out data Attributes (data-*)
- 20CSS Transitions (Smooth Hover Changes)
- 21iframe (Embedding Another Page)
- 22position (Precisely Positioning an Element)
- 23z-index (Specifying Stacking Order)
- 24The Basics of localStorage (Saving Data in the Browser)
- 25The video and audio Tags (Embedding Media)
- 26Advanced Tables (colspan and rowspan)
- 27The Basics of CSS Specificity
- 28The Basics of SVG (Drawing Vector Images)
- 29Advanced Flexbox (Wrapping and Growing)
- 30Form Validation (required and pattern)
- 31Advanced CSS Grid (grid-template-areas)
- 32The details and summary Tags (Building a Collapsible Panel)
- 33CSS Counters (Automatic Numbering)
- 34Fluid Font Sizes with clamp()
- 35prefers-color-scheme (Dark Mode Support)
- 36Building a Slider with input type=range
- 37Fixing an Aspect Ratio with aspect-ratio
- 38Adjusting How an Image Displays with object-fit
- 39Rotating and Scaling with transform
- 40Serving Responsive Images with the picture Tag
- 41Showing Keyboard Focus with :focus-visible
- 42Scrolling Smoothly with scroll-behavior
- 43Switching Layouts Per-Component with Container Queries
- 44Creating a Frosted-Glass Effect with backdrop-filter
- 45Building a Flexible Grid with repeat() and minmax()
- 46Fixing a Header in Place with position: sticky
- 47Adding Pseudo-Elements with ::before and ::after
- 48Truncating Long Text with an Ellipsis Using text-overflow
- 49Using a Calculated Value in CSS with calc()
- 50[Applied] Build a Simple Website
[Applied] Build a Simple Website
In this lesson you'll combine everything you've learned about HTML/CSS to build a real self-introduction page, deepening your overall understanding as you go. This is for people searching "HTML CSS how to build a self-introduction page."
Let's combine headings, paragraphs, links, images, Flexbox, and coloring — everything you've learned up to this point — to build a simple self-introduction page (a mini website). It follows the common structure you'll see on a real website: a header, main content, and a footer.
The sample code builds the title area at the top of the page with <header>, the profile information and links with <main>, and the copyright notice at the bottom with <footer>. Notice too how Flexbox places the profile image and text side by side, and how the links are styled to look like buttons.
A common beginner stumbling block is not knowing where to start when this many elements are combined together. A good approach for learning is to change just one rule inside the <style> tag at a time, and check how the appearance changes with each one.
Rewrite the code and grow it into a page all your own. Once you're comfortable, combining it with the JavaScript lessons lets you build pages with real interactivity, like something happening when a button is pressed. The knowledge from these 50 lessons is foundational knowledge that applies directly to real-world web development work.
💡 The preview runs entirely on this page — nothing is sent externally.
