DevTools-āĻ CSS-in-JS āϏāĻŽāĻ°ā§āĻĨāύ

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ DevTools-āĻ CSS-in-JS āϏāĻŽāĻ°ā§āĻĨāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰ⧇ āϝāĻž Chrome 85 āĻĨ⧇āϕ⧇ āĻ…āĻŦāϤāϰāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāĻ­āĻžāĻŦ⧇, CSS-in-JS āĻŦāϞāϤ⧇ āφāĻŽāϰāĻž āϕ⧀ āĻŦ⧁āĻāĻŋ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĻā§€āĻ°ā§āϘāĻ•āĻžāϞ āϧāϰ⧇ DevTools āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ CSS āĻĨ⧇āϕ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āφāϞāĻžāĻĻāĻžāĨ¤

CSS-in-JS āĻ•āĻŋ?

CSS-in-JS-āĻāϰ āϏāĻ‚āĻœā§āĻžāĻž āĻŦāϰāĻ‚ āĻ…āĻ¸ā§āĻĒāĻˇā§āϟāĨ¤ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻ…āĻ°ā§āĻĨ⧇, āĻāϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ CSS āϕ⧋āĻĄ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāϰ āĻ…āĻ°ā§āĻĨ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝ⧇ CSS āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āϤ CSS āφāωāϟāĻĒ⧁āϟāϟāĻŋ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

DevTools-āĻāϰ āĻĒā§āϰ⧇āĻ•ā§āώāĻžāĻĒāĻŸā§‡, CSS-in-JS āĻŽāĻžāύ⧇ āĻšāϞ CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ CSS āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰāĻžāύ⧋ āĻšāϝāĻŧāĨ¤ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ CSS <style> āĻŦāĻž <link> āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āχāύāĻœā§‡āĻ•āĻļāύ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāϟāĻŋāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻ‰ā§ŽāϏ āϰāϝāĻŧ⧇āϛ⧇ (āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ DOM āύ⧋āĻĄ āĻŦāĻž āĻāĻ•āϟāĻŋ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϏāĻ‚āĻ¸ā§āĻĨāĻžāύ)āĨ¤ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇, CSS-in-JS-āĻāϰ āĻĒā§āϰāĻžāϝāĻŧāχ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻ‰ā§ŽāϏ āĻĨāĻžāϕ⧇ āύāĻžāĨ¤ āĻāĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻšāϞ āϝ⧇ āĻāĻ•āϟāĻŋ <style> āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻžāϰ āĻĢāϞ⧇ āĻ‰ā§ŽāϏāϟāĻŋ āĻĒā§āϰāĻ•ā§ƒāϤ CSS āĻ¸ā§āϟāĻžāχāϞāĻļā§€āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻŋāĻ™ā§āϕ⧇āϰ āĻŦāĻžāχāϰ⧇ āϚāϞ⧇ āϝāĻžāϝāĻŧāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āϕ⧋āύ⧋ CSS-in-JS āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ (āϝ⧇āĻŽāύ styled-component , Emotion , JSS ), āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦāĻŋāĻ•āĻžāĻļ⧇āϰ āĻŽā§‹āĻĄ āĻāĻŦāĻ‚ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āĻšā§āĻĄā§‡āϰ āύ⧀āĻšā§‡ CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻļ⧈āϞ⧀āϗ⧁āϞāĻŋ āχāύāĻœā§‡āĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

CSS-in-JS āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞāĻŋ āϝāĻž āĻ•āϰāϛ⧇ āϤāĻžāϰ āĻ…āύ⧁āϰ⧂āĻĒ CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāύāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āχāύāĻœā§‡āĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϤāĻžāϰ āĻ•āĻŋāϛ⧁ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āĻž āϝāĻžāĻ•āĨ¤

// Insert new rule to an existing CSS stylesheet
const element = document.querySelector('style');
const stylesheet = element.sheet;
stylesheet.replaceSync('.some { color: blue; }');
stylesheet.insertRule('.some { color: green; }');

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āύāϤ⧁āύ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟāĻ“ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

