Complete HTML & CSS for Beginners
About Course
Learn the fundamentals of web development with Complete HTML & CSS for Beginners. This beginner-friendly course teaches you how to build and style modern, responsive web pages from scratch. You’ll learn HTML structure, CSS styling, layouts, colors, typography, responsive design, and practical techniques through hands-on projects. By the end, you’ll have the skills and confidence to create your own professional-looking websites.
What Will You Learn?
- * Build web pages from scratch using HTML.
- * Understand HTML tags, elements, attributes, and page structure.
- * Style websites professionally using CSS.
- * Work with colors, fonts, spacing, borders, and backgrounds.
- * Create modern layouts using Flexbox and CSS Grid.
- * Make websites responsive for mobile, tablet, and desktop.
- * Create navigation bars, forms, buttons, cards, and other UI elements.
- * Build practical web projects to strengthen your skills.
- * Write clean, organized, and beginner-friendly code.
- * Gain the confidence to start creating your own websites.
Course Content
HTML & CSS Foundations
HTML & CSS: Essentials
Learn the core building blocks: HTML elements, attributes, and how CSS hooks onto them to control presentation.
HTML element anatomy
Every element has an opening tag, optional content, and a closing tag.
The browser reads this tree (called the DOM) to render the page.
Example
index.html
<p class="lead" title="Intro">Hello world</p>
Tag name: p defines a paragraph.
Attributes: class and title supply metadata.
Content: Inner text that users see.
If you want to read more or get an in-depth understanding, see HTML Elements and HTML Attributes in the HTML tutorial.
Global attributes you will use everywhere
class - groups elements for CSS styling.
id - unique identifier for one element (useful for anchors and scripting).
title - tooltip text.
lang - language of a document or element ().
data-* - custom data attributes for scripts or styling hooks.
Reference: HTML Global Attributes.
How CSS attaches to HTML
Use selectors based on tag, class, or id to style the markup.
Inline styles work, but external stylesheets keep projects maintainable.
Note: Selectors are words that tell CSS which HTML element to style, for example .card for any element with class="card".
HTML + CSS
index.htmlstyles.css
<article class="card" id="intro">
<h2>Welcome</h2>
<p>Learning HTML and CSS together unlocks creative freedom.</p>
</article>
If you want to read more or get an in-depth understanding, see CSS Syntax and How To Add CSS in the CSS tutorial.
Semantic structure matters
Prefer semantic tags (<header>, <nav>, <main>, <section>, <footer>) over generic <div>s.
They help screen readers and search engines understand the page.
Check HTML Semantics for full definitions.
Block vs inline
Block elements (e.g., <div>, <section>, <p>) span full width and start on a new line.
Inline elements (e.g., <span>, <a>, <strong>) only take necessary width.
This distinction affects layout and is crucial when applying CSS display rules.
If you want to read more about HTML Block & Inline or get an in-depth understanding, go to HTML Block & Inline in the HTML tutorial.
Whitespace and indentation
Indent child elements consistently to visualize hierarchy.
Browsers ignore extra whitespace, but it makes code easier to read for us humans.
<main>
<section>
<h2>Headline</h2>
<p>Supporting text.</p>
</section>
</main>
HTML & CSS Styling Core
HTML & CSS: Styling Essentials
CSS (Cascading Style Sheets) controls color, typography, spacing, and layout.
Master the basics to transform plain markup into polished designs.
How CSS works
CSS is a set of rules applied to HTML elements.
Each rule consists of a selector and a set of declarations.
The browser reads stylesheets top to bottom and resolves conflicts using the cascade.
Note: A selector names the HTML element you want to style, and the cascade is the decision process the browser uses when two rules try to style the same element.
Rule anatomy
styles.css
section.hero {
background: #0f172a;
color: #fff;
padding: 80px 24px;
}
Review: CSS Syntax.
Ways to include CSS
External stylesheet: (recommended).
Internal stylesheet: inside the .
Inline styles: style="..." on an element (use sparingly).
If you want to read more about how to add CSS or get an in-depth understanding, go to How to Add CSS in the CSS tutorial.
Common selectors
Selectors target elements by type, class, id, or relationship.
Explore the dedicated chapter next.
Type selector: p { ... }
Class selector: .card { ... }
ID selector: #hero { ... }
Attribute selector: input[type="email"] { ... }
Note: Type selectors match element names, classes group many elements, and IDs target a single unique element.
If you want to read more about CSS Selectors or get an in-depth understanding, go to CSS Selectors in the CSS tutorial.
Declarations and values
Each declaration has a property name and value, ending with a semicolon.
Declarations
styles.css
body {
font-family: "Inter", sans-serif;
line-height: 1.7;
background-color: #f4f6fb;
}
Check CSS Reference for property/value definitions.
The cascade and inheritance
Later rules override earlier ones when specificity is equal.
Inline styles override internal/external styles.
Some properties inherit from parent elements (e.g., color, font-family).
Use !important only as a last resort.
Note: Specificity is a scoring system: IDs are stronger than classes, and classes are stronger than element names.
More details: CSS How To, CSS Specificity.
Working with color
Specify colors via keywords, hex, RGB, or HSL.
Color formats
styles.css
.hero { background: #04AA6D; }
.card { background: rgb(255, 255, 255); }
.highlight { background: hsl(205, 90%, 60%); }
Note: Hex values start with #, rgb() uses red/green/blue numbers, and hsl() uses hue, saturation, and lightness.
Explore: CSS Colors.
Typography basics
Fonts: font-family.
Size: font-size (px, rem, em).
Weight: font-weight (400 = normal, 700 = bold).
Line height, letter spacing, text alignment.
Note: Pixels are fixed dots, rem sizes relative to the root font size, and em sizes relative to the parent element.
If you want to read more or get an in-depth understanding, see CSS Fonts and CSS Text in the CSS tutorial.
Spacing essentials
Use margin (outside) and padding (inside) to control space, along with border.
Note: Margins push elements away from neighbors; padding creates space between the border and the content inside.
Spacing
styles.css
.card {
margin-bottom: 24px;
padding: 24px;
border-radius: 12px;
}
Learn more in the upcoming Box Model chapter.
Display and layout
The display property determines how elements flow.
block, inline, inline-block foundations.
flex and grid for modern layouts (covered later).
Note: Block elements take the full row, inline elements sit inside text, and inline-block combines both behaviors.
If you want to read more about Display & Visibility or get an in-depth understanding, go to Display & Visibility in the CSS tutorial.
Try it Yourself
Experiment with the example below to see how different css properties affect layout.
Example
index.htmlstyles.css
<header>
<h1>Styling Essentials</h1>
<p>CSS transforms HTML into beautiful interfaces.</p>
</header>
<main>
<article class="card">
<h2>Typography</h2>
<p>Adjust fonts, weights, and spacing.</p>
</article>
<article class="card">
<h2>Colors</h2>
<p>Create consistent palettes with hex or HSL.</p>
</article>
</main>
Student Ratings & Reviews
No Review Yet