Modern CSS

CSS Best Practices

Organization, Naming, Performance
💡 Ye "checklist before shipping" hai CSS ke liye — jaise ek chef apni kitchen clean/organized rakhta hai taaki kaam efficient ho, well-organized CSS future-you (aur teammates) ke liye maintenance bahut aasan banata hai.

Key practices: (1) Consistent naming convention (BEM ya similar), (2) CSS ko logically organize karo (base styles, components, utilities alag files/sections mein), (3) Magic numbers avoid karo (variables use karo), (4) !important avoid karo, (5) Mobile-first responsive approach, (6) box-sizing: border-box globally set karo.

Performance considerations: unnecessary selectors avoid karo, CSS ko minify karo production ke liye, unused CSS remove karo (tools jaise PurgeCSS), critical CSS ko inline karo above-the-fold content ke liye.

/* Global reset/defaults — file ke bilkul shuru mein: */
*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  --primary: #3498db;
  --spacing-sm: 8px;
  --spacing-md: 16px;
}

/* Component styles, BEM naming: */
.card { }
.card__title { }
.card__title--large { }

/* Utility classes, reusable: */
.text-center { text-align: center; }
.mt-2 { margin-top: var(--spacing-sm); }
Ye "checklist before shipping" hai CSS ke liye — jaise ek chef apni kitchen clean/organized rakhta hai taaki kaam efficient ho, well-organized CSS future-you (aur teammates) ke liye maintenance bahut aasan banata hai.
1 / 6
⚡ झट से Recap
  • Consistent naming (BEM) + logical organization
  • CSS variables se magic numbers avoid karo
  • box-sizing: border-box globally, mobile-first responsive
इस page में (2 subtopics)

Bahut specific selectors (jaise #main .content div.wrapper p.text) future modifications ko mushkil banate hain — koi bhi override karne ke liye equally ya zyada specific selector chahiye hota hai. Flat, class-based selectors zyada maintainable hain.

/* Avoid — bahut specific, override karna mushkil: */
#main .content div.wrapper p.highlighted-text {
  color: red;
}

/* Better — flat, single class: */
.highlighted-text {
  color: red;
}
💡Tip: "Specificity wars" (jaha developers zyada aur zyada specific selectors, ya !important, add karte jaate hain overrides ke liye) ek common sign hai ki CSS architecture ko refactor karne ki zaroorat hai.

Stylelint jaisa tool CSS mein common mistakes/inconsistencies automatically catch karta hai (jaise duplicate properties, invalid values, inconsistent formatting) — code reviews mein manual catch karne se zyada reliable, team projects mein standard practice.

/* .stylelintrc.json (simplified example): */
{
  "extends": "stylelint-config-standard",
  "rules": {
    "color-hex-length": "short",
    "indentation": 2
  }
}
💡Tip: Linting tools CI/CD pipeline mein integrate karna best practice hai — inconsistent/buggy CSS ko production tak pahunchne se pehle hi catch kar leta hai, code review ka burden kam karta hai.