// Create a completely new stylesheet
const stylesheet = new CSSStyleSheet();
stylesheet.replaceSync('.some { color: blue; }');
stylesheet.insertRule('.some { color: green; }');

// Apply constructed stylesheet to the document
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];

DevTools-āĻ CSS āϏāĻŽāĻ°ā§āĻĨāύ

DevTools-āĻ, CSS āύāĻŋāϝāĻŧ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏāĻ°ā§āĻŦāĻžāϧāĻŋāĻ• āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻšāϞ āĻļ⧈āϞ⧀ āĻĢāϞāĻ•āĨ¤ āĻļ⧈āϞ⧀ āĻĢāϞāϕ⧇, āφāĻĒāύāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύ āϕ⧋āύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āϕ⧋āύ āύāĻŋāϝāĻŧāĻŽ āĻĒā§āϰāϝ⧋āĻœā§āϝ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āϰāĻŋāϝāĻŧ⧇āϞāϟāĻžāχāĻŽā§‡ āĻĒ⧃āĻˇā§āĻ āĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύ⧎

āĻ—āϤ āĻŦāĻ›āϰ⧇āϰ āφāϗ⧇, CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ CSS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻŦāϰāĻ‚ āϏ⧀āĻŽāĻŋāϤ āĻ›āĻŋāϞ: āφāĻĒāύāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏ⧇āϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāύāĻŋ⧎ āĻ—āϤ āĻŦāĻ›āϰ āφāĻŽāĻžāĻĻ⧇āϰ āĻŽā§‚āϞ āϞāĻ•ā§āĻˇā§āϝ āĻ›āĻŋāϞ āĻ¸ā§āϟāĻžāχāϞ āĻĒā§āϝāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ CSS-in-JS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āĻ“āϝāĻŧāĻžāĨ¤ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āφāĻŽāϰāĻž CSS-in-JS āĻļ⧈āϞ⧀āϕ⧇ "āύāĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āϰāĻž" āĻŦāϞāĻŋ āϝ⧇ āϏ⧇āϗ⧁āϞāĻŋ āĻ“āϝāĻŧ⧇āĻŦ API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

DevTools-āĻ āĻļ⧈āϞ⧀ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϰ āĻ•āĻžāϜāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāϰāϪ⧇ āĻĄā§āĻŦ āĻĻ⧇āĻ“āϝāĻŧāĻž āϝāĻžāĻ•āĨ¤

DevTools-āĻ āĻ¸ā§āϟāĻžāχāϞ āĻāĻĄāĻŋāϟāĻŋāĻ‚ āĻŽā§‡āĻ•āĻžāύāĻŋāϜāĻŽ

DevTools-āĻ āĻ¸ā§āϟāĻžāχāϞ āĻāĻĄāĻŋāϟāĻŋāĻ‚ āĻŽā§‡āĻ•āĻžāύāĻŋāϜāĻŽ

