CSS @layer ã®ããã©ãŒãã³ã¹ã®ç§èš£ãè§£ãæãããŸãããïŒãã®å æ¬çãªã¬ã€ãã§ã¯ãããé«éãªã¬ã³ããªã³ã°ãšæ¹åããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®ããã«ãã¬ã€ã€ãŒåŠçåæããããã¡ã€ãªã³ã°æè¡ãæé©åæŠç¥ã«ã€ããŠèª¬æããŸãã
CSS @layer ããã©ãŒãã³ã¹ãããã¡ã€ãªã³ã°ïŒæé©åãããã¬ã³ããªã³ã°ã®ããã®ã¬ã€ã€ãŒåŠçåæ
CSSã«ã¹ã±ãŒãã¬ã€ã€ãŒïŒ@layerïŒã¯ãCSSã³ãŒããæŽçã»ç®¡çããä¿å®æ§ãšäºæž¬å¯èœæ§ãåäžããã匷åãªã¡ã«ããºã ãæäŸããŸããããããä»ã®åŒ·åãªããŒã«ãšåæ§ã«ã泚æããŠäœ¿çšããªããšããã©ãŒãã³ã¹ã®ããã«ããã¯ãåŒãèµ·ããå¯èœæ§ããããŸãããã©ãŠã¶ãã¬ã€ã€ãŒãã©ã®ããã«åŠçããããçè§£ããæœåšçãªããã©ãŒãã³ã¹ã®åé¡ãç¹å®ããããšã¯ãã¬ã³ããªã³ã°é床ãæé©åããã¹ã ãŒãºãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã確ä¿ããããã«äžå¯æ¬ ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãCSS @layer ã®ããã©ãŒãã³ã¹ãããã¡ã€ãªã³ã°ã®äžçãæ¢æ±ããã¬ã€ã€ãŒããŒã¹ã®ã¹ã¿ã€ãªã³ã°ãåæãæé©åãç¿åŸããããã®ç¥èãšããŒã«ãæäŸããŸãã
CSS @layer ãšã«ã¹ã±ãŒãã®çè§£
ããã©ãŒãã³ã¹ãããã¡ã€ãªã³ã°ã«å ¥ãåã«ãCSS @layer ã®åºæ¬ãšããããã«ã¹ã±ãŒããšã©ã®ããã«çžäºäœçšããããçè§£ããããšãäžå¯æ¬ ã§ãã@layer ã䜿çšãããšãã¹ã¿ã€ã«ã®é©çšé åºãå¶åŸ¡ããååä»ãã¬ã€ã€ãŒãäœæã§ããŸããåªå 床ã®é«ãã¬ã€ã€ãŒå ã®ã¹ã¿ã€ã«ã¯ãåªå 床ã®äœãã¬ã€ã€ãŒå ã®ã¹ã¿ã€ã«ãäžæžãããŸããããã«ãããæ¬¡ã®ãããªç°ãªãã¹ã¿ã€ã«ãœãŒã¹ã管çããæ§é åãããæ¹æ³ãæäŸãããŸãã
- ããŒã¹ã¹ã¿ã€ã«ïŒèŠçŽ ã®ããã©ã«ãã¹ã¿ã€ã«ã
- ããŒãã¹ã¿ã€ã«ïŒããžã¥ã¢ã«ããŒãã«é¢é£ããã¹ã¿ã€ã«ã
- ã³ã³ããŒãã³ãã¹ã¿ã€ã«ïŒåã ã®ã³ã³ããŒãã³ãã«åºæã®ã¹ã¿ã€ã«ã
- ãŠãŒãã£ãªãã£ã¹ã¿ã€ã«ïŒç¹å®ã®ç®çïŒäŸïŒããŒãžã³ãããã£ã³ã°ïŒã®ããã®å°ãããŠåå©çšå¯èœãªã¹ã¿ã€ã«ã
- ãªãŒããŒã©ã€ãã¹ã¿ã€ã«ïŒä»ã®ã¹ã¿ã€ã«ãããåªå ãããå¿ èŠãããã¹ã¿ã€ã«ã
ã¹ã¿ã€ã«ãã¬ã€ã€ãŒã«æŽçããããšã§ãç¹ç°æ§ã®ç«¶åãæžãããCSSã³ãŒãããŒã¹å šäœã®ä¿å®æ§ãåäžãããããšãã§ããŸãã
@layer ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«äžãã圱é¿
@layer ã¯æŽçã匷åããŸãããæ éã«å®è£ ããªããšã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«ã圱é¿ãäžããå¯èœæ§ããããŸãããã©ãŠã¶ã¯ãåèŠçŽ ã®æçµçãªã¹ã¿ã€ã«ã決å®ããããã«ãæå®ãããé åºã§ã¬ã€ã€ãŒãèµ°æ»ããå¿ èŠããããŸãããã®ããã»ã¹ã«ã¯ä»¥äžãå«ãŸããŸãã
- ã¬ã€ã€ãŒèµ°æ»ïŒé¢é£ããã«ãŒã«ãèŠã€ããããã«åã¬ã€ã€ãŒãå埩åŠçããŸãã
- ç¹ç°æ§èšç®ïŒã¬ã€ã€ãŒå ã®åäžèŽããã«ãŒã«ã®ç¹ç°æ§ãèšç®ããŸãã
- ã«ã¹ã±ãŒã解決ïŒç¹ç°æ§ãšã¬ã€ã€ãŒé åºã«åºã¥ããŠã«ãŒã«éã®ç«¶åã解決ããŸãã
ã¬ã€ã€ãŒãå€ããã«ãŒã«ãè€éã«ãªãã»ã©ããã©ãŠã¶ããããã®ã¹ãããã«è²»ããæéãé·ããªããã¬ã³ããªã³ã°ãé ããªãå¯èœæ§ããããŸããããã©ãŒãã³ã¹ã®åé¡ã«å¯äžããèŠå ã«ã¯ä»¥äžãå«ãŸããŸãã
- éå°ãªã¬ã€ã€ãŒïŒã¬ã€ã€ãŒãå€ããããšãèµ°æ»æéãå¢å ããå¯èœæ§ããããŸãã
- è€éãªã»ã¬ã¯ã¿ãŒïŒã¬ã€ã€ãŒå ã®è€éãªã»ã¬ã¯ã¿ãŒã¯ãç¹ç°æ§èšç®ãé ãããå¯èœæ§ããããŸãã
- éè€ããã¹ã¿ã€ã«ïŒã¬ã€ã€ãŒéã®åé·ãªã¹ã¿ã€ã«ã¯ãäžèŠãªèšç®ã«ã€ãªããå¯èœæ§ããããŸãã
CSS @layer ããã©ãŒãã³ã¹ã®ãããã¡ã€ãªã³ã°
ãããã¡ã€ãªã³ã°ãšã¯ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããããã«ã³ãŒãã®å®è¡ãåæããããã»ã¹ã§ããCSS @layer ããã©ãŒãã³ã¹ã®ãããã¡ã€ãªã³ã°ã«åœ¹ç«ã€ããã€ãã®ããŒã«ãšãã¯ããã¯ããããŸãã
1. ãã©ãŠã¶éçºè ããŒã«
ææ°ã®ãã©ãŠã¶éçºè ããŒã«ã¯ã匷åãªãããã¡ã€ãªã³ã°æ©èœãæäŸããŸãããããã®äœ¿ç𿹿³ã¯æ¬¡ã®ãšããã§ãã
a. ããã©ãŒãã³ã¹ããã«
ããã©ãŒãã³ã¹ããã«ïŒChromeãFirefoxãEdgeãSafariã§å©çšå¯èœïŒã䜿çšãããšãç¹å®ã®æéäžã®ãã©ãŠã¶ã®ã¢ã¯ãã£ããã£ãèšé²ããã³åæã§ããŸããCSS @layer ããã©ãŒãã³ã¹ããããã¡ã€ãªã³ã°ããã«ã¯ïŒ
- éçºè ããŒã«ãéããŸãïŒéåžžã¯F12ãæŒããŸãïŒã
- ããã©ãŒãã³ã¹ããã«ã«ç§»åããŸãã
- "Record" ãã¿ã³ãã¯ãªãã¯ããŠãããã¡ã€ãªã³ã°ãéå§ããŸãã
- åæãããCSSã¹ã¿ã€ã«ãããªã¬ãŒããããã«ããŒãžãæäœããŸãã
- "Stop" ãã¿ã³ãã¯ãªãã¯ããŠãããã¡ã€ãªã³ã°ãçµäºããŸãã
ããã©ãŒãã³ã¹ããã«ã«ã¯ãèšé²äžã«çºçããããŸããŸãªã¢ã¯ãã£ããã£ã瀺ãã¿ã€ã ã©ã€ã³ã衚瀺ãããŸãããããã®ã»ã¯ã·ã§ã³ã¯CSSé¢é£ã®ããã©ãŒãã³ã¹ããã«ããã¯ã瀺ãããšãå€ãã®ã§ããRecalculate StyleããŸãã¯ãLayoutãã«é¢é£ããã»ã¯ã·ã§ã³ãæ¢ããŠãã ããããBottom-UpããŸãã¯ãCall Treeãã¿ãã調ã¹ãŠãæãæéãæ¶è²»ããŠããç¹å®ã®é¢æ°ãã¹ã¿ã€ã«ãç¹å®ããŸãããRenderingãã§ãã£ã«ã¿ãªã³ã°ããããšã§ãCSSé¢é£ã®ããã©ãŒãã³ã¹ãåé¢ã§ããŸãã
b. ã¬ã³ããªã³ã°ããã«
Chromeã®ã¬ã³ããªã³ã°ããã«ã¯ãã¬ã³ããªã³ã°é¢é£ã®åé¡ãç¹å®ããããã®ããŒã«ãæäŸããŸããããã«ã¢ã¯ã»ã¹ããã«ã¯ïŒ
- éçºè ããŒã«ãéããŸãã
- å³äžé ã®3ã€ã®ç¹ãã¯ãªãã¯ããŸãã
- "More tools" -> "Rendering" ãéžæããŸãã
ã¬ã³ããªã³ã°ããã«ã«ã¯ãããã€ãã®æ©èœããããŸãã
- åæç»ã®ç¹æ» ïŒPaint flashingïŒïŒåæç»ãããŠããé åã匷調衚瀺ããŸããé »ç¹ãªåæç»ã¯ããã©ãŒãã³ã¹ã®åé¡ã瀺ãå¯èœæ§ããããŸãã
- ã¬ã€ã¢ãŠãã·ããé åïŒLayout Shift RegionsïŒïŒã¬ã€ã¢ãŠãã·ããã®åœ±é¿ãåããé åã匷調衚瀺ããŸããããã¯ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸãã
- ã¹ã¯ããŒã«ããã©ãŒãã³ã¹ã®åé¡ïŒã¹ã¯ããŒã«ããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŠããèŠçŽ ã匷調衚瀺ããŸãã
- ã¬ã€ã€ãŒå¢çïŒLayer bordersïŒïŒåæãããã¬ã€ã€ãŒå¢çã衚瀺ããŸããããã¯ã¬ã€ã€ãŒã®åé¡ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
2. WebPageTest
WebPageTestã¯ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãåæããããã®äººæ°ã®ãªã³ã©ã€ã³ããŒã«ã§ããã¬ã³ããªã³ã°æéãFirst Contentful PaintïŒFCPïŒãLargest Contentful PaintïŒLCPïŒãªã©ãããŸããŸãªã¡ããªã¯ã¹ã«é¢ãã詳现ãªã¬ããŒããæäŸããŸããWebPageTestã¯ãCSS @layer ã«é¢é£ããŠããå¯èœæ§ã®ããå šäœçãªããã©ãŒãã³ã¹ã®åé¡ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
3. Lighthouse
Chromeæ¡åŒµæ©èœããã³Node.jsã¢ãžã¥ãŒã«ãšããŠå©çšå¯èœãªLighthouseã¯ããŠã§ãããŒãžã®ããã©ãŒãã³ã¹ãã¢ã¯ã»ã·ããªãã£ãSEOãããã³ãã¹ããã©ã¯ãã£ã¹ãç£æ»ããŸããCSS @layer ã®äœ¿çšãæé©åããããã®ææ¡ãå«ããCSSãæ¹åããããã®æšå¥šäºé ãæäŸããŸãã
ãããã¡ã€ãªã³ã°çµæã®åæ
ãããã¡ã€ãªã³ã°ããŒã¿ãåéããããæ¬¡ã®ã¹ãããã¯çµæãåæããæé©åã®é åãç¹å®ããããšã§ããæ¬¡ã®ææšãæ¢ããŠãã ããã
- ãRecalculate Styleãã®é·ãæç¶æéïŒããã¯ããã©ãŠã¶ãã¹ã¿ã€ã«ã®åèšç®ã«ããªãã®æéãè²»ãããŠããããšã瀺ããŠããŸããããã¯ãè€éãªã»ã¬ã¯ã¿ãŒãéè€ããã¹ã¿ã€ã«ããŸãã¯éå°ãªã¬ã€ã€ãŒãåå ã§ããå¯èœæ§ããããŸãã
- é »ç¹ãªåæç»ïŒRepaintsïŒïŒé »ç¹ãªåæç»ã¯ãã¬ã€ã¢ãŠãã衚瀺ã«åœ±é¿ãäžããã¹ã¿ã€ã«ã®å€æŽã«ãã£ãŠåŒãèµ·ããããå¯èœæ§ããããŸããåæç»ãæå°éã«æããããã«ã¹ã¿ã€ã«ãæé©åããŸãã
- ã¬ã€ã¢ãŠãã·ããïŒã¬ã€ã¢ãŠãã·ããã¯ãããŒãžã®èŠçŽ ãäºæããç§»åãããšãã«çºçããŸããããã¯ãåçãªã³ã³ãã³ããŸãã¯æé©åãããŠããªãã¹ã¿ã€ã«ã«ãã£ãŠåŒãèµ·ããããå¯èœæ§ããããŸãã
- ã¹ã¯ããŒã«ããã©ãŒãã³ã¹ã®åé¡ïŒã¹ã¯ããŒã«äžã«é«ã³ã¹ããªåæç»ãã¬ã€ã¢ãŠãèšç®ãããªã¬ãŒããèŠçŽ ã¯ãããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ããå¯èœæ§ããããŸãã
CSS @layer ããã©ãŒãã³ã¹ãæé©åããããã®æŠç¥
ãããã¡ã€ãªã³ã°çµæã«åºã¥ããŠãCSS @layer ããã©ãŒãã³ã¹ãæé©åããããã«ããã€ãã®æŠç¥ãé©çšã§ããŸãã
1. ã¬ã€ã€ãŒã®æ°ãæžãã
ã¬ã€ã€ãŒã¯æŽçã«åœ¹ç«ã¡ãŸãããæ°ãå€ããããšèµ°æ»æéãå¢å ããå¯èœæ§ããããŸããã¬ã€ã€ãŒæ§é ãè©äŸ¡ããå¯èœãªå Žåã¯ã¬ã€ã€ãŒãçµ±åããŸãããã¹ãŠã®ã¬ã€ã€ãŒãæ¬åœã«å¿ èŠãã©ãããæ€èšããŠãã ãããäžè¬çã«ãæ·±ããã¹ããããæ§é ããããã©ãããªã¬ã€ã€ãŒæ§é ã®æ¹ãããã©ãŒãã³ã¹ãåªããŠããŸãã
äŸïŒãBaseãããThemeãããComponentãã«åå¥ã®ã¬ã€ã€ãŒãæã€ä»£ããã«ã坿¥ã«é¢é£ããŠããå Žåã¯ãThemeããšãComponentããçµåã§ãããããããŸããã
2. ã»ã¬ã¯ã¿ãŒãç°¡çŽ åãã
è€éãªã»ã¬ã¯ã¿ãŒã¯ç¹ç°æ§èšç®ãé ãããå¯èœæ§ããããŸããå¯èœãªéãã·ã³ãã«ãªã»ã¬ã¯ã¿ãŒã䜿çšããŠãã ãããé床ã«å ·äœçãªã»ã¬ã¯ã¿ãŒãé¿ããæ·±ããã¹ããããã»ã¬ã¯ã¿ãŒã®ä»£ããã«ã¯ã©ã¹åã䜿çšããããšãæ€èšããŠãã ããã
äŸïŒ.container div p { ... }
ã®ä»£ããã«ã.container-text { ... }
ã䜿çšããŸãã
3. ã¹ã¿ã€ã«ã®éè€ãé¿ãã
ã¬ã€ã€ãŒéã§ã¹ã¿ã€ã«ãéè€ãããšãäžèŠãªèšç®ã«ã€ãªããå¯èœæ§ããããŸããã¹ã¿ã€ã«ãé©åã«æŽçãããŠãããç°ãªãã¬ã€ã€ãŒã«åé·ãªã¹ã¿ã€ã«ããªãããšã確èªããŠãã ãããCSSãªã³ã¿ãŒã䜿çšããŠéè€ããã¹ã¿ã€ã«ãç¹å®ããåé€ããŸãã
äŸïŒãBaseãã¬ã€ã€ãŒã§ãã©ã³ããµã€ãºãå®çŸ©ããŠããå Žåãç¹ã«å€æŽããå¿ èŠããªãéãããThemeãã¬ã€ã€ãŒã§åå®çŸ©ããããšã¯é¿ããŠãã ããã
4. content-visibility: auto
ã䜿çšãã
content-visibility: auto
CSSããããã£ã¯ããªãã¹ã¯ãªãŒã³ã®ã³ã³ãã³ãããã¥ãŒã«ã¹ã¯ããŒã«ããããŸã§ã¬ã³ããªã³ã°ãã¹ãããããããšã§ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã倧å¹
ã«åäžãããããšãã§ããŸããããã¯ãå€ãã®èŠçŽ ãæã€é·ãããŒãžã§ç¹ã«å¹æçã§ãããã®ããããã£ããæåã«è¡šç€ºãããªãããŒãžã®ã»ã¯ã·ã§ã³ã«é©çšããŠãã ããã
5. CSS Containment ãæŽ»çšãã
CSS Containment ã䜿çšãããšãããŒãžã®ç¹å®ã®éšåãåé¢ããã¹ã¿ã€ã«å€æŽã®åœ±é¿ãç¹å®ã®é åã«éå®ã§ããŸããããã«ãããäžèŠãªåæç»ãã¬ã€ã¢ãŠãèšç®ãé²ãããšãã§ããŸããcontain
ããããã£ã䜿çšããŠãèŠçŽ ã®ã³ã³ãã€ã³ã¡ã³ãã¿ã€ããæå®ããŸããäžè¬çãªå€ã«ã¯ãlayout
ãpaint
ãstrict
ããããŸãã
6. ç»åããã®ä»ã®ã¢ã»ãããæé©åãã
倧ããªç»åããã®ä»ã®ã¢ã»ããã¯ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸããç»åãå§çž®ããé©åãªåœ¢åŒïŒäŸïŒWebPïŒã䜿çšããããšã§ãç»åãæé©åããŸããæåã«è¡šç€ºãããªãç»åã«ã¯ãé å»¶èªã¿èŸŒã¿ã䜿çšããŠãã ããã
7. CSS-in-JS ã©ã€ãã©ãªã®äœ¿çšãæ€èšããïŒæ³šæãå¿ èŠïŒ
CSS-in-JS ã©ã€ãã©ãªã¯ãåçãªã¹ã¿ã€ã«ãæ±ãå Žåãªã©ãç¹å®ã®ç¶æ³ã§ããã©ãŒãã³ã¹äžã®å©ç¹ãæäŸããå¯èœæ§ããããŸãããã ããJavaScriptãã³ãã«ãµã€ãºã®å¢å ãã©ã³ã¿ã€ã ãªãŒããŒããããªã©ãæœåšçãªæ¬ ç¹ã䌎ããŸããCSS-in-JS ã©ã€ãã©ãªãæ¡çšããåã«ãããŒãºãæ éã«è©äŸ¡ããŠãã ããã
8. éèŠãªCSSãåªå ãã
åæãã¥ãŒããŒãã®ã¬ã³ããªã³ã°ã«äžå¯æ¬ ãªCSSãç¹å®ãããããHTMLã«çŽæ¥ã€ã³ã©ã€ã³åããŸããããã«ããããã©ãŠã¶ã¯å€éšCSSãã¡ã€ã«ã®èªã¿èŸŒã¿ãåŸ ã€ããšãªããããã«ããŒãžã®ã¬ã³ããªã³ã°ãéå§ã§ããŸããæ®ãã®CSSã®èªã¿èŸŒã¿ã¯ãæåã®ã¬ã³ããªã³ã°åŸã«å»¶æããŸãã
9. ãã©ãŠã¶ãã£ãã·ã¥ãå©çšãã
CSSãã¡ã€ã«ããã©ãŠã¶ã«ãã£ãŠé©åã«ãã£ãã·ã¥ãããããã«ããŸããããã«ããããµãŒããŒãžã®ãªã¯ãšã¹ãæ°ãæžããèªã¿èŸŒã¿æéãæ¹åãããŸããCSSãã¡ã€ã«ã«é©åãªãã£ãã·ã¥ããããŒãèšå®ããããã«ãµãŒããŒãæ§æããŠãã ããã
10. CSSããããã¡ã€ããã³å§çž®ãã
CSSããããã¡ã€ããŠäžèŠãªç©ºçœãã³ã¡ã³ããåé€ãããã¡ã€ã«ãµã€ãºãåæžããŸããGzipãŸãã¯Brotliã䜿çšããŠCSSãã¡ã€ã«ãå§çž®ããããã«ãµã€ãºãåæžããŸãããããã®ææ³ã¯ãç¹ã«ã€ã³ã¿ãŒãããæ¥ç¶ãé ããŠãŒã¶ãŒã«ãšã£ãŠãèªã¿èŸŒã¿æéãå€§å¹ ã«æ¹åã§ããŸãã
å®äŸãšã±ãŒã¹ã¹ã¿ãã£
CSS @layer ããã©ãŒãã³ã¹ãããã¡ã€ãªã³ã°ãã©ã®ããã«é©çšããããã®å®äŸãããã€ãèŠãŠã¿ãŸãããã
äŸ1ïŒå€§èŠæš¡ãªEã³ããŒã¹ãŠã§ããµã€ãã®æé©å
ããå€§èŠæš¡ãªEã³ããŒã¹ãŠã§ããµã€ãã¯ãç¹ã«ååãªã¹ãããŒãžã§ã¬ã³ããªã³ã°é床ãé ããšããåé¡ãæ±ããŠããŸãããCSSããããã¡ã€ãªã³ã°ããããšã§ãéçºè ã¯å€æ°ã®ã¬ã€ã€ãŒãšè€éãªã»ã¬ã¯ã¿ãŒã䜿çšããŠããããšãçºèŠããŸããã圌ãã¯ã¬ã€ã€ãŒæ§é ãç°¡çŽ åããã»ã¬ã¯ã¿ãŒã®ç¹ç°æ§ãæžãããç»åãæé©åããŸããããã®çµæãã¬ã³ããªã³ã°æéãå€§å¹ ã«æ¹åããçŽåž°çãæžããããšãã§ããŸããã
äŸ2ïŒã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹æ¹å
ããã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ïŒSPAïŒã¯ãé »ç¹ãªåæç»ãšã¬ã€ã¢ãŠãã·ããã®ããã«ããã©ãŒãã³ã¹ã®åé¡ãæ±ããŠããŸãããéçºè ã¯Chromeã®ã¬ã³ããªã³ã°ããã«ã䜿çšããŠããããã®åé¡ãåŒãèµ·ãããŠããèŠçŽ ãç¹å®ããŸããããã®åŸãCSS Containment ã䜿çšããŠãããã®èŠçŽ ãåé¢ããäžèŠãªåæç»ãé²ããŸããããŸããã¹ã¯ããŒã«ããã©ãŒãã³ã¹ãåäžãããããã«CSSã¢ãã¡ãŒã·ã§ã³ãæé©åããŸããã
äŸ3ïŒã°ããŒãã«ãªãã¥ãŒã¹çµç¹
倿§ãªèªè ãæã€ã°ããŒãã«ãªãã¥ãŒã¹çµç¹ã¯ããŠãŒã¶ãŒã®å°ççãªå Žæã«å¿ããŠããŒãžã®èªã¿èŸŒã¿æéãç°ãªããšããåé¡ãçµéšããŠããŸãããCSSãåæããçµæãéçºéäžåœã®ã€ã³ã¿ãŒãããæ¥ç¶ãé ããŠãŒã¶ãŒã«ãšã£ãŠã倧ããéå§çž®ã®CSSãã¡ã€ã«ãäž»èŠãªããã«ããã¯ã§ããããšãæããã«ãªããŸãããCSSã®ãããã¡ã€ãšå§çž®ïŒGzipïŒãå®è£ ããããšã§ããã¡ã€ã«ãµã€ãºãå€§å¹ ã«åæžããå Žæã«é¢ä¿ãªããã¹ãŠã®ãŠãŒã¶ãŒã®èªã¿èŸŒã¿æéãæ¹åããããšãã§ããŸããã
CSS @layer ããã©ãŒãã³ã¹ãç¶æããããã®ãã¹ããã©ã¯ãã£ã¹
CSS @layer ããã©ãŒãã³ã¹ã®æé©åã¯ç¶ç¶çãªããã»ã¹ã§ãã以äžã«ãåŸãã¹ãããã€ãã®ãã¹ããã©ã¯ãã£ã¹ã瀺ããŸãã
- 宿çã«CSSããããã¡ã€ãªã³ã°ããïŒãã®ã¬ã€ãã§èª¬æãããŠããããŒã«ãšãã¯ããã¯ã䜿çšããŠã宿çã«CSSããããã¡ã€ãªã³ã°ããæœåšçãªããã©ãŒãã³ã¹ã®åé¡ãç¹å®ããŸãã
- ããã©ãŒãã³ã¹äºç®ãèšå®ããïŒCSSã®ããã©ãŒãã³ã¹äºç®ãèšå®ãããããã®äºç®å ã«åãŸã£ãŠããããšã確èªããããã«ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãç£èŠããŸãã
- CSSãªã³ã¿ãŒã䜿çšããïŒCSSãªã³ã¿ãŒã¯ãéè€ããã¹ã¿ã€ã«ãé床ã«è€éãªã»ã¬ã¯ã¿ãŒãªã©ãäžè¬çãªCSSããã©ãŒãã³ã¹ã®åé¡ãç¹å®ãã鲿¢ããã®ã«åœ¹ç«ã¡ãŸãã
- æé©åããã»ã¹ãèªååããïŒãã«ãããŒã«ã䜿çšããŠãCSSã®ãããã¡ã€ãå§çž®ãæé©åã®ããã»ã¹ãèªååããŸãã
- ãã¹ããã©ã¯ãã£ã¹ãææ°ã®ç¶æ ã«ä¿ã€ïŒææ°ã®CSSããã©ãŒãã³ã¹ã®ãã¹ããã©ã¯ãã£ã¹ãšãã¯ããã¯ãåžžã«ææ°ã®ç¶æ ã«ä¿ã¡ãŸãã
çµè«
CSS @layer ã¯CSSãæŽçããã³ç®¡çãã匷åãªæ¹æ³ãæäŸããŸãããã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãžã®æœåšçãªåœ±é¿ãçè§£ããããšãéèŠã§ããCSSããããã¡ã€ãªã³ã°ããçµæãåæãããã®ã¬ã€ãã«æŠèª¬ãããŠããæé©åæŠç¥ãé©çšããããšã§ã@layer ã®å®è£ ãä¿å®å¯èœã§ããã©ãŒãã³ã¹ãé«ãããšãä¿èšŒã§ããŸããCSS @layer ããã©ãŒãã³ã¹ã®æé©åã¯ãèŠæãšãã¹ããã©ã¯ãã£ã¹ãžã®ã³ãããã¡ã³ããå¿ èŠãšããç¶ç¶çãªããã»ã¹ã§ããããšãå¿ããªãã§ãã ãããCSSãç¶ç¶çã«ç£èŠããã³æ¹åããããšã§ããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã«ã¹ã ãŒãºã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã
ã¬ã€ã€ãŒåŠçåæã®åãæŽ»çšããCSSã¢ãŒããã¯ãã£ãæ°ããªé«ã¿ãžãšåŒãäžããŸãããïŒãã®ã¬ã€ãã§è°è«ãããŠãããã¯ããã¯ãç¿åŸããããšã§ãèŠèŠçã«é åçã§ããã ãã§ãªãããŠãŒã¶ãŒã®å Žæãããã€ã¹ã«é¢ä¿ãªããè¶ é«éã§é«ãããã©ãŒãã³ã¹ãçºæ®ãããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã