Bird
Raised Fist0
CSSmarkup~5 mins

Inline, internal, and external CSS

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

CSS styles make web pages look nice and organized. You can add CSS in three ways to control how your page looks.

When you want to quickly change the style of one element only.
When you want to style a single HTML page with some custom styles.
When you want to keep styles separate from HTML for easier management.
When you want to reuse the same styles across many pages.
When you want to test style changes without editing external files.
Syntax
CSS
/* Inline CSS */
<tag style="property: value;">Content</tag>

/* Internal CSS */
<style>
  selector {
    property: value;
  }
</style>

/* External CSS */
<link rel="stylesheet" href="styles.css">

Inline CSS goes inside an HTML tag using the style attribute.

Internal CSS is placed inside a <style> tag in the HTML <head>.

External CSS is in a separate file linked to the HTML.

Examples
Inline CSS changes the color of just this paragraph.
CSS
<p style="color: blue;">This text is blue.</p>
Internal CSS styles all <h1> headings on this page green.
CSS
<style>
  h1 {
    color: green;
  }
</style>
<h1>Green heading</h1>
External CSS styles all <h2> headings red and bigger, reusable on many pages.
CSS
<link rel="stylesheet" href="styles.css">

/* In styles.css file */
h2 {
  font-size: 2rem;
  color: red;
}
Sample Program

This page uses all three CSS types: internal CSS styles the body and h1, inline CSS colors one paragraph purple, and external CSS (in styles.css) styles the h2 heading.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS Types Example</title>
  <style>
    /* Internal CSS */
    body {
      font-family: Arial, sans-serif;
      background-color: #f0f0f0;
    }
    h1 {
      color: darkblue;
    }
  </style>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h1>Internal CSS Heading</h1>
  <p style="color: purple;">This paragraph uses inline CSS to be purple.</p>
  <h2>External CSS Heading</h2>
</body>
</html>
OutputSuccess
Important Notes

Inline CSS is quick but not good for many elements because it mixes style with content.

Internal CSS is good for single pages but can get messy if styles grow large.

External CSS keeps styles in one place, making it easy to update many pages at once.

Summary

Inline CSS styles one element directly inside the tag.

Internal CSS goes inside a <style> tag in the HTML head for that page.

External CSS is in a separate file linked to HTML, best for reuse and organization.

Practice

(1/5)
1. Which type of CSS is written directly inside an HTML tag using the style attribute?
easy
A. Internal CSS
B. Inline CSS
C. External CSS
D. Embedded CSS

Solution

  1. Step 1: Understand CSS placement types

    Inline CSS is applied directly inside an HTML element using the style attribute.
  2. Step 2: Match the description to the type

    Since the question asks for CSS inside the tag, this matches Inline CSS.
  3. Final Answer:

    Inline CSS -> Option B
  4. Quick Check:

    CSS inside tag = Inline CSS [OK]
Hint: Style attribute inside tag means Inline CSS [OK]
Common Mistakes:
  • Confusing internal CSS with inline CSS
  • Thinking external CSS is inside the tag
  • Mixing embedded CSS term with inline
2. Which of the following is the correct way to include internal CSS in an HTML document?
easy
A. inside the <head> section
B. inside the <body> section
C. inside the <head> section
D.

Solution

  1. Step 1: Identify internal CSS syntax

    Internal CSS uses a <style> tag placed inside the <head> section.
  2. Step 2: Check each option

    <style> p { color: blue; } </style> inside the <head> section correctly uses <style> with CSS inside <head>. Others misuse tags or placement.
  3. Final Answer:

    <style> p { color: blue; } </style> inside the <head> section -> Option A
  4. Quick Check:

    Internal CSS = <style> in <head> [OK]
Hint: Internal CSS uses <style> in the head section [OK]
Common Mistakes:
  • Placing <link> inside body for internal CSS
  • Using <script> tag for CSS
  • Using <style> with src attribute
3. What will be the color of the paragraph text in this HTML snippet?
<head>
  <style>
    p { color: red; }
  </style>
</head>
<body>
  <p style="color: blue;">Hello World</p>
</body>
medium
A. Black (default)
B. Red
C. Blue
D. No color applied

Solution

  1. Step 1: Identify CSS types and priority

    The paragraph has internal CSS setting color red and inline CSS setting color blue.
  2. Step 2: Understand CSS specificity

    Inline CSS has higher priority than internal CSS, so the color blue applies.
  3. Final Answer:

    Blue -> Option C
  4. Quick Check:

    Inline CSS overrides internal CSS [OK]
Hint: Inline CSS overrides internal CSS color [OK]
Common Mistakes:
  • Thinking internal CSS overrides inline
  • Assuming default color applies
  • Ignoring CSS specificity rules
4. Find the error in this HTML snippet that tries to link an external CSS file:
<head>
  <link rel="stylesheet" href="styles.css">
  <style>
    body { background-color: white; }
  </style>
</head>
medium
A. External CSS file name is incorrect
B. Missing closing slash in <link> tag
C. The <style> tag should be outside <head>
D. No error, code is correct

Solution

  1. Step 1: Check <link> tag syntax

    In HTML5, <link> is a void element and does not require a self-closing slash. <link rel="stylesheet" href="styles.css"> is valid.
  2. Step 2: Verify other elements

    The <style> tag is correctly placed inside <head>. File name and everything else is fine. No errors.
  3. Final Answer:

    No error, code is correct -> Option D
  4. Quick Check:

    <link> without / is valid HTML5 [OK]
Hint: <link> tag does not need self-closing slash in HTML5 [OK]
Common Mistakes:
  • Thinking <link> requires closing slash
  • Thinking <style> should be outside <head>
  • Assuming file name error without checking
5. You want to style multiple HTML pages with the same CSS rules and also override some styles on a single page. Which combination is best?
hard
A. Use external CSS for common styles and inline CSS for page-specific overrides
B. Use only inline CSS on every page
C. Use internal CSS on every page and no external CSS
D. Use external CSS for all styles and never override

Solution

  1. Step 1: Understand CSS reuse and overrides

    External CSS is best for common styles shared across pages for easy maintenance.
  2. Step 2: Use inline CSS for specific overrides

    Inline CSS can override external styles on a single element for page-specific changes.
  3. Final Answer:

    Use external CSS for common styles and inline CSS for page-specific overrides -> Option A
  4. Quick Check:

    External CSS + inline overrides = best practice [OK]
Hint: External CSS for all, inline CSS for exceptions [OK]
Common Mistakes:
  • Using only inline CSS everywhere (hard to maintain)
  • Avoiding overrides when needed
  • Using internal CSS on every page (redundant)