āφāĻĒāύāĻŋ āϝāĻ–āύ DevTools-āĻ āĻāĻ•āϟāĻŋ āωāĻĒāĻžāĻĻāĻžāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧇āύ, āϤāĻ–āύ āĻļ⧈āϞ⧀ āĻĢāϞāĻ•āϟāĻŋ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧāĨ¤ āĻ¸ā§āϟāĻžāχāϞ āĻĢāϞāĻ•āϟāĻŋ āĻāϞāĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻĒā§āϰāϝ⧋āĻœā§āϝ CSS āύāĻŋāϝāĻŧāĻŽ āĻĒ⧇āϤ⧇ CSS.getMatchedStylesForNode āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻŋ CDP āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϜāĻžāϰāĻŋ āĻ•āϰ⧇āĨ¤ CDP āĻāϰ āĻ…āĻ°ā§āĻĨ āĻšāϞ Chrome DevTools Protocol āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ API āϝāĻž DevTools āĻĢā§āϰāĻ¨ā§āϟāĻāĻ¨ā§āĻĄāϕ⧇ āĻĒāϰāĻŋāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻž āĻĒ⧃āĻˇā§āĻ āĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āϤāĻĨā§āϝ āĻĒ⧇āϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āϝāĻ–āύ āφāĻšā§āĻŦāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ, CSS.getMatchedStylesForNode āύāĻĨāĻŋāϰ āϏāĻŽāĻ¸ā§āϤ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ CSS āĻĒāĻžāĻ°ā§āϏāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏ⧇āϗ⧁āϞāĻŋ āĻĒāĻžāĻ°ā§āϏ āĻ•āϰ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āϏ⧂āϚāĻ• āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝāĻž āĻĒā§āϰāϤāĻŋāϟāĻŋ CSS āύāĻŋāϝāĻŧāĻŽāϕ⧇ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āĻ‰ā§ŽāϏ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻŋ āϜāĻŋāĻœā§āĻžāĻžāϏāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϕ⧇āύ āĻāϟāĻŋ āφāĻŦāĻžāϰ CSS āĻĒāĻžāĻ°ā§āϏ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇? āĻāĻ–āĻžāύ⧇ āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϞ āϝ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•ā§āώāĻŽāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇ āĻŦā§āϰāĻžāωāϜāĻžāϰ āύāĻŋāĻœā§‡āχ CSS āύāĻŋāϝāĻŧāĻŽā§‡āϰ āϏ⧋āĻ°ā§āϏ āĻĒāϜāĻŋāĻļāύ⧇āϰ āϏāĻžāĻĨ⧇ āωāĻĻā§āĻŦāĻŋāĻ—ā§āύ āύāϝāĻŧ āĻāĻŦāĻ‚ āϤāĻžāχ, āĻāϟāĻŋ āϏ⧇āϗ⧁āϞāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇ āύāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ CSS āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ DevTools-āĻāϰ āϏ⧋āĻ°ā§āϏ āĻĒāϜāĻŋāĻļāύ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤ āφāĻŽāϰāĻž āϚāĻžāχ āύāĻž āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻ•ā§āϰ⧋āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻĒ⧇āύāĻžāĻ˛ā§āϟāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧁āĻ•, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻŽāϰāĻž āϚāĻžāχ DevTools āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϏ⧋āĻ°ā§āϏ āĻĒāϜāĻŋāĻļāύ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĨāĻžāϕ⧁āĻ•āĨ¤ āĻāχ āϰāĻŋ-āĻĒāĻžāĻ°ā§āϏāĻŋāĻ‚ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻ¨ā§āϝ⧂āύāϤāĻŽ āĻĄāĻžāωāύāϏāĻžāχāĻĄ āϏāĻš āωāĻ­āϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ āϏāĻŽā§āĻŦā§‹āϧāύ āĻ•āϰ⧇āĨ¤

