CSS @assertã®å æ¬çã¬ã€ããCSSã³ãŒãã®ãã¹ãã»æ€èšŒã«ãããå¯èœæ§ãæ¢ããã³ãŒãå質ãšä¿å®æ§ãåäžãããŸãã
CSS @assert: ã¢ãµãŒã·ã§ã³ãã¹ããšæ€èšŒ
Webéçºã®äžçã¯åžžã«é²åããŠãããããã«äŒŽãCSSã®è€éããå¢ããŠããŸããã¹ã¿ã€ã«ã·ãŒãã倧ãããªãã«ã€ããŠããã®æ£ç¢ºæ§ãšä¿å®æ§ã確ä¿ããããšã¯ãŸããŸãå°é£ã«ãªããŸããCSSã®@assertã«ãŒã«ã¯ãéçºè
ã«åŒ·åãªæ°ããããŒã«ãæäŸããŸããããã¯ãCSSã³ãŒãå
ã§çŽæ¥ã¢ãµãŒã·ã§ã³ãã¹ããå®è¡ããæ©èœã§ãããã®èšäºã§ã¯ãCSSã¢ãµãŒã·ã§ã³ã®æŠå¿µã@assertã®ä»çµã¿ããã®æœåšçãªå©ç¹ãšå¶éããããŠCSSã¯ãŒã¯ãããŒãæ¹åããããã«ã©ã®ããã«äœ¿çšã§ããããæ¢ããŸãã
ã¢ãµãŒã·ã§ã³ãã¹ããšã¯ïŒ
ã¢ãµãŒã·ã§ã³ãã¹ãã¯ãããã°ã©ã ã®å®è¡äžã®ç¹å®ã®æç¹ã§ããã®ç¶æ ãç¹å®ã®æåŸ å€ãæºãããŠããããšãæ€èšŒããææ³ã§ããæ¬è³ªçã«ãã¢ãµãŒã·ã§ã³ãšã¯ãç¹å®ã®æ¡ä»¶ãçã§ãããšãã衚æã§ããããæ¡ä»¶ãåœã§ããã°ãã¢ãµãŒã·ã§ã³ã¯å€±æããã³ãŒãã«æœåšçãªåé¡ãããããšã瀺ããŸãã
åŸæ¥ã®ããã°ã©ãã³ã°èšèªã§ã¯ãã¢ãµãŒã·ã§ã³ãã¹ãã¯å°çšã®ãã¹ããã¬ãŒã ã¯ãŒã¯ã䜿çšããŠè¡ãããããšããããããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãµãŒã·ã§ã³ãå®çŸ©ãããã®åŠ¥åœæ§ãæ€èšŒããããã®ãã¹ããå®è¡ãã颿°ãã¡ãœãããæäŸããŸããããããæè¿ãŸã§ãCSSã«ã¯ã¢ãµãŒã·ã§ã³ãã¹ãã®ããã®çµã¿èŸŒã¿ã¡ã«ããºã ããããŸããã§ããã
CSS @assertã®ç޹ä»
çŸåšææ¡äžã®æ©èœã§ããCSSã®@assertã«ãŒã«ã¯ãã¢ãµãŒã·ã§ã³ãã¹ãæ©èœãCSSã«çŽæ¥ããããããšãç®çãšããŠããŸããããã«ãããéçºè
ã¯ã¹ã¿ã€ã«ã·ãŒãå
ã«ã¢ãµãŒã·ã§ã³ãå®çŸ©ã§ããCSSããããã£å€ãã«ã¹ã¿ã ããããã£ïŒCSS倿°ïŒãããã³ãã®ä»ã®æ¡ä»¶ãå®è¡æã«æ€èšŒã§ããŸããã¢ãµãŒã·ã§ã³ã倱æããå Žåããã©ãŠã¶ïŒãŸãã¯éçºããŒã«ïŒã¯èŠåããšã©ãŒã¡ãã»ãŒãžã衚瀺ããéçºè
ãéçºããã»ã¹ã®æ©ã段éã§åé¡ãç¹å®ãä¿®æ£ããã®ãå©ããŸãã
@assertã«ãŒã«ã®åºæ¬çãªæ§æã¯æ¬¡ã®ãšããã§ãã
@assert <condition>;
ããã§ã<condition>ã¯ãã¢ãµãŒã·ã§ã³ããã¹ããããã«trueãšè©äŸ¡ãããã¹ãããŒã«åŒã§ãããã®æ¡ä»¶ã«ã¯éåžžãCSSã«ã¹ã¿ã ããããã£ãšãã®å€ãå«ãŸããŸãããããè€éãªãã®ã«ããããšãã§ããŸãã
@assertã®ä»çµã¿ïŒäŸ
@assertãã©ã®ããã«äœ¿çšã§ããããããã€ãã®äŸã§èª¬æããŸãããã
äŸ1ïŒCSS倿°å€ã®æ€èšŒ
Webãµã€ãã®ãã©ã€ããªã«ã©ãŒãå®çŸ©ããCSS倿°ããããšããŸãã
:root {
--primary-color: #007bff;
}
@assertã䜿çšããŠã--primary-colorã®å€ãæå¹ãª16鲿°ã®ã«ã©ãŒã³ãŒãã§ããããšã確èªã§ããŸãã
@assert color(--primary-color);
ãã®äŸã§ã¯ãcolor()颿°ïŒä»®èª¬ã§ããã説æã®ããã®ãã®ã§ãïŒã䜿çšããŠã--primary-colorã®å€ãæå¹ãªè²ã§ãããã©ããããã§ãã¯ããŸããããã§ãªãå ŽåïŒäŸïŒç¡å¹ãªæååã®å ŽåïŒãã¢ãµãŒã·ã§ã³ã¯å€±æããŸãã
äŸ2ïŒæå°å€ã®ãã§ãã¯
Webãµã€ãã®æå°ãã©ã³ããµã€ãºãå®çŸ©ããCSS倿°ããããšããŸãã
:root {
--min-font-size: 16px;
}
@assertã䜿çšããŠã--min-font-sizeã®å€ãç¹å®ããã倿ªæºã§ãªãããšã確èªã§ããŸãã
@assert var(--min-font-size) >= 12px;
ãã®ã¢ãµãŒã·ã§ã³ã¯ã--min-font-sizeã®å€ã12px以äžã§ãããã©ããããã§ãã¯ããŸãã12pxæªæºã®å Žåãã¢ãµãŒã·ã§ã³ã¯å€±æããŸãã
äŸ3ïŒèšç®çµæã®æ€èšŒ
@assertã䜿çšããŠãCSS倿°ãå«ãèšç®ã®çµæãæ€èšŒããããšãã§ããŸãã
:root {
--base-width: 100px;
--padding: 10px;
--total-width: calc(var(--base-width) + var(--padding) * 2);
}
@assert var(--total-width) == 120px;
ãã®ã¢ãµãŒã·ã§ã³ã¯ã--total-widthã®èšç®å€ã120pxãšçãããã©ããããã§ãã¯ããŸããèšç®ãééã£ãŠããå ŽåïŒäŸïŒã¿ã€ããã¹ã«ããïŒãã¢ãµãŒã·ã§ã³ã¯å€±æããŸãã
äŸ4ïŒã¡ãã£ã¢ã¯ãšãªã䜿çšããæ¡ä»¶ä»ãã¢ãµãŒã·ã§ã³
@assertãã¡ãã£ã¢ã¯ãšãªãšçµã¿åãããŠãç¹å®ã®æ¡ä»¶äžã§ã®ã¿ã¢ãµãŒã·ã§ã³ãå®è¡ã§ããŸããããã¯ãç»é¢ãµã€ãºãããã€ã¹ã¿ã€ãã«åºã¥ããŠç°ãªãæ¹æ³ã§é©çšãããCSSãæ€èšŒããã®ã«åœ¹ç«ã¡ãŸãã
@media (min-width: 768px) {
@assert var(--sidebar-width) > 200px;
}
ãã®ã¢ãµãŒã·ã§ã³ã¯ã--sidebar-widthã®å€ã200pxãã倧ãããã©ããããã§ãã¯ããŸãããç»é¢å¹
ãå°ãªããšã768pxã®å Žåã«ã®ã¿è¡ãããŸãã
@assertã䜿çšããå©ç¹
@assertãCSSã¯ãŒã¯ãããŒã§äœ¿çšãããšãããã€ãã®å©ç¹ããããŸãã
- æ©æã®ãšã©ãŒæ€åºïŒ
@assertã䜿çšãããšãéçºããã»ã¹ã®æ©ã段éã§CSSã³ãŒãã®ãšã©ãŒãäžæŽåããã£ããããäºæããªãåäœãèŠèŠçãªãã°ã«ã€ãªããåã«å¯ŸåŠã§ããŸãã - ã³ãŒãå質ã®åäžïŒ CSSããããã£å€ãšèšç®ãæ€èšŒããããšã«ããã
@assertã¯ã³ãŒããç¹å®ã®æšæºãå¶çŽã«æºæ ããŠããããšãä¿èšŒããããé«å質ã§ä¿¡é Œæ§ã®é«ãã¹ã¿ã€ã«ã·ãŒãã«ã€ãªãããŸãã - ä¿å®æ§ã®åäžïŒ
@assertã¯ãã¹ã¿ã€ã«ã®æåŸ ãããåäœã«é¢ããä»®å®ãææžåãã匷å¶ããããã®çµã¿èŸŒã¿ã¡ã«ããºã ãæäŸããããšã§ãæéãšãšãã«CSSã³ãŒããç¶æããããããŸãã - ãããã°ã®ç°¡çŽ åïŒ ã¢ãµãŒã·ã§ã³ã倱æãããšããã©ãŠã¶ïŒãŸãã¯éçºããŒã«ïŒã¯æç¢ºã§æçãªãšã©ãŒã¡ãã»ãŒãžãæäŸãããããåé¡ã®åå ãç¹å®ããè¿ éã«ä¿®æ£ããããšã容æã«ãªããŸãã
- ãªã°ã¬ãã·ã§ã³ã®é²æ¢ïŒ
@assertã¯ãCSSã³ãŒããžã®å€æŽãæ¢åã®æ©èœãæå³ããå£ããããæ°ãããã°ãå°å ¥ãããããªãããã«ããããšã§ããªã°ã¬ãã·ã§ã³ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
å¶éãšèæ ®äºé
@assertã¯å€§ããªå¯èœæ§ãç§ããŠããŸããããã®å¶éãšèæ
®äºé
ãèªèããããšãéèŠã§ãã
- ãã©ãŠã¶ã®ãµããŒãïŒ ææ¡äžã®æ©èœã§ããããã
@assertã¯ãã¹ãŠã®ãã©ãŠã¶ãéçºããŒã«ã§ãµããŒããããŠããããã§ã¯ãªããããããŸãããæ¬çªã³ãŒãã§@assertã«äŸåããåã«ãçŸåšã®ãã©ãŠã¶ãµããŒãã®ç¶æ³ã確èªããããšãéèŠã§ãã - ããã©ãŒãã³ã¹ãžã®åœ±é¿ïŒ ã¢ãµãŒã·ã§ã³ãã¹ãã¯ãç¹ã«ã¹ã¿ã€ã«ã·ãŒãã«å€æ°ã®ã¢ãµãŒã·ã§ã³ãããå Žåãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
@assertãè³¢æã«äœ¿çšããè€éãããããŸãã¯èšç®ã³ã¹ããé«ãããã¢ãµãŒã·ã§ã³ã®è¿œå ãé¿ããããšãéèŠã§ãã - åœéœæ§ïŒFalse PositiveïŒïŒ å Žåã«ãã£ãŠã¯ã
@assertã¯å®éã«ã¯ãšã©ãŒããªãã®ã«ãšã©ãŒã瀺ãåœéœæ§ãçæããããšããããŸããããã¯ãã¢ãµãŒã·ã§ã³æ¡ä»¶ãå³ããããå Žåãããã¹ãŠã®å¯èœãªã·ããªãªãèæ ®ããŠããªãå Žåã«çºçããå¯èœæ§ããããŸããã¢ãµãŒã·ã§ã³æ¡ä»¶ãæ éã«æ€èšããã³ãŒãã®æå³ããåäœãæ£ç¢ºã«åæ ããŠããããšã確èªããããšãéèŠã§ãã - éçºç°å¢ãšæ¬çªç°å¢ïŒ çæ³çã«ã¯ãã¢ãµãŒã·ã§ã³ã¯éçº/ãããã°çšã§ããããã©ãŒãã³ã¹ã®ãªãŒããŒãããããå ¬éããããªãå éšããžãã¯ãæããã«ãªãå¯èœæ§ããããããæ¬çªç°å¢ã«å«ããããšã¯æãŸãããªãã§ããããå°æ¥çãªå®è£ ã§ã¯ãæ¬çªãã«ãããã¢ãµãŒã·ã§ã³ãåé€ããæ¹æ³ãæäŸããããããããŸããã
ãŠãŒã¹ã±ãŒã¹ïŒæ¥çãã¢ããªã±ãŒã·ã§ã³ã暪æããäŸ
@assertã«ãŒã«ã¯ãããŸããŸãªæ¥çãã¢ããªã±ãŒã·ã§ã³ã¿ã€ãã§äŸ¡å€ãçºæ®ããŸãã
- Eã³ããŒã¹ïŒ 補åããŒãžå
šäœã§äžè²«ãããã©ã³ãã£ã³ã°ãšèŠèŠçå€èгã確ä¿ãããã¢ãµãŒã·ã§ã³ã¯ãè²ããã©ã³ããã¹ããŒã·ã³ã°ããã©ã³ãã¬ã€ãã©ã€ã³ã«æºæ ããŠããããšãæ€èšŒã§ããŸããäŸãã°ãäžçäžã§è£œåã販売ããEã³ããŒã¹ãã©ãããã©ãŒã ã¯ã
@assertã䜿çšããŠããµã€ãã®ç°ãªãèšèªããŒãžã§ã³éã§ãã©ã³ããµã€ãºã®äžè²«æ§ã確ä¿ããç°ãªããã±ãŒã«ã§ã®ããã¹ãã®é·ãã®å€åã«é©å¿ãããããšãã§ããŸãã - ãã¥ãŒã¹ãšã¡ãã£ã¢ïŒ ç°ãªãããã€ã¹éã§ã®èªã¿ããããšã¢ã¯ã»ã·ããªãã£ãç¶æãããã¢ãµãŒã·ã§ã³ã¯ããã©ã³ããµã€ãºãšè¡ã®é«ããç°ãªãç»é¢ãµã€ãºã«å¯ŸããŠé©åã§ããããšãããã³ã«ã©ãŒã³ã³ãã©ã¹ãæ¯ãã¢ã¯ã»ã·ããªãã£åºæºãæºãããŠããããšããã§ãã¯ã§ããŸããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã察象ãšãããã¥ãŒã¹ãµã€ãã¯ãã¢ãµãŒã·ã§ã³ã䜿çšããŠãããŸããŸãªã€ã³ã¿ãŒãããæ¥ç¶é床ãããã€ã¹ã®èœåã«å¿ããŠç»åãåç»ãæ£ããèªã¿èŸŒãŸããé©åã«è¡šç€ºãããããšãä¿èšŒã§ããŸãã
- éèãµãŒãã¹ïŒ éèããã·ã¥ããŒããã¬ããŒãã«ãããããŒã¿ã®å®å
šæ§ãšæ£ç¢ºæ§ãä¿èšŒãããã¢ãµãŒã·ã§ã³ã¯ãèšç®ãæ£ããå®è¡ãããããŒã¿ãæ£ãã圢åŒã§è¡šç€ºãããããšãæ€èšŒã§ããŸããäžçäžã«é¡§å®¢ãæã€éèæ©é¢ã¯ã
@assertãæŽ»çšããŠããŠãŒã¶ãŒã®å Žæãèšèªèšå®ã«åºã¥ããŠé貚èšå·ãæ°å€åœ¢åŒãæ£ãã衚瀺ãããããšã確èªã§ããŸãã - ãã«ã¹ã±ã¢ïŒ å»çèšé²ãæ£è ããŒã¿ã«ã®æçæ§ãšäœ¿ããããã確ä¿ãããã¢ãµãŒã·ã§ã³ã¯ãéèŠãªæ å ±ãç®ç«ã€ããã«è¡šç€ºããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãããã²ãŒãããããããšããã§ãã¯ã§ããŸããåœéçã«ãµãŒãã¹ãæäŸããå»çæ©é¢ã¯ãã¢ãµãŒã·ã§ã³ãå©çšããŠãå»ççšèªã枬å®åäœãå°åã®åºæºã«åŸã£ãŠæ£ç¢ºã«ç¿»èš³ã»è¡šç€ºãããããšãä¿èšŒã§ããŸãã
- æè²ïŒ ã€ã³ã¿ã©ã¯ãã£ããªåŠç¿ã¢ãžã¥ãŒã«ãæè²ã²ãŒã ãæ€èšŒãããã¢ãµãŒã·ã§ã³ã¯ãã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ ãæ£ããæ©èœãããã£ãŒãããã¯ãé©åã«è¡šç€ºãããããšãä¿èšŒã§ããŸããäžçäžã®åŠçã«å¯Ÿå¿ãããªã³ã©ã€ã³åŠç¿ãã©ãããã©ãŒã ã¯ãã¢ãµãŒã·ã§ã³ãçšããŠãããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§ã¯ã€ãºãè©äŸ¡ãæ£ããæ©èœããããšã確èªããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ãããã€ã¹èœåã®ã°ãã€ããèæ ®ã«å ¥ããããšãã§ããŸãã
@assertãã¯ãŒã¯ãããŒã«çµã¿èŸŒãæ¹æ³
@assertãCSSéçºã¯ãŒã¯ãããŒã«å¹æçã«çµã¿èŸŒãããã®ãã³ããããã€ã玹ä»ããŸãã
- å°ããå§ããïŒ éèŠãªCSSããããã£å€ãèšç®ãæ€èšŒããããã«
@assertã¹ããŒãã¡ã³ãã远å ããããšããå§ããŸããã³ãŒãã®ãã¹ãŠã®è¡ã«ã¢ãµãŒã·ã§ã³ã远å ããããšããªãã§ãã ããã - ãªã¹ã¯ã®é«ãé åã«çŠç¹ãåœãŠãïŒ è€éãªèšç®ãæ¡ä»¶ä»ãã¹ã¿ã€ã«ãªã©ããšã©ãŒãäžæŽåãæãçºçããããCSSã³ãŒãã®é åã«ã¢ãµãŒã·ã§ã³ã远å ããããšãåªå ããŸãã
- æå³ã®ããã¢ãµãŒã·ã§ã³æ¡ä»¶ã䜿çšããïŒ ã³ãŒãã®æå³ããåäœãæ£ç¢ºã«åæ ããã¢ãµãŒã·ã§ã³æ¡ä»¶ãéžæããŸããçè§£ãé£ãããé床ã«è€éãŸãã¯äžå¯è§£ãªæ¡ä»¶ã®äœ¿çšã¯é¿ããŠãã ããã
- ã¢ãµãŒã·ã§ã³ããã¹ãããïŒ
@assertã¹ããŒãã¡ã³ãã远å ããåŸãCSSã³ãŒãããã¹ãããŠãã¢ãµãŒã·ã§ã³ãæ£ããæ©èœããæœåšçãªãšã©ãŒããã£ããããŠããããšã確èªããŸãã - éçºããŒã«ãšçµ±åããïŒ ãã©ãŠã¶æ¡åŒµæ©èœãCSSãªã³ã¿ãŒãªã©ã
@assertããµããŒãããéçºããŒã«ã䜿çšããŸãããããã®ããŒã«ã¯ãã¢ãµãŒã·ã§ã³ã®å€±æãç¹å®ãã圹ç«ã€ãšã©ãŒã¡ãã»ãŒãžãæäŸããã®ã«åœ¹ç«ã¡ãŸãã - ãã¹ããèªååããïŒ
@assertãèªåãã¹ãã¯ãŒã¯ãããŒã«çµ±åããããšãæ€èšããŸããããã«ãããCSSã³ãŒããé²åããŠããæéãçµã£ãŠãæ£ç¢ºã§äžè²«æ§ãä¿ã€ããšãã§ããŸãã
@assertã®ä»£æ¿ææ®µïŒæ¢åã®CSSæ€èšŒæè¡ïŒ
@assertãç»å Žããåãéçºè
ã¯CSSãæ€èšŒããããã«ããŸããŸãªæ¹æ³ã䜿çšããŠããŸããããããã®æ¹æ³ã¯äŸç¶ãšããŠæå¹ã§ãããæ°ãã@assertæ©èœãè£å®ããããšãã§ããŸãã
- CSSãªã³ã¿ãŒïŒStylelint, ESLintã®CSSãã©ã°ã€ã³ïŒïŒ ãªã³ã¿ãŒã¯ãæœåšçãªãšã©ãŒãã¹ã¿ã€ã«ã®äžè²«æ§ã®ãªããã³ãŒãå質ã®åé¡ã«ã€ããŠCSSã³ãŒããåæããŸããã³ãŒãã£ã³ã°æšæºãšãã¹ããã©ã¯ãã£ã¹ã匷å¶ããããã¯ãªãŒã³ã§ä¿å®æ§ã®é«ãCSSãæžãã®ã«åœ¹ç«ã¡ãŸããåœéçãªãããžã§ã¯ãã§ã¯ãç¹å®ã®åœåèŠåã匷å¶ãããããã¹ãŠã®ãã©ãŠã¶ããã±ãŒã«ã§ãµããŒããããŠããªãå¯èœæ§ã®ããåé¡ã®ããCSSããããã£ã«ãã©ã°ãç«ãŠãããã«ãªã³ã¿ãŒãèšå®ã§ããŸãã
- æåã³ãŒãã¬ãã¥ãŒïŒ ä»ã®éçºè ã«CSSã³ãŒããã¬ãã¥ãŒããŠãããããšã§ãèŠéããŠããå¯èœæ§ã®ããåé¡ãç¹å®ã§ããŸããã³ãŒãã¬ãã¥ãŒã¯ç¥èãå ±æããã³ãŒããç¹å®ã®åè³ªåºæºãæºãããŠããããšã確èªãã貎éãªæ¹æ³ã§ããåœéçãªããŒã ã¯ãç°ãªãå°åã®éçºè ã«CSSãã¬ãã¥ãŒããŠãããããšã§ãæåçã«é©åã§ãããäžçäžã®ããŸããŸãªå°åã§äœ¿çšãããŠããç°ãªãããã€ã¹ããã©ãŠã¶ã§ããŸãæ©èœããããšã確èªã§ããŸãã
- ããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ãã¹ãïŒ ããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ãã¹ãããŒã«ã¯ãCSSã³ãŒãã®å€æŽååŸã®Webãµã€ããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ¯èŒããŸããããã«ãããã³ãŒãã«ãã£ãŠæå³ããå°å ¥ãããèŠèŠçãªå€æŽãç¹å®ã§ããŸããPercyãBackstopJSã®ãããªããŒã«ããã®ããã»ã¹ãèªååããŸãããããã®ãã¹ãã¯ãäžçäžã§äœ¿çšãããŠããããŸããŸãªãã©ãŠã¶ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã éã§èŠèŠçãªäžè²«æ§ã確èªããããã«ãã°ããŒãã«ã«CSSã®å€æŽãå±éããéã«éåžžã«äŸ¡å€ããããŸãã
- ãã©ãŠã¶éçºè ããŒã«ïŒ ææ°ã®ãã©ãŠã¶éçºè ããŒã«ã¯ãCSSã³ãŒãã®æ€æ»ãšãããã°ã®ããã®æ©èœãæäŸããŸãããããã®ããŒã«ã䜿çšããŠãèŠçŽ ã®èšç®æžã¿ã¹ã¿ã€ã«ã調ã¹ãCSSã®è©³çŽ°åºŠã®åé¡ãç¹å®ããCSSã®ããã©ãŒãã³ã¹ããããã¡ã€ãªã³ã°ã§ããŸããåœéçãªãããžã§ã¯ãã«åãçµãéãéçºè ã¯ãã©ãŠã¶éçºè ããŒã«ã䜿çšããŠããŸããŸãªããã€ã¹ããããã¯ãŒã¯æ¡ä»¶ããšãã¥ã¬ãŒãããããŸããŸãªã·ããªãªã§CSSã®ããã©ãŒãã³ã¹ããã¹ãã§ããŸãã
CSSæ€èšŒã®æªæ¥
@assertã®å°å
¥ã¯ãCSSæ€èšŒã®é²åã«ããã倧ããªäžæ©ã§ããCSSãããè€éã§åŒ·åã«ãªãç¶ããã«ã€ããŠãå
ç¢ãªãã¹ãããã³æ€èšŒã¡ã«ããºã ã®å¿
èŠæ§ã¯å¢ãã°ããã§ããå°æ¥çã«ã¯ã@assertã®ãããªãæ©èœåŒ·åããCSSã³ãŒãã®æ£ç¢ºæ§ãšä¿å®æ§ã確ä¿ããããã®æ°ããããŒã«ãæè¡ã®éçºãæåŸ
ãããŸãã
éçºã®å¯èœæ§ã®ããåéã®1ã€ã¯ã@assertãSassãLessãªã©ã®æ¢åã®CSSããªããã»ããµãšçµ±åããããšã§ããããã«ãããéçºè
ã¯å€æ°ãmixinã颿°ãªã©ããããã®ããªããã»ããµã®åŒ·åãªæ©èœãšçµã¿åãããŠ@assertã䜿çšã§ããããã«ãªããŸãããã1ã€ã®éçºã®å¯èœæ§ã®ããåéã¯ãç°ãªãèŠçŽ ã®èšç®æžã¿ã¹ã¿ã€ã«ãæ¯èŒããããããŒãžã®ã¬ã€ã¢ãŠããæ€èšŒãããããæ©èœãªã©ãããæŽç·Žãããã¢ãµãŒã·ã§ã³æ¡ä»¶ã®äœæã§ãã@assertãæçããããåºãæ¡çšãããããã«ãªãã°ãç§ãã¡ãCSSã³ãŒããæžããç¶æããæ¹æ³ãé©åœçã«å€ããå¯èœæ§ããããŸãã
çµè«
CSSã®@assertã¯ãCSSã³ãŒãã®ãã¹ããšæ€èšŒã«å¯Ÿããææãªæ°ããã¢ãããŒããæäŸããŸããã¹ã¿ã€ã«ã·ãŒãå
ã§ã¢ãµãŒã·ã§ã³ãå®çŸ©ããããã®çµã¿èŸŒã¿ã¡ã«ããºã ãæäŸããããšã§ã@assertã¯éçºè
ãæ©æã«ãšã©ãŒããã£ããããã³ãŒãå質ãåäžãããä¿å®æ§ãé«ãããããã°ãç°¡çŽ åããã®ã«åœ¹ç«ã¡ãŸãã@assertã¯ãŸã ææ¡äžã®æ©èœã§ãããããã€ãã®å¶éããããŸãããå°æ¥çã«ã¯CSSéçºè
ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ã«ãªãå¯èœæ§ããããŸããCSSã®æ
ãå§ããã«ãããã@assertã®åãæŽ»çšããŠãå
ç¢ã§ä¿å®æ§ãé«ããé«å質ãªã¹ã¿ã€ã«ã·ãŒããæ§ç¯ããããšãæ€èšããŠãã ããã
åžžã«CSSã®ã°ããŒãã«ãªåœ±é¿ãèæ
®ããããšãå¿ããªãã§ãã ããããã¶ã€ã³ãã¬ã¹ãã³ã·ãã§ãã¢ã¯ã»ã¹ãããããç°ãªãèšèªãæåçèæ¯ã«é©å¿ã§ããããšã確èªããŠãã ããã@assertã®ãããªããŒã«ã¯ãæ
éãªèšç»ãšãã¹ããšçµã¿åãããããšã§ãçã«ã°ããŒãã«ãªãŠã§ãäœéšãåµé ããã®ã«åœ¹ç«ã¡ãŸãã