Use semantic HTML elements like <nav>, <section>, and <button> for better accessibility.
Use relative units like rem for padding and font sizes to help with responsiveness.
Always add aria-label or other accessibility attributes when needed for screen readers.
Summary
CSS styles common UI parts like buttons, navigation, inputs, and cards.
Use hover effects and spacing to improve user experience.
Semantic HTML and accessibility attributes make your UI friendly for everyone.
Practice
(1/5)
1. Which CSS property is commonly used to add space inside a button to make it easier to click?
easy
A. font-size
B. margin
C. padding
D. border
Solution
Step 1: Understand padding's role
Padding adds space inside an element, between its content and border, making buttons larger and easier to click.
Step 2: Differentiate from margin
Margin adds space outside the element, not inside. Border and font-size do not add internal space.
Final Answer:
padding -> Option C
Quick Check:
Internal space in buttons = padding [OK]
Hint: Padding adds inside space; margin adds outside space [OK]
Common Mistakes:
Confusing margin with padding
Using border to add space
Changing font-size to add space
2. Which CSS selector correctly targets all buttons with the class primary?
easy
A. button.primary
B. .button primary
C. #primary button
D. button#primary
Solution
Step 1: Understand class selector syntax
To select elements with a class, use a dot (.) before the class name. Combining with element name is element.class.
Step 2: Analyze each option
button.primary selects all button elements with class primary. .button primary is invalid syntax. #primary button selects buttons inside an element with id primary. button#primary selects button with id primary.
Final Answer:
button.primary -> Option A
Quick Check:
Class selector with element = element.class [OK]
Hint: Use dot before class name, no spaces for element.class [OK]
Common Mistakes:
Using space instead of dot
Confusing id (#) with class (.)
Wrong order of selectors
3. What will be the background color of the button when hovered, given this CSS?
A. 'display: inline-block' prevents 'margin: 0 auto' from centering block elements
B. Width is missing units
C. Margin syntax is incorrect
D. The card needs 'text-align: center' on parent
Solution
Step 1: Understand margin auto centering
Margin auto centers block elements with a fixed width horizontally.
Step 2: Check display property effect
Setting display: inline-block makes the element inline-level, so margin: 0 auto does not center it.
Final Answer:
'display: inline-block' prevents 'margin: 0 auto' from centering block elements -> Option A
Quick Check:
Inline-block disables margin auto centering [OK]
Hint: Use block display for margin auto centering [OK]
Common Mistakes:
Using inline-block instead of block
Wrong margin syntax
Forgetting width units
5. You want to create a responsive navigation bar with evenly spaced links that wrap on small screens. Which CSS layout method is best suited for this?
hard
A. Use inline-block links with fixed margins
B. Grid with fixed column widths
C. Float each link left with fixed widths
D. Flexbox with flex-wrap: wrap and justify-content: space-between
Solution
Step 1: Identify layout needs
We want links spaced evenly and wrapping on small screens, so flexible layout and wrapping are needed.
Step 2: Evaluate layout methods
Flexbox supports flexible spacing and wrapping with flex-wrap: wrap and justify-content: space-between. Grid with fixed columns won't wrap well. Floats and inline-block are outdated and less flexible.
Final Answer:
Flexbox with flex-wrap: wrap and justify-content: space-between -> Option D
Quick Check:
Responsive spacing and wrapping = Flexbox wrap + space-between [OK]
Hint: Use flex-wrap and justify-content for responsive nav bars [OK]
Common Mistakes:
Using fixed widths preventing wrap
Relying on floats for layout
Ignoring flex-wrap property
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.