āĻāϰāĻĒāϰ, CSS.getMatchedStylesForNode āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻ¸ā§āϟāĻžāχāϞ āχāĻžā§āϜāĻŋāύāϕ⧇ āĻĒā§āϰāĻĻāĻ¤ā§āϤ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āϞ⧇ āĻāĻŽāύ CSS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāϤ⧇ āĻŦāϞ⧇āĨ¤ āĻāĻŦāĻ‚ āĻļ⧇āώ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ, āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻ¸ā§āϟāĻžāχāϞ āχāĻžā§āϜāĻŋāύ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻ¤ā§āϝāĻžāĻŦāĻ°ā§āϤāĻŋāϤ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϕ⧇ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ CSS āύāĻŋāϝāĻŧāĻŽ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ—āϤ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āϝāĻžāϤ⧇ DevTools āϜāĻžāύ⧇ āϝ⧇ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āϕ⧋āύ āĻ…āĻ‚āĻļāϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻ• āĻŦāĻž āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāĨ¤ āĻāϟāĻŋ DevTools-āϕ⧇ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻ• āĻāĻŦāĻ‚ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻ¸ā§āĻŦāĻžāϧ⧀āύāĻ­āĻžāĻŦ⧇ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āĻāĻ–āύ āĻāĻĄāĻŋāϟāĻŋāĻ‚ āĻāϰ āĻĻāĻŋāϕ⧇ āϤāĻžāĻ•āĻžāχāĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ CSS.getMatchedStylesForNode āĻĒā§āϰāϤāĻŋāϟāĻŋ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻ‰ā§ŽāϏ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇? āĻāϟāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϰ āϜāĻ¨ā§āϝ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āφāĻĒāύāĻŋ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇āύ, āϤāĻ–āύ DevTools āφāϰ⧇āĻ•āϟāĻŋ CDP āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϜāĻžāϰāĻŋ āĻ•āϰ⧇ āϝāĻž āφāϏāϞ⧇ āĻĒ⧃āĻˇā§āĻ āĻž āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇āĨ¤ āϝ⧇ āύāĻŋāϝāĻŧāĻŽāϟāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ āϤāĻžāϰ āϟ⧁āĻ•āϰ⧋āϟāĻŋāϰ āφāϏāϞ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻāĻŦāĻ‚ āύāϤ⧁āύ āĻĒāĻžāĻ ā§āϝāϟāĻŋ āϝ⧇āϟāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ–āĻŖā§āĻĄāϟāĻŋāϕ⧇ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋāϤ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄā§‡, āĻāĻĄāĻŋāϟ āĻ•āϞ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, DevTools āϟāĻžāĻ°ā§āϗ⧇āϟ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āωāĻ¤ā§āϏ⧇āϰ āĻ…āύ⧁āϞāĻŋāĻĒāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ āϝāĻž āĻāϟāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āύāĻŋāϝāĻŧāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āωāĻ¤ā§āϏ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāϖ⧇ āĻāĻŦāĻ‚ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇⧎ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϞ⧇āϰ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻšāĻŋāϏāĻžāĻŦ⧇, DevTools āĻĢā§āϰāĻ¨ā§āϟāĻāĻ¨ā§āĻĄ āϏāĻŦ⧇āĻŽāĻžāĻ¤ā§āϰ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻŸā§‡āĻ•ā§āϏāϟ āĻĢā§āĻ°ā§āϝāĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋ āĻĢāĻŋāϰ⧇ āĻĒāĻžāϝāĻŧāĨ¤

āĻāϟāĻŋ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰ⧇ āϝ⧇ āϕ⧇āύ DevTools-āĻ CSS-in-JS āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻž āĻŦāĻžāĻ•ā§āϏ⧇āϰ āĻŦāĻžāχāϰ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āύāĻŋ: CSS-in-JS-āĻāϰ āϕ⧋āĻĨāĻžāĻ“ āϕ⧋āύ⧋ āĻĒā§āϰāĻ•ā§ƒāϤ āĻ‰ā§ŽāϏ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āύ⧇āχ āĻāĻŦāĻ‚ CSS-āĻāϰ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ CSSOM āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ⧇ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āĻĨāĻžāϕ⧇ āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āφāĻŽāϰāĻž CSS-in-JS-āĻāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āϝ⧋āĻ— āĻ•āϰāĻŋ

āϤāĻžāχ, CSS-in-JS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāϰāĻž āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāϝāĻŧ⧇āĻ›āĻŋ āϝ⧇ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āϏāĻŽāĻžāϧāĻžāύ āĻšāĻŦ⧇ āύāĻŋāĻ°ā§āĻŽāĻŋāϤ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ‰ā§ŽāϏ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝāĻž āωāĻĒāϰ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĒā§āϰāĻĨāĻŽ āϧāĻžāĻĒ āĻšāϞ āϏ⧋āĻ°ā§āϏ āĻŸā§‡āĻ•ā§āϏāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāĨ¤ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻ¸ā§āϟāĻžāχāϞ āχāĻžā§āϜāĻŋāύ CSSStyleSheet āĻ•ā§āϞāĻžāϏ⧇ CSS āύāĻŋāϝāĻŧāĻŽ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤ āϏ⧇āχ āĻ•ā§āϞāĻžāϏāϟāĻŋ āĻšāϞ āϝāĻžāϰ āωāĻĻāĻžāĻšāϰāĻŖ āφāĻĒāύāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĨ⧇āϕ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝ⧇āĻŽāύāϟāĻŋ āφāϗ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āϏ⧋āĻ°ā§āϏ āĻŸā§‡āĻ•ā§āϏāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϕ⧋āĻĄāϟāĻŋ āύāĻŋāĻŽā§āύāϰ⧂āĻĒ:

