CSS: A Comprehensive Guide for Developers

Understand CSS fundamentals, properties, and selectors to ace job interviews.

Overview

Cascading Style Sheets (CSS) is a styling language used to control the look and feel of web pages. It is essential for developers as it enhances the presentation and layout of HTML elements across the web, providing an engaging user experience.

How it works

CSS works by applying a set of rules to HTML elements, allowing developers to customize their appearance. CSS rules consist of selectors and declarations, where selectors target elements on the page, and declarations define the styles to be applied.

Here is a basic example of CSS:

/* This is a comment */
body {
    background-color: lightgray;
    font-family: Arial, sans-serif;
}

h1 {
    color: blue;
    font-size: 24px;
}

p {
    margin: 10px;
    line-height: 1.5;
}

CSS Specificity Table

Understanding specificity is crucial for resolving conflicts in styles. The table below summarizes the specificity ranking:

Selector Type Example Specificity Points
Inline styles <div style="..."> 1000
IDs #header 100
Classes/Attributes/Pseudo-Classes .container, [type="text"], :hover 10
Elements/Pseudo-Elements div, h1, :before 1

In CSS, inline styles have the highest specificity, followed by IDs, classes, and finally elements.

Common Mistakes

  • Confusing the box model properties (e.g., how width and height are calculated with box-sizing).
  • Overusing IDs for styling instead of classes, leading to increased specificity issues.
  • Neglecting to include vendor prefixes for cross-browser compatibility.
  • Forgetting to account for the cascading nature of styles, which can lead to unexpected results.

FAQ

Q: What does box-sizing: border-box do? A: It includes padding and border in the element's total width and height, making layout calculations easier.

Q: Which selector has the highest specificity? A: An inline style applied directly to an element has the highest specificity.

Q: How can I apply CSS to an HTML document? A: CSS can be applied via inline styles, internal stylesheets within <style> tags, or external stylesheets linked in the <head> section.

Q: What is the purpose of Flexbox in CSS? A: Flexbox is a layout model designed to provide efficient spacing, alignment, and distribution of items within a container.

References

Practice

Ready to practice CSS?

Answer real questions, get instant feedback, and watch your skill score climb — free. Practice is in English, like real tech interviews.

Try one 👇

ReactHooksMid
0 XP
When does useEffect run by default?

↑ Go ahead — pick an answer. This is Skillpato.