- पुराने CSS hack techniques और उनकी जगह लेने वाले नवीन native CSS syntax को साथ-साथ तुलना करके दिखाने वाला कोड संग्रह
- Grid, Flexbox, OKLCH colors, container query, scroll-timeline जैसे आधुनिक standards का उपयोग करके JavaScript पर निर्भरता कम करता है
- colors, layout, animation, selectors, typography, workflow जैसे विषयों के अनुसार वर्गीकृत, और हर फीचर के लिए आधुनिक विकल्प प्रस्तुत करता है
- नवीन CSS standards के जरिए JS, Sass, external libraries पर निर्भरता घटाई जा सकती है, और browser native features का अधिकतम उपयोग किया जा सकता है
1 टिप्पणियां
Hacker News की राय
2025 का CSS? यह तो मानो 2005 की तरह inline styles सीधे HTML में लिखने जैसा लगता है
बात Tailwind की हो रही है, लेकिन आखिरकार यह format और presentation के separation को नज़रअंदाज़ करता है
अगर HTML सच में सिर्फ content संभालता और CSS सिर्फ style, तो
.container-wrapper .container .container-innerजैसी div soup बनाने की ज़रूरत ही नहीं पड़तीहर बार layout बदलने पर HTML भी बदलना पड़ता है, यही उसका सबूत है
component से जुड़ा code एक ही जगह इकट्ठा रहता है, इसलिए files के बीच बार-बार जाना नहीं पड़ता
layout और style, UI का ऐसा हिस्सा हैं जिन्हें अलग नहीं किया जा सकता
HTML content नहीं, layout है
मान लो कि आप separation of concerns के पक्के मानने वाले हों, तब भी HTML और CSS एक ही presentation layer में आते हैं
यह मानना कि इन्हें अलग किया जा सकता है, हक़ीक़त से आँख मूँदने जैसा है
मैंने हाल की CSS improvements की एक सूची बनाई
:has(...):is(...)— पहले:not(:not(...))जैसी तरकीबें लगानी पड़ती थीं:where(...)—:is(...)जैसा है, लेकिन selector specificity 0 होती है, इसलिए complex selectors में काम आता हैज़्यादातर LLM इस feature को नहीं जानते
AGENTS.mdमें examples जोड़ने की सलाह दूँगाMDN Nesting Selector दस्तावेज़ देखना उपयोगी होगा
&selector का इस्तेमाल करके readability और duplication हटाना दोनों साथ मिलते हैंtext-box: trimहै20 साल तक designers को यह समझाने के दिन ख़त्म हुए कि uppercase top alignment संभव नहीं है, अब सच में राहत मिलती है
@layerfeature सबसे अच्छा लगता हैकुछ examples में पुराना तरीका सभी browsers में काम करता है, लेकिन नया तरीका सिर्फ Chrome/Edge में
ऐसे examples डालना Blink monopoly को और मज़बूत करता है, इसलिए यह गैर-जिम्मेदाराना लगता है
बल्कि Mozilla के standards compliance की कमी की ओर इशारा करना चाहिए
elements को screen के किनारों पर fixed करना बंद करना चाहिए
कुछ sites में आधी screen से ज़्यादा static elements घेरे रहते हैं
content का scroll होना ही स्वाभाविक है
विडंबना यह है कि वह site dark mode पर fixed है, और
prefers-color-schemeका इस्तेमाल नहीं करती“वाह, creative CSS examples अच्छे हैं!” ऐसा सोचकर देखो, तो browser support 40~50% के आसपास निकलती है, इसलिए व्यावहारिक सीमाएँ हैं
Chromium के ज़रूरत से ज़्यादा influence की वजह से सही, फिर भी नतीजा सकारात्मक है
Interop 2025 देखें
browser vendors कभी-न-कभी wide support के लिए पहले से features जोड़ते रहते हैं
Firefox में जिन examples पर not supported दिखाया गया है, वे actual demo में सही चल रहे हैं, इसलिए उलझन होती है
सोचता हूँ क्या वहाँ polyfill लगा है
नीचे बाएँ दिखने वाला हरा percentage उस feature को support करने वाले browser users के अनुपात को दिखाता है
कई बार यह आधे से भी कम होता है
आख़िरकार यह “modern CSS” से ज़्यादा “latest Chrome CSS” के करीब है
उदाहरण के लिए
sibling-index()अभी Firefox में नहीं चलता, फिर भी उसे “widely available” दिखाया गया हैआजकल Tailwind, CSS-in-JS, Sass/SCSS, Vanilla CSS में से क्या इस्तेमाल करें, यही समझ नहीं आता
जो आपकी team को सूट करे, वही इस्तेमाल करें
Tailwind सही लगे तो वही, personal project हो तो inline CSS, Sass में सहज हों तो वही जारी रखें,
और अगर latest CSS पर all-in जाना चाहते हैं, तो वह भी बढ़िया choice है
वेब डेवलपमेंट करते-करते इतना समय हो गया कि जिन्हें “पुराना तरीका” कहा जा रहा है, उनमें भी कई features मैंने पहली बार देखे
color brightness adjust करने वाला feature पहली बार देखा
पहले इसे Sass और Compass से implement करता था, लेकिन toolchain maintenance झंझट भरी थी
अब CSS खुद यह support करता है, इसलिए बहुत ज़्यादा सुविधाजनक हो गया है