String InspectorStyleSheet::CollectStyleSheetRules() {
  StringBuilder builder;
  for (unsigned i = 0; i < page_style_sheet_->length(); i++) {
    builder.Append(page_style_sheet_->item(i)->cssText());
    builder.Append('\n');
  }
  return builder.ToString();
}

āĻāϟāĻŋ āĻāĻ•āϟāĻŋ CSSStyleSheet āωāĻĻāĻžāĻšāϰāϪ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āωāĻĒāϰ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤ InspectorStyleSheet āĻ•ā§āϞāĻžāϏ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϞ⧇ āĻāχ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āϚāĻžāϞ⧁ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ InspectorStyleSheet āĻ•ā§āϞāĻžāϏ āĻāĻ•āϟāĻŋ CSSStyleSheet āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ āĻŽā§‹āĻĄāĻŧāĻžāύ⧋ āĻšāϝāĻŧ āĻāĻŦāĻ‚ DevTools-āĻāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŽā§‡āϟāĻžāĻĄā§‡āϟāĻž āĻŦ⧇āϰ āĻ•āϰ⧇:

void InspectorStyleSheet::UpdateText() {
  String text;
  bool success = InspectorStyleSheetText(&text);
  if (!success)
    success = InlineStyleSheetText(&text);
  if (!success)
    success = ResourceStyleSheetText(&text);
  if (!success)
    success = CSSOMStyleSheetText(&text);
  if (success)
    InnerSetText(text, false);
}

āĻāχ āĻ¸ā§āύāĻŋāĻĒ⧇āĻŸā§‡, āφāĻŽāϰāĻž CSSOMStyleSheetText āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāχ āϝāĻž CollectStyleSheetRules āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖāĻ­āĻžāĻŦ⧇ āĻ•āϞ āĻ•āϰ⧇āĨ¤ CSSOMStyleSheetText āφāĻŽāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻĻāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āχāύāϞāĻžāχāύ āύāĻž āĻšāϝāĻŧ āĻŦāĻž āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āύāĻž āĻšāϝāĻŧāĨ¤ āĻŽā§‚āϞāϤ, āĻāχ āĻĻ⧁āϟāĻŋ āĻ¸ā§āύāĻŋāĻĒ⧇āϟ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ new CSSStyleSheet() āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟāϗ⧁āϞāĻŋāϰ āĻŽā§ŒāϞāĻŋāĻ• āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤

āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻšāϞ āĻāĻ•āϟāĻŋ <style> āĻŸā§āϝāĻžāϗ⧇āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āϝāĻž CSSOM API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻ¸ā§āϟāĻžāχāϞāĻļā§€āĻŸā§‡ āωāĻ¤ā§āϏ āĻĒāĻžāĻ ā§āϝ āĻāĻŦāĻ‚ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āύāĻŋāϝāĻŧāĻŽ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āωāĻ¤ā§āϏāϟāĻŋāϤ⧇ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āύ⧇āχāĨ¤ āĻāχ āϕ⧇āϏāϟāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāϰāĻž āϏ⧇āχ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϕ⧇ āϏ⧋āĻ°ā§āϏ āĻŸā§‡āĻ•ā§āϏāĻŸā§‡ āĻŽāĻžāĻ°ā§āϜ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āĻĒā§āϰāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻŋāĨ¤ āĻāĻ–āĻžāύ⧇, āĻ…āĻ°ā§āĻĄāĻžāϰāϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāϰāĻŖ CSS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āĻŽā§‚āϞ āωāĻ¤ā§āϏ āĻĒāĻžāĻ ā§āϝ⧇āϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇ āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰ⧁āύ āϝ⧇ āĻŽā§‚āϞ <style> āωāĻĒāĻžāĻĻāĻžāύāϟāĻŋāϤ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒāĻžāĻ ā§āϝ āϰāϝāĻŧ⧇āϛ⧇:

