š Scenario: You are creating a simple webpage for a small bakery. You want to style different parts of the page by grouping elements using the class attribute.
šÆ Goal: Build a basic HTML page with a header, a paragraph, and a footer. Assign the class attribute to these elements to identify their roles for styling.
š What You'll Learn
Create a <header> element with the class site-header
Create a <p> paragraph element with the class intro-text
Create a <footer> element with the class site-footer
Use semantic HTML5 elements
Include the lang attribute in the <html> tag
š” Why This Matters
š Real World
Using class attributes is essential for styling groups of elements consistently on websites.
š¼ Career
Web developers use classes daily to apply CSS styles and JavaScript behaviors to HTML elements.
Progress0 / 4 steps
1
Create the basic HTML structure
Write the basic HTML skeleton with <!DOCTYPE html>, <html lang="en">, <head> with a <title> 'Bakery Website', and an empty <body>.
HTML
Hint
Start with the standard HTML5 document structure. Don't forget the lang="en" attribute in the <html> tag.
2
Add semantic elements with class attributes
Inside the <body>, add a <header> element with the class site-header, a <p> paragraph with the class intro-text, and a <footer> element with the class site-footer.
HTML
Hint
Use the class attribute inside the opening tags of <header>, <p>, and <footer>.
Place the text between the opening and closing tags of each element.
4
Add a CSS style block targeting the classes
Inside the <head>, add a <style> block that sets the background color of .site-header to lightyellow, the font style of .intro-text to italic, and the text color of .site-footer to gray.
HTML
Hint
Use CSS selectors with a dot (.) before the class name to style elements by their class.
Practice
(1/5)
1. What is the main purpose of the class attribute in HTML?
easy
A. To group elements for styling or scripting
B. To add inline styles directly to an element
C. To define the element's unique ID
D. To specify the element's text content
Solution
Step 1: Understand the role of the class attribute
The class attribute is used to assign one or more class names to an HTML element.
Step 2: Identify the purpose of class names
Class names help group elements so CSS or JavaScript can target them easily for styling or behavior.
Final Answer:
To group elements for styling or scripting -> Option A
Quick Check:
class attribute groups elements [OK]
Hint: Class groups elements for CSS/JS use [OK]
Common Mistakes:
Confusing class with id attribute
Thinking class adds inline styles
Believing class sets element content
2. Which of the following is the correct way to assign multiple classes to an element?
easy
A. <div class="red,bold"></div>
B. <div class="red bold"></div>
C. <div class="red;bold"></div>
D. <div class="red.bold"></div>
Solution
Step 1: Recall how to separate multiple classes
Multiple classes must be separated by spaces inside the class attribute.
Step 2: Check each option's syntax
<div class="red bold"></div> uses a space between "red" and "bold", which is correct. Others use commas, semicolons, or dots which are invalid.
Final Answer:
<div class="red bold"></div> -> Option B
Quick Check:
Multiple classes separated by spaces [OK]
Hint: Separate multiple classes with spaces [OK]
Common Mistakes:
Using commas or semicolons instead of spaces
Trying to join classes with dots
Forgetting to separate class names
3. What will be the color of the text inside this HTML snippet?
Step 1: Identify classes assigned to the paragraph
The paragraph has two classes: "red" and "bold".
Step 2: Check CSS rules for these classes
"red" sets text color to red, "bold" sets font weight to bold. Both styles apply together.
Final Answer:
Red and bold text -> Option D
Quick Check:
Multiple classes combine styles [OK]
Hint: Multiple classes combine all styles [OK]
Common Mistakes:
Thinking only one class style applies
Ignoring combined effects of multiple classes
Confusing class names with IDs
4. Find the error in this HTML snippet:
<div class=red bold>Content</div>
medium
A. Class attribute cannot have multiple classes
B. Class names should be separated by commas
C. Missing quotes around class attribute value
D. The tag <div> cannot have a class attribute
Solution
Step 1: Check syntax for class attribute
The value of the class attribute must be enclosed in quotes if it contains spaces.
Step 2: Identify the error in the snippet
Here, class=red bold lacks quotes, so the browser misinterprets it.
Final Answer:
Missing quotes around class attribute value -> Option C
Quick Check:
Class attribute values with spaces need quotes [OK]
Hint: Always quote class values with spaces [OK]
Common Mistakes:
Omitting quotes for multiple classes
Separating classes with commas
Thinking class attribute is invalid on div
5. You want to style all buttons with a green background and white text, but only those with class primary should also be bold. Which HTML and CSS setup achieves this?
All buttons get green background and white text via class "btn". Only "primary" buttons are bold.
Step 2: Check HTML and CSS correctness
<button class="btn primary">Click</button>\n.btn { background: green; color: white; }\n.primary { font-weight: bold; } correctly assigns two classes separated by space and styles them separately. <button class="btn,primary">Click</button>\n.btn { background: green; color: white; }\n.primary { font-weight: bold; } uses comma in class attribute which is invalid. <button class="btn primary">Click</button>\n.btn.primary { background: green; color: white; font-weight: bold; } combines styles but makes all primary buttons green and bold, missing the separate "btn" style. <button class="primary">Click</button>\n.btn { background: green; color: white; }\n.primary { font-weight: bold; } misses "btn" class on button, so green background won't apply.