Lesson 29 of 29
In Progress

Build a Complete Webpage Using CSS

Congratulations on making it to the final chapter of the Learn CSS course! In this chapter, we will put everything you’ve learned into practice by building a complete web page or site using CSS.

Before we dive in, it’s important to have a clear plan and design in mind for your project. Consider what the purpose of your website is, who your target audience is, and what features and content you want to include. Having a well-defined plan will help you stay focused and organized as you build your website.

Set Up Your Development Environment

Before you start building your website, it’s important to have a development environment set up. This includes a text editor for writing your HTML and CSS code, a web browser for previewing your website, and a local server for testing your code.

There are many options for text editors, such as Sublime Text, Atom, and Visual Studio Code. Choose one that you are comfortable with and that has features that will be helpful for web development, such as syntax highlighting and code completion.

For previewing your website, you can use any modern web browser, such as Google Chrome, Mozilla Firefox, or Safari.

To set up a local server, you can use a tool such as XAMPP or WampServer. These tools allow you to run a web server on your own computer, which is useful for testing your website before publishing it online.

Write Your HTML and CSS Code

Now it’s time to start writing your HTML and CSS code. Follow best practices that you’ve learned in this course, such as using semantic HTML tags, properly nesting elements, and organizing your CSS code into logical sections.

As you build your website, make sure to test your code frequently in your web browser to ensure that everything is working as expected.

Add Interactive Features and Content

To make your website more engaging and interactive, consider adding features such as forms, buttons, and animations. You can use JavaScript and other programming languages to add these features to your website.

In addition to adding interactive features, make sure to include high-quality content on your website. This could include text, images, videos, or other media.

Test and Debug Your Website

Before publishing your website, it’s important to test it thoroughly to ensure that it is functioning properly and is free of errors. This includes testing on different web browsers and devices to ensure that your website looks and works as expected.

If you encounter any issues, use the debugging techniques that you learned in this course to troubleshoot and fix any problems.

Publish Your Website

Once your website is complete and fully tested, it’s time to publish it online. There are many options for hosting your website, such as using a hosting service or publishing it on a platform like GitHub Pages. Choose the option that works best for your needs and follow the necessary steps to publish your website online.


Building a complete web page or site using CSS is a challenging but rewarding process. By following the steps outlined in this chapter and applying the knowledge you’ve gained in this course, you can create a professional-quality website that is well-designed, interactive, and accessible.

Example Project

For this example project, we will be building a simple personal portfolio website. The website will include an about me section, a list of my skills and experiences, and a portfolio of my past projects.

HTML Code:

<!DOCTYPE html>
	<title>My Portfolio</title>
	<link rel="stylesheet" href="style.css">
		<h1>My Portfolio</h1>
			<li><a href="#about">About Me</a></li>
			<li><a href="#skills">Skills and Experiences</a></li>
			<li><a href="#portfolio">Portfolio</a></li>
		<section id="about">
			<h2>About Me</h2>
			<p>Hello, my name is Jane Doe and I am a web developer. I have a passion for creating websites that are visually appealing and user-friendly. In my free time, I enjoy learning new technologies and staying up-to-date with industry trends.</p>
		<section id="skills">
			<h2>Skills and Experiences</h2>
				<li>Full-stack web development internship at XYZ Company</li>
				<li>Freelance web development projects for small businesses</li>
		<section id="portfolio">
			<h3>Project 1:</h3>
			<p>A website for a local bakery. Features a responsive layout, online ordering system, and a dynamic menu that updates with the bakery's daily offerings.</p>
			<h3>Project 2:</h3>
			<p>A website for a non-profit organization. Features a clean and modern design, easy-to-use donation form, and a responsive layout for mobile devices.</p>
		<p>Copyright 2021 Jane Doe</p>

CSS Code:

body {
	font-family: Arial, sans-serif;
	color: #333333;
	margin: 0;
	padding: 0;

header {
	background-color: #f5f5f5;
	padding: 20px;
	text-align: center;

header h1 {
	font-size: 32px;

nav {
	background-color: #333333;

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;

nav li {
	flex: 1;
	text-align: center;

nav a {
	display: block;
	color: white;
	padding: 20px;
	text-decoration: none;

nav a:hover {
	background-color: #cccccc;

main {
	padding: 20px;

section {
	margin-bottom: 20px;

section h2 {
	font-size: 24px;
	margin-bottom: 10px;

section h3 {
	font-size: 20px;
	margin-bottom: 5px;

footer {
	background-color: #f5f5f5;
	padding: 20px;
	text-align: center;

footer p {
	font-size: 14px;
	margin: 0;