/* comment */
.rule1 {}
.rule3 {}

āϤāĻžāϰāĻĒāϰ āĻĒ⧃āĻˇā§āĻ āĻžāϟāĻŋ JS API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻŋāϛ⧁ āύāϤ⧁āύ āύāĻŋāϝāĻŧāĻŽ āĻĸā§‹āĻ•āĻŋāϝāĻŧ⧇āϛ⧇ āϝāĻž āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•ā§āϰāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰ⧇: .rule0, .rule1, .rule2, .rule3, .rule4āĨ¤ āĻāĻ•āĻ¤ā§āϰ⧀āĻ•āϰāĻŖ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ⧇āϰ āĻĒāϰ⧇ āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ āωāĻ¤ā§āϏ āĻĒāĻžāĻ ā§āϝāϟāĻŋ āύāĻŋāĻŽā§āύāϰ⧂āĻĒ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤ:

.rule0 {}
/* comment */
.rule1 {}
.rule2 {}
.rule3 {}
.rule4 {}

āĻŽā§‚āϞ āĻŽāĻ¨ā§āϤāĻŦā§āϝ⧇āϰ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻāĻŦāĻ‚ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāϰāĻŖ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āĻ‰ā§ŽāϏ āĻĒāĻžāϠ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋ āϏ⧁āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤

āφāϰ⧇āĻ•āϟāĻŋ āĻĻāĻŋāĻ• āϝāĻž CSS-in-JS āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāĻļ⧇āώ āϤāĻž āĻšāϞ āϝ⧇ āϏ⧇āϗ⧁āϞāĻŋ āϝ⧇ āϕ⧋āύāĻ“ āϏāĻŽāϝāĻŧ āĻĒ⧃āĻˇā§āĻ āĻž āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ āĨ¤ āϝāĻĻāĻŋ āĻĒā§āϰāĻ•ā§ƒāϤ CSSOM āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āĻĒāĻžāĻ ā§āϝ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŋāĻ™ā§āϕ⧇āϰ āĻŦāĻžāχāϰ⧇ āϚāϞ⧇ āϝāĻžāϝāĻŧ āϤāĻŦ⧇ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āύāĻžāĨ¤ āĻāϰ āϜāĻ¨ā§āϝ āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āϤāĻĨāĻžāĻ•āĻĨāĻŋāϤ āĻĒā§āϰ⧋āĻŦ āϚāĻžāϞ⧁ āĻ•āϰ⧇āĻ›āĻŋ, āϝāĻž āĻŦā§āϰāĻžāωāϜāĻžāϰāϕ⧇ DevTools-āĻāϰ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ…āĻ‚āĻļāϕ⧇ āϏ⧂āϚāĻŋāϤ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ CSS.getMatchedStylesForNode-āĻ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ•āϞ⧇āϰ āϏāĻŽāϝāĻŧ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟāϗ⧁āϞāĻŋ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāϜ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āĻāχ āϏāĻŽāĻ¸ā§āϤ āϟ⧁āĻ•āϰ⧋āϗ⧁āϞāĻŋ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āϰ⧇āϖ⧇, CSS-in-JS āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻŦ⧇ āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ UI āωāĻ¨ā§āύāϤ āĻ•āϰāϤ⧇ āĻšā§‡āϝāĻŧ⧇āĻ›āĻŋāϞāĻžāĻŽāĨ¤ āφāĻŽāϰāĻž CDP-āĻāϰ CSS.CSSStyleSheetHeader- āĻ isConstructed āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āϝ⧋āĻ— āĻ•āϰ⧇āĻ›āĻŋ āϝāĻž āĻĢā§āϰāĻ¨ā§āϟāĻāĻ¨ā§āĻĄ āĻāĻ•āϟāĻŋ CSS āύāĻŋāϝāĻŧāĻŽā§‡āϰ āĻ‰ā§ŽāϏ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇:

āύāĻŋāĻ°ā§āĻŽāĻžāĻŖāϝ⧋āĻ—ā§āϝ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āϟ

āωāĻĒāϏāĻ‚āĻšāĻžāϰ

āĻāĻ–āĻžāύ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻ—āĻ˛ā§āĻĒ⧇āϰ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻŦāĻŋāĻŦāϰāĻŖ āĻĻāĻŋāϤ⧇, āφāĻŽāϰāĻž CSS-in-JS-āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ—āĻŋāϝāĻŧ⧇āĻ›āĻŋāϞāĻžāĻŽ āϝ⧇āϗ⧁āϞāĻŋ DevTools āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āύāĻž āĻāĻŦāĻ‚ āϏ⧇āχ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āĻŽāĻ§ā§āϝ āĻĻāĻŋāϝāĻŧ⧇ āϚāϞ⧇āĻ›āĻŋāĨ¤ āĻāχ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻ…āĻ‚āĻļ āĻšāϞ āϝ⧇ āφāĻŽāϰāĻž CSSOM CSS āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āωāĻ¤ā§āϏ āĻĒāĻžāĻ ā§āϝ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āϞāĻžāĻ­ āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻšāϝāĻŧ⧇āĻ›āĻŋ, DevTools-āĻ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•ā§āϟ āĻļ⧈āϞ⧀ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāϤāĻž āĻāĻĄāĻŧāĻŋāϝāĻŧ⧇āĨ¤

āφāϰāĻ“ āĻĒāϟāĻ­ā§‚āĻŽāĻŋāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻžāĻĻ⧇āϰ āύāĻ•āĻļāĻž āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻŦāĻž Chromium āĻŸā§āĻ°ā§āϝāĻžāĻ•āĻŋāĻ‚ āĻŦāĻžāĻ— āĻĻ⧇āϖ⧁āύ āϝāĻž āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻĒā§āϝāĻžāϚāϗ⧁āϞāĻŋāϕ⧇ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧇⧎

āĻĒā§āϰāĻŋāĻ­āĻŋāω āĻšā§āϝāĻžāύ⧇āϞ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧁āύ

āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ Chrome Canary , Dev āĻŦāĻž Beta āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻž āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύāĨ¤ āĻāχ āĻĒā§‚āĻ°ā§āĻŦāϰ⧂āĻĒ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϕ⧇ āϏāĻ°ā§āĻŦāĻļ⧇āώ DevTools āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻ⧇āϝāĻŧ, āĻ…āĻ¤ā§āϝāĻžāϧ⧁āύāĻŋāĻ• āĻ“āϝāĻŧ⧇āĻŦ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ API āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āφāϗ⧇ āφāĻĒāύāĻžāϰ āϏāĻžāχāĻŸā§‡ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋ āϖ⧁āρāĻœā§‡ āĻĒāĻžāϝāĻŧ!

Chrome DevTools āϟāĻŋāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāĻž āĻšāĻšā§āϛ⧇

āĻĒā§‹āĻ¸ā§āĻŸā§‡āϰ āύāϤ⧁āύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ āĻŦāĻž DevTools āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻ…āĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāϤ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ⧎

  • crbug.com āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻŦāĻž āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϜāĻŽāĻž āĻĻāĻŋāύāĨ¤
  • āφāϰāĻ“ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ DevTools āϏāĻŽāĻ¸ā§āϝāĻž āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻ•āϰ⧁āύāφāϰāĻ“ > āϏāĻžāĻšāĻžāĻ¯ā§āϝ > DevTools-āĻ āĻāĻ•āϟāĻŋ DevTools āϏāĻŽāĻ¸ā§āϝāĻž āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻ•āϰ⧁āύ āĨ¤
  • @ChromeDevTools- āĻ āϟ⧁āχāϟ āĻ•āϰ⧁āύāĨ¤
  • āφāĻŽāĻžāĻĻ⧇āϰ DevTools YouTube āĻ­āĻŋāĻĄāĻŋāĻ“ āĻŦāĻž DevTools āϟāĻŋāĻĒāϏ YouTube āĻ­āĻŋāĻĄāĻŋāĻ“āϗ⧁āϞāĻŋāϤ⧇ āύāϤ⧁āύ āϕ⧀ āφāϛ⧇ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āĻ•āϰ⧁āύ⧎