ïŒ1872ãåç §
ãã©ã³ãã®ããã«ãå³å¯ã¢ãŒãããªãã«ããŠãåºæ¬çã«ã«ãŒã«ã®å³å¯ã¢ãŒãããªã³ã«ããcalcã®å¥ã®ã±ãŒã¹ãè¿œå ããå¯èœæ§ã¯ãããŸããïŒ å°æ¥çã«äŸå€ãå€ãããŸããïŒ
@ Seven-phases-maxïŒ
ãããšãä»ã«ãããããã®å¯èœæ§ããããŸããããšãã°ã ./
ããé€ç®ã«æ¬åŒ§ãå¿
èŠã§ãïŒããšãã°ã 1/2
-> 1/2
ãã (1/2)
-> 0.5
ïŒãªã©..
ãŸãããç¹æ®ãªã±ãŒã¹ãïŒããšãã°ã x/y
ãçç¥åœ¢ãšããŠè¡šç€ºãããããããã£ïŒã¯ããã»ã©ãŸãã§ã¯ãããŸããïŒ padding
/ margin
ã§å§ãŸãã background
çµããïŒ border-radius
ãããŠæçµçã«ã¯ãã£ãšå€ããªãå¯èœæ§ãããfont
ããã«ãã¹ãŠãããŒãã³ãŒãã£ã³ã°ããããšã¯ã§ããŸããïŒãã®ãããçŸåšã®ãã©ã³ãã®ãåé¿çãã¯äžæçã§éåžžã«æ±ããã¯ã©ããžã§ãçæ³çã«ã¯åé€ããå¿
èŠããããŸãïŒã
ç©äºã倧ããå€ããããç»æ¿ã«æ»ã£ããããããªããšæããŸã
ã¯ãããããéå§ããããšãææ¡ããã®ã¯ã3.0ã§ãããã©ã«ããã®å³å¯ãªèšç®ãå¿
èŠãªå Žåã«ã®ã¿ãçŸåšã®ãã®ããã軜ããã®ãçºæããå¿
èŠãããããã§ãïŒãããŠãæ°ãã--alt-strict-math
ãå°å
¥ããã«ãã¹ãŠã®åé¡ãä¿®æ£ã§ããå¯èœæ§ããããŸãfont
ãããªããŒãã³ãŒãã£ã³ã°ãœãªã¥ãŒã·ã§ã³ã®èåŸã«é ããåé¡ãããããã --alt-strict-math
ãªãã·ã§ã³ã¯éåžžã«éçŸå®çã§ã...ïŒã
ç§ã¯ãã®æé·ã«æ°ã¥ããŠããŸããã§ãã
https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius
:(
çŸæç¹ã§ã¯ãæåã«strictMathsãæ¡åŒµããããšã«è³æã ãšæããŸãã
次ã«ã2.0.0ã®å Žåãããã©ã«ããé€ç®ã«èšå®ããŸã
ãã..
ã¡ãã£ã¢ã¯ãšãª-ãªãã®å ŽåããµãããŒãã®åå²ã«åãæ¿ããŸã
ãã©ã³ã-ãªãã®å ŽåããµãããŒãã®é€ç®ã«åãæ¿ããŸã
calcïŒ-ãªããŸãã¯é€ç®ã®å ŽåããµãããŒãã®ãªã³ã«åãæ¿ããŸã
https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius
ãããç§ã¯åœŒãã_any_ãshorhandpropertyãã§ãshorthandvaluesãïŒããªãã¡x/y
ïŒãèš±å¯ããããšã«åãã£ãŠãããšæããŸã...
é¢é£ïŒ https ïŒ
å¥ã®ãªãã·ã§ã³..èšç®åŒã³åºããåŠçããŸãããåäœããããå¯èœã«ããå Žåã®ã¿ã§ãã
calcïŒ1ïŒ
+ 2ïŒ
ïŒ=> 3ïŒ
calcïŒ100ïŒ
-10 pxïŒ=>å€æŽãªã
ããã«ããcalc
ã¯ä¿®æ£ãããŸãããïŒ1627ããã³é¢é£ãããã®ã¯ä¿®æ£ãããŸããã
ã¯ãã calc(100% - 10 px) => unchanged
ã¯calc
ãœãªã¥ãŒã·ã§ã³ã«ãªãå¯èœæ§ããããŸãããããã¯less-heavy-than-parens-everywhere
ãœãªã¥ãŒã·ã§ã³ã®å¿
èŠæ§ããã£ã³ã»ã«ãããã®ã§ã¯ãããŸããã
å³å¯ãªèšç®ãåæ€èšãããŠããå Žåã¯ã percentage()
ãããªLessé¢æ°ã®äžã«äœåãªæ¬åŒ§ãå¿
èŠãšããªãããšããå§ãããŸãã å³å¯ãªèšç®ããªã³ã«ãããšãåŒæ°ãäºéã«ã©ããããå¿
èŠããããŸãã ããã«ããã percentage(16 / 17)
ãšpercentage((16 / 17))
äž¡æ¹ãæå¹ã«ãªããããæ··ä¹±ãèŠã€ãã«ãããã°ã®å¯èœæ§ã倧å¹
ã«æžå°ããŸãã
@calvinjuarez V2ã¯ããã©ã°ã€ã³ãç°å¢ã«ä»»æã®æ°ã®é¢æ°ãè¿œå ã§ãããã©ã°ã€ã³ãµãã·ã¹ãã ãæäŸããŸãããã®æå³ã§ãã³ã¢ã¯ããã®ãããªçµã¿èŸŒã¿é¢æ°ãåäžã®å€ãŸãã¯åŒãæåŸ
ãããã©ãããå€æã§ããŸããã 16/17
ãåãå
¥ããããšãã§ãã 16/17
é¢æ°ã«æž¡ãããåã«è©äŸ¡ããã®ã¯æ£ãããããŸããïŒå€§ãŸãã«èšãã°ãå
éšçã«ã¯å°ãè€éã§ãïŒã
ãã®æèã§ã¯ã ./
å€æŽã¯ç§ã®ãæ°ã«å
¥ãã®ããã§ãããéåžžã«åçãªå€æŽã«ãªãããšã¯ç解ããŠããŸãïŒ (/)
ãšæ¯èŒããå Žåãã«ãŠã³ãããªããšã .
åã«ç©ºçœãå¿
èŠã«ãªããŸãããšãã°ã 16 ./17
ããã 16./17
ã§16 ./17
ãããŸããã
çŸåšæå¹ãªcssãå£ãããšãå°ãªããã1ã€ã®ããšã¯ãèæ¯ã®çç¥åœ¢ã§ãã
background: url(image.png) 50%/300px no-repeat;
çŸæç¹ã§ã¯ãæåã«strictMathsãæ¡åŒµããããšã«è³æã ãšæããŸãã
ãªã
åå²
ã®äž
次ã«ã2.0.0ã®å Žåãããã©ã«ããé€ç®ã«èšå®ããŸã
ç³ãèš³ãããŸãããã2.0ããªãªãŒã¹ãããåã«ããã«å¿çããŸããã§ããã ããã¯è¯ãæ¬èœã ãšæããŸãã 裞ã®é€ç®æŒç®åã¯ãCSSã®å€ããšåã«ç«¶åãã人ã ãããå€ãã®CSS3æ©èœã䜿çšããã«ã€ããŠãŸããŸã競åããŸãã ãããŠãå€ãã®å Žåå¿ èŠã§ã¯ãªãã®ã§ããã¹ãŠã®æ°åŠã«æ¬åŒ§ãå¿ èŠãšããªããšãã人ã ã®åçºãç解ããŠããŸãã
@ seven-phases-max
16/17ãåãå ¥ããããšãèš±å¯ãããŠããå Žåãé¢æ°ã«æž¡ãããåã«16/17ãè©äŸ¡ãããšæ£ãããªããªããŸãã
å³å¯ã«èšãã°ãããã§ããããã¯çµ¶å¯Ÿã«æ£ããã§ãã ããã¯ãç¹ã«ã«ã¹ã¿ã é¢æ°ã®å Žåãé¢æ°ã«å°éããåã«è©äŸ¡ããªãã§ãã ããã ãã ãããããçã«ããªã£ãŠããå Žåã¯ãé¢æ°ããã®ãããªåŒæ°ãåŠçããããšãéžæã§ããããã«ããã®ãè³¢æã ãšæããŸãã ãããã£ãŠãpercentageã¯ããã¹ãåŒæ°ãšããŠ16/17ãåãåããpercentageé¢æ°ã¯ãã«ããŒé¢æ°ãåŒã³åºããŠããã¹ããæ°åŠã§ãããã©ããã確èªã§ããŸãã ããŒã»ã³ããŒãžã®å ŽåãåŒæ°ã¯ãããŸãã§ã¯ãããŸããã ããã§ã¯CSS3宣èšã¯ç¡å¹ã§ãã ãããã£ãŠãä»ã®ãŠãŒã¶ãŒå®çŸ©é¢æ°ãåãããã«åäœããå¯èœæ§ããããŸããæå¹ãªæ°åŠæ¹çšåŒã®åŒæ°ãè©äŸ¡ããããšãéžæããŸãã ãããã£ãŠããã®å Žåãå³å¯ãªèšç®ã«ãã£ãŠäºéæ¬åŒ§ãã匷å¶ãããããšã¯éããŸããã ããã¯ãå³å¯ãªæ°åŠã®èãæ¹ã«ããããã®åçºãåŒãèµ·ãããå¿ ç¶çã«ããã¹ãŠã®å Žåã«ãããŠåé·ã§ãªããã°ãªããªãããšã瀺åããŠãããšæããŸãã
--mathãªãã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã
ãããã£ãŠã-strict-math = trueãå»æ¢ãã-math = strictã®ãšã€ãªã¢ã¹ã«ããããšãã§ããŸãã
ãã ãããããçã«ããªã£ãŠããå Žåã¯ãé¢æ°ããã®ãããªåŒæ°ãåŠçããããšãéžæã§ããããã«ããã®ãè³¢æã ãšæããŸãã
ãããã¯ãã§ã«èš±å¯ãããŠããŸãïŒ percentage(16 / 17)
ãšpercentage((16 / 17))
ã--strict-math=on
ã©ã®ããã«æ©èœãããããã¹ãããã ãã§ãïŒã
ã©ã®é¢æ°ã䜿çšããŸãããïŒ
次ã«ãããŒã»ã³ããŒãžé¢æ°ã¯ãããã¹ããæ°åŠã§ãããã©ããã確èªããããã«ããã«ããŒé¢æ°ãåŒã³åºãããšãã§ããŸãã
ãã®æ¹æ³ã§ã¯ãã»ãšãã©ã®å Žåãç¬èªã®é¢æ°ã³ãŒãã1è¡ïŒïŒïŒã§ããã®ã«å¯Ÿããåé¢æ°ã«ã¯ãã®extra-helpers-conversion-arg-checking-smart-arg-handling-stuffã®æ倧20è¡ãå¿ èŠã«ãªãããã§ãã
åé¢æ°ã«ã¯20è¡äœåã«å«ããå¿ èŠããããŸããïŒ ã©ã®ããã«ç解ããŸããïŒ
ããŒã»ã³ããŒãžããã§ã«åäžã®æ¬åŒ§ã§å³å¯ãªèšç®ã§æ©èœããŠããå Žåã @ calvinjuarezã®åé¡ãç解ããŠããŸããã ããªãã¯ããªãã®å¿çã§ãåäžã®æ¬åŒ§ãéæã§ããªãã£ãããšãæ瀺ããŠããããã«èŠããŸããã
åé¢æ°ã«ã¯20è¡äœåã«å«ããå¿ èŠããããŸããïŒ ã©ã®ããã«ç解ããŸããïŒ
ããã¯å
žåçãªèªåŒµã§ãïŒå€å5ãå€å10ãå€å20 ...å®ã³ãŒã/è£å©ã³ãŒãã®æ¯ç-> 0
å Žåã誰ãæ£ç¢ºãªæ°å€ãæ°ã«ããã§ãããã ïŒå®çšçãªã¢ãããŒããåããšã NaN%
ãçæãã代ããã«ïŒä»ã®ããã«ïŒãšã©ãŒãã¹ããŒããã ãã§percentage(16 / 17)
åæ¢ããå€æãå®è¡ããããšã¯ããŸãã...ãã®æ¹æ³ã§ããŸã ã§ãã4è¡ã®äœåãªã³ãŒã-ãŸããå€ããå°ãªããåãå
¥ãããããšæããŸã:)
ç§ã®æåã®è¿çã¯ã圌ããã®16/17
-> (16/17)
å€æãïŒé¢æ°ã§ã¯ãªãïŒã³ã³ãã€ã©ãŒèªäœã«ãã£ãŠæé»çã«å®è¡ããããšæ³å®ããŠããããšãæ瀺ããŠããŸããã
ãªãã·ã§ã³ãšããã°ã å®ç§ãªäžçã§ã¯ãããã«å¯Ÿãããªãã·ã§ã³ã¯ãŸã£ãããªãããšã倢èŠãŠããŸãïŒã€ãŸãããããå¯äžã§ãããæ®ãã¯éæšå¥šãšããŠããŒã¯ãããæçµçã«åé€ãããå¿ èŠããããŸãïŒ...ãããã®è¿œå ãªãã·ã§ã³ã¯ãã¹ãŠã³ãŒãããŒã¹ãé-ä¿å®å¯èœ..å°ããªã¯ã³ã©ã€ããŒã®ä¿®æ£/å€æŽã§ããäºæž¬ããå¿ èŠã®ãããšããžã±ãŒã¹ã®æ°ãšãå®è¡ããå¿ èŠã®ãããã¹ãã¯ææ°é¢æ°çã«å¢å ããŸã...ïŒã»ãšãã©çç±ã¯ãããŸããïŒã
ç§ã¯ããã次ã®ãããªãã®ã«ãªãã ãããšæã£ãŠããŸããïŒ
percentage: function(...) {
Helper.convertMath(arguments); // a function that doesn't need it doesn't call it
// ... the rest
}
ãªãã·ã§ã³ãšããã°ã å®ç§ãªäžçã§ã¯ãããã«ã¯ãŸã£ããéžæè¢ããªãããšã倢èŠãŠããŸã
åæããŸãã ããããçæçã«ã¯ãªãã·ã§ã³ãå¿ èŠã«ãªããŸãã ç¹ã«ãå³å¯ãªæ°åŠãã¬ã¬ã·ãŒã®æ¯ãèãããéžè±ããŠããå Žåã¯ãªãããã§ãã ãããã¹ããŒããªæ°åŠããªãã·ã§ã³ãå®æãããã°ãäž¡æ¹ãšãéæšå¥šãšããŠããŒã¯ããããšãã§ããŸãã
Helper.convertMath(arguments);
arguments
ã¯æ¥œèŠ³çãããŸãã
ããããïŒ percentage
ã ãã§ãªãããšã«ãã圹ã«ç«ããªããã®ãæ°ããã ã
some: function(a, b, c) {
a = convert2number(a, "Error message when fails");
// b is not a number for example
c = convert2number(c, "Error message when fails");
}
ããããããã¯ç§ã®ãã€ã³ãã¯ãå®éã«ãç§ãæå³ããããšã¯ãããããã®ãããªãã®ã§ã¯ãããŸããã§ãããããã¯åžžã«ããéã/ãã®ãããªã³ãŒããæžãããã«ã誰ãæ°ã«å¯èœã§ãã£ã...ïŒæ°éå®ã®äŸå€ãé€ããŠã®ããã«ïŒ...
ãããç§ã¯ããªããååŸããŸãã
percentage(16 / 17)
ãšã©ãŒãã¹ããŒããã ã
確ãã«æ¹åã«ãªãã§ãããã ïŒ NaN%
ãæçšãªåºåã«ãªããšã¯æããããŸãããïŒ
ã©ã®é¢æ°ãåŒæ°ã«ã€ããŠè³¢ãããããšãããã«ã€ããŠã¯ããã¹ãŠãäºæž¬ããããšããçç±ã¯ãããŸããã @ matthew-deanã瀺åãããã«ããŒé¢æ°ã¯ãç¹å®ã®é¢æ°ãããã¹ããŒãã«ããããã«æ©èœèŠæ±ãè¡ãããè°è«ãããã®ã§ãããªãç°¡åã«å®è£ ã§ããŸãã
å®éãæåãããæ°åŠé¢æ°ã ããåŒæ°ã«ã€ããŠè³¢ããªããã°ãªããªããšæããŸãã
ç·šéïŒå®éã«ã¯ãæ°åŠé¢æ°ã«æž¡ãããåŒæ°ã¯1ã€ã ãã§ãã
ããã®ç¶æ³ã¯ã©ãã§ããïŒ LESSãç¡å¹ãªCSSããããã£ãæ°åŠãšããŠè§£æããããšããŠãããšããèŠæ
ãå¯ããããŠããŸãã äŸïŒ lost-column: 1/3;
ãã¬ãŒã¯ã
ãŸãã httpïŒ //www.w3.org/TR/css-grid-1/#grid-template-rowcolã¯LESSã§ã¯æ©èœããªãããã§ãã
誰ããããã«ããããåœãŠãããšãã§ããã®ã§ã誰ããæ瀺çã«LESSã䜿çšããŠããããã£ãé€ç®ãããããæ¬åŒ§ãªã©ã§ã©ããããå¿ èŠãããå Žåã¯ã©ãã§ããããã
@ corysimmons ïŒ2769ã§ãããèããŠãçããåŸãŸããã§ãããïŒ o_O
ãããæåã«èµ·ãã£ããšãã«ç§ãã¡ãè°è«ããªãã£ãããšã®1ã€ã æ¬åœã®æ°åŠã®å¯Ÿç«ã¯é€ç®ã ãã®ããã§ãã ãããŠãCSSã®ãåé¢ãæåãæ¬è³ªçã«ã転çšãããŠãããããåå²ã¯æ¬è³ªçã«åé¡ã§ãã
é€ç®ãããŸããŸãªæ¹æ³ã§ãã©ããããããããã¹ãŠã®æ°åŠãã©ãããããããã®ã§ã¯ãªãïŒãã®åé¡ã®æåã®è§£æ±ºçãšããŠïŒããªãç§ãã¡ãæçœãªããšã«ã€ããŠè©±ããªãã£ãã®ãçåã«æããŸãããããã£ãŠãæããã«aïŒã³ãŒãããããŸãã«ãªããbïŒç«¶åãçºçããŸãã
ãããæ¶åããæéãã§ããåŸãæ°åŠãæ¬åŒ§ã§å²ã¿ãŸããããšããããåãªãé€ç®ã§ãã£ãŠããæ°åŠããã§ã«æ¬åŒ§ã§å²ãŸããŠããå Žåã¯ã_still_ã«ãã£ãŠãããŸãããçããŸãã ïŒããã¯ãæ¬åŒ§ããæ°åŠã©ãããŒãã®ééã£ãéžæã§ããããšãæå³ããŠããå¯èœæ§ããããŸããïŒ
ã§ã¯ãé€ç®æŒç®åãšããŠ/
ãå»æ¢ããŠã¿ãŸãããïŒ ãããäžè¬çãªé€ç®èšå·ã§ããããšã¯ç¥ã£ãŠããŸãããCSSãæ¡åŒµããããã«Lessãè¡ã£ãæ§æäžã®ãã¬ãŒããªãã¯ä»ã«ããããŸãã ãããŠãåºæ¬çã«ãLessã«ãã£ãŠæåã«äœæãããåé¡ããåäžã®ã¹ã©ãã·ã¥ã䜿çšããŠåé¿ããããšããŠããããšã¯æããã§ãã ãããŸãããäœæãããããŸãããé転ãããããšããŠããŸãã
å ¬å¹³ãæãããã«ãä»ã®æ°åŠèšå·ã¯ãã¹ãŠCSSã®ä»ã®éšåã§åå©çšãããŸããããã¯ãæ°åŠã§ã®ãããã®äœ¿çšããããŸãããåŒãèµ·ãããªããšããããšã ãã§ãã
ç§ã¯ããã€ãã®ã¢ã€ãã¢ãææ¡ããã€ããã§ããããèŠããé€ç®ã®æšæºçãªä»£æ¿æåããã§ã«ãããŸãã ããŒããŒãã«ãªã÷
é€ããŠãç§ã¯ãããèŠã€ããŸããïŒ
é€ç®èšå·ãæ°åŠçã«ã¯æ¯çèšå·ãšåçã§ãããéåžžã¯ã³ãã³ïŒ:)ã§ç€ºããããistoããšèªã¿ãŸãã ãããã£ãŠãä»»æã®å®æ°xããã³ä»»æã®éãŒãå®æ°yã«å¯ŸããŠããã®æ¹çšåŒã¯æ¬¡ã®ããã«ãªããŸãã
x÷y = xïŒy
èšãæãããšïŒ
lost-column: 1/3; // value
lost-column: 1:3; // division
æ°åŠã§ã³ãã³ã䜿çšããã«ã¯ãããŒãµãŒãå°ã調æŽããå¿
èŠãããããšã¯ããã£ãŠããŸãããæ°åŠçã«ã¯æ£ããããã§ãã ç§ã¯ããè¯ã代çšåãäœãä»ã®ã·ã³ãã«ãèããããšãã§ããŸããã ãã¶ã|
ã2çªç®ã®éžæè¢ãšããŠïŒ ããããããã¯ãã£ãšæ£æçã§ãããã
èãïŒ
_ãããã¯_ã次ã®ããã«ãæ¬åŒ§ãæ¬åŒ§å ã®é€ç®èšå·ããµããŒãããããšãã§ããŸãã
lost-column: 1/3; // value
lost-column: 1:3; // division
lost-column: (1/3);
lost-column: [1/3];
ãããããããããã§ç§ã¯æåã«./
ããå§ããŸããïŒMatlabã®vector-divæŒç®åã«è§Šçºãããããã¯2ã€ã®èšå·ã§ãããèŠèŠçã«ã¯è»œéã®ãããã®ããã«ããããæã軜ãã§ããããããã®å°ç¡ããå°ãªããšããæèã§ã¯ããã§ã¯ãããŸããçŽ æŽãããã¢ã€ãã¢ïŒã
:
-ããã¯ãã€ãžãŒãããäžåºŠããã·ã¥ããŸãããã®ã·ã³ãã«ã¯ããŸãã«ãå€ãã®CSSã³ã³ããã¹ãã§äœ¿çšãããŠããŸãã å®éããã§ã«ççŸããæ§æããããŸãã
.foo(<strong i="9">@a</strong>: 1, <strong i="10">@b</strong>: 2) {
result: <strong i="11">@a</strong> @b;
}
bar {
<strong i="12">@b</strong>: 4;
.foo(<strong i="13">@b</strong>:3); // would mean both @second-parameter:3 and 4/3
}
@ Seven-phases-maxãããã¯ãããããŒã ããŒããŒãã ãã倧ããã£ãå Žåã ã¯ããé€ç®ã®2æåã®ã·ãŒã±ã³ã¹ã¯é¿ããããªãããã§ãã ã¹ã¬ããå
šäœãèªãã§ããä¹
ãã¶ãã ã£ãã®ã§ãå¿ããŠããŸããŸããã ./
ããã¯æ¬åœã«æªãã¯ãããŸããã ããªããš@lukeapageã®äž¡æ¹ã
èªã¿è¿ããŠããã®æç¹ãŸã§ïŒ
ããã¯ãŸããåã«ç©ºçœãå¿ èŠã§ããããŠã«ãŠã³ããããŸãã
.
ãäŸãã°16 ./17
ãªã16./17
åæãããã©ããããããŸããã ã¯ããæè¡çã«ã¯16.
ã¯æå¹ãªçªå·ã§ããã誰ãããã®ããã«æžãã®ã¯å¥åŠãªããšã§ãã 空çœãã©ããã«é¢ä¿ãªãã16ã17ã§å²ãå¿
èŠããããšæããŸãã
å®ç§ãªãªãã·ã§ã³ã¯ãããŸããããaïŒããã©ã«ãã§é€ç®ã«/
ã䜿çšããbïŒåžžã«æ¬åŒ§ãå¿
èŠãšãããããåªããŠãããšæããŸãã ïŒéå»ã®ç§ã®ç«å Žã«ãé¢ããããç§ãããã§ããç¹ã«ä»ã®æ¬åŒ§å
ã§ã¯ãããã¯äžçš®ã®è¿·æã§ããç¹ã«ãç§ã®ç¥ãéããé€ç®ã®ããã«ã®ã¿å¿
èŠãªããã§ããã¯ãïŒïŒ
空çœãã©ããã«é¢ä¿ãªãã16ã17ã§å²ãå¿ èŠããããšæããŸãã
ã¯ãã確ãã«ã
ãã£ãšèããŠã¿ããšã ./
ãããŒãµãŒã«è¿œå ã®ããªãã¯ãå ããããšãæåŸ
ããŠããŸãïŒæ°å€è§£æã¯./
åã«åæ¢ããããã«è¿œå ã®æ³šæãå¿
èŠã§ãããçŸåšã¯åžžã«.
çµãããŸãïŒã
ãããŠç¹ã«ãç§ã®ç¥ãéããããã¯é€ç®ã®ããã«ã®ã¿å¿ èŠãšãããããã§ãã ã¯ãïŒïŒ
ã¯ããæ£ç¢ºã«ã calc
å
ã®ã³ãŒãã¯æ°ããŸããããããã«ã€ããŠã¯ã @ lukepageã«ãã£ãŠææ¡ããã解決çã§ããŸãããã¯ãã§ãã
ïŒæè¡çã«ã¯ãå°æ¥ãCSSã«ã©ãŒæäœé¢æ°ã®æ§æãç¶æããå Žåã +, -, *
ããã«ãããŸãã«ãªãå¯èœæ§ããããŸãããå€ã* 20%
圢åŒã§ãããããããã¯ããã»ã©åçã§ã¯ãããŸããïŒãããã£ãŠããããã¯æããã«è©äŸ¡ã®äœãexprãšããŠæ€åºã§ããŸãïŒãçŸåš(* 20%)
ãããªå€ã¯è§£æãšã©ãŒãåŒãèµ·ããããããããã®ãã¹ãŠã®æ¥œãã¿ã¯ãšã«ãã解æã®å€æŽãå¿
èŠã«ãªããŸãïŒã
å€å...ç§ãã¡ã¯ããã«ã€ããŠãã¹ãŠééã£ãŠè¡ã£ãŠããŸããã ïŒç§ã¯ãå³å¯ãªæ°åŠãæ©èœã®æåã®ç±å¿ãªæ¯æè ã ã£ãã®ã§ãééããªãç§ããã®äžã«å«ããŸããïŒ
ç§ãã¡ã¯æ°åŠãæ®éçã«æ©èœãããããšããŠããŸãããå®éã«ã¯ããããå¿ èŠã¯ãããŸããã ã€ãŸããæ°åŠãå®è¡ããŠã¯ãªããªãããšãæãããªå Žåã«ãæ°åŠãå®è¡ããããšããŠããŸãã
calc(100% - 10px)
äŸãæãæçœãªäŸã§ãã ãŠãããããã£ã¹ãããªãéããå®è¡ã§ãã/å®è¡ãã¹ãLessèšç®ã¯ãããŸãããããã¯ãLessãããã©ã«ãã§å®è¡ãåæ¢ããããšã«åæããŸãã 1
äŸãšããŠäœ¿çšãããŠãããã©ã³ãã®çç¥åœ¢ããããã£ãèŠãŠã¿ãŸãããã
font: italic small-caps normal 13px/150% Arial, Helvetica, sans-serif;
font: italic bold 12px/30px Georgia, serif;
ããã«å¯ŸããçŸåšã®åé¿çã¯ããã©ã³ãããããã£ã®strict-math: on
ãæå¹ã«ããããšã§ãã ããã...ãªãLessã¯ããããèšç®ãè¡ãå¿
èŠãããã®ã§ããããã 確ãã«ã 13px/150%
ã¯æ°åŠã§ã¯æå¹ãªã¹ããŒãã¡ã³ãã§ãããLessã§ã¯æå¹ãªãã®ãšããŠæ±ãã®ã劥åœã§ããïŒ 12px/30px
ããªãã¯æå¹ãªæ°åŠã¹ããŒãã¡ã³ããšããŠæ±ãããšãã§ããŸããããããã¹ãã§ããïŒ 2
ã€ãŸããLessã§ã¯ãåäœã®æ°åŠæŒç®ã¯ãåäœã§ã¯ãªã_integers_ãš_floats_ã«ãã£ãŠå®è¡ããå¿ èŠããããŸãã ç§ãã¡ã¯ã人ã ãå®éã«ãã®ããã«æ°åŠãæžããŠãããã®ããã«ãããããæå¹ãªæ°åŠã¹ããŒãã¡ã³ããšããŠæ±ã£ãŠããŸãã ãããããããã©ã®ããã«çå®ã§ãããã¯ããããŸããã
ã€ãŸãã誰ãã«13px/150%
ã13px/1.5
ãšæžãããã«èŠæ±ããã®ã¯åççã§ãã ãŸãã 12px/30px
ãæ°åŠæŒç®ãšããŠæå³ããªããªããšããäºå®ãç¡èŠããŠãããããæå³ããªããªãããšãç¥ãå¿
èŠã¯ãªãã font
ããã¯ã€ããªã¹ãã«ç»é²ããå¿
èŠããããŸããã ã å°ãªãäœè
ãæ°åŠæŒç®ãããŠããå Žåã圌ãã¯ããã12px/30
ãšåççã«æžããŠããã§ãããã ãããåççã§ããã ãã§ãªãã_圌ãããããããããã©ã®ããã«æžããŠããã_ã§ããå¯èœæ§ãéåžžã«é«ãã§ãã
ããã¯ã¹ã€ã³ãäœæãããã1ã€ã®ãããã¯å ã§æ¬¡ã®ãããªãã®ã䜿çšãããããããšã¯ããããããšã§ãã
width: <strong i="5">@size</strong> / 2;
height: <strong i="6">@size</strong> / 2;
ãªãç§ã¯ããããã®ããã«æžãã®ã§ããããïŒ _誰ã§ã_ãã®ããã«æžããŠããŸããïŒ
width: <strong i="10">@size</strong> / 2px;
height: <strong i="11">@size</strong> / 2px;
@size
ãpx
åäœã§ããå Žåãæäœ_sort of_ã¯æå³ããããŸãããããã«ãããããããLESS / CSSã®é åã§ã¯ãé€æ°ãåŸè
ã®å Žåã«æ°åŠãå®è¡ããããšããããšã¯ããŸãæå³ããããŸãããã¯åäœä»ãã®å€ã§ãã 2ã€ç®ã¯æ°åŠã®ããã«ã¯èŠããŸããã CSSå€ã®ããã«èŠããŸãã
ä¹æ°ãé€æ°ãåäœã®å€ã§ãããšãã«ãä¹ç®ãé€ç®ïŒãããŸããã®ããã«é€ç®ã ãã§ãªããè«ççãªäžè²«æ§ã®ããã«ãä¹ç®ïŒã®æ°åŠæŒç®ããããã°ããã®åé¡ã¯ã»ãšãã©ãªããªããšæããŸãã å¯Ÿç §çã«ãåäœã¯è¶³ãç®ãšåŒãç®ã«ã¯è«ççã§ãããããããå¿ èŠã§ã¯ãããŸããïŒãããçŸåšã®æ¹æ³ã§ãïŒã
<strong i="18">@pad</strong>: 2px;
width: 10px + @pad;
ãã ããããå€ãšåäœãå¥ã®å€ã«å ç®/æžç®ããå ŽåãLessã¯ããããã®ãŸãŸã«ããŠããå¿ èŠããããŸãã
<strong i="22">@val1</strong>: 100%;
<strong i="23">@val2</strong>: 10px;
width: calc(<strong i="24">@val1</strong> - @val2);
// output
width: calc(100% - 10px);
å ç®/æžç®ïŒãŸãã¯æŽæ°/æµ®åå°æ°ç¹æ°ïŒã«äžèŽããåäœãèŠæ±ããåäœã«å¯Ÿããæ°åŠæŒç®ã§æŽæ°/æµ®åå°æ°ç¹æ°ãèŠæ±ããïŒåäœãä¹ç®/é€ç®ããªãïŒãšã99ïŒ ã®ãããŸããã解決ãããæ°ããèšå·ããªããŠãæå¹ãªæ°åŠæŒç®ãå¯èœã«ãªããŸãã
ããšãã°ããããã®ã«ãŒã«ã«åºã¥ããŠãèæ¯ã®çç¥åœ¢ã¯åé¡ãããŸããã
background: no-repeat 10px 10px/80% url("../img/image.png");
%
ã¯CSSãŠãããã§ãã px
ã¯å¥ã®CSSãŠãããã§ãã ãããã£ãŠãæ°åŠã¯ãããŸããã ç¹å¥ãªäŸå€ã¯ãŒãã§ãã
background: no-repeat 0 0/80% url("../img/image.png");
誰ãããŒããå¥ã®æ°å€ã§é€ç®ããŠããããŸãã¯æ°å€ããŒãã§é€ç®ããŠããããã«èŠããå Žåã¯ããã®ãŸãŸå®å šã«åºåã§ãããšæããŸãã
å¢çååŸãåãããšïŒ
border-radius: 30% / 20%;
å°ãªããšãã¹ã«ãªããŸãã 誰ããæ°åŠãããã€ãããªãããããæžãé©åãªæ¹æ³ã¯æ¬¡ã®ããã«ãªããŸãïŒ
border-radius: 30% / 0.2;
border-radius
äŸã®ããã«ãæå¹ãªCSSå€ã«ã¯äž¡åŽã«åäœãå¿
èŠã«ãªãããããããã®åºå¥ãè¡ãããšã§ãæ°åŠæŒç®ãCSSå€ã«ããããšã¯ã§ããŸããã éè€/ãããŸããã¯ãããŸããã
ç§ãèããããšãã§ãã1ã€ã®ã±ãŒã¹ãè¶ ããŠãã ããããããŠä»ã®ãã®ããããããããŸããïŒ
font: 10px/1.5;
è¡ã®é«ããåãªãæ°å€ãšããŠè¡šãããšãã§ããŸãïŒéåžžã¯ããããå¿
èŠããããŸãïŒã ïŒãããããããããã©ã³ãã®çç¥åœ¢ã䜿çšããã¹ãã§ã¯ãããŸãããïŒããããããã1ã€ã®ã±ãŒã¹ã«æžãããå Žåãããã¯ããªãè¯ãããšã§ãã font
ïŒãã©ã³ãå€å
ã®å
éšé¢æ°ãé€ãïŒã«å¯ŸããŠå³å¯ãªèšç®ããªã³ã«ããããšã¯ãåé¡ã®ãªã解決çã§ãã ïŒããè¯ããã®ããããã©ããã¯ããããŸããããæ©èœããŸããïŒãããã®ãã©ã³ãã®çç¥åœ¢ã®å€ã¯éåžžãã€ã³ããŒããããUIã¹ã¿ã€ã«ã©ã€ãã©ãªãCSSãªã»ããããŸãã¯ã«ã¹ã¿ã ãã©ã³ãã¹ã¿ã€ã«ã·ãŒãã«è¡šç€ºããããããæã害ã®å°ãªããœãªã¥ãŒã·ã§ã³ã§ãã
ãããã£ãŠãå³å¯ãªæ°åŠã®äœ¿çšã¯ãŸã ãããŸããããããã®å€æŽã«ãããããã»ã©ã§ã¯ãªããå°æ¥çã«ã¯ãªãã·ã§ã³ãšããŠå¿ èŠãªããªãå¯èœæ§ããããšæããŸãã
ã®ã£ã©ãªãŒã®åç/ã³ã¡ã³ããæè¿ããŸãã
1 _ç§ã¯ã@ ã³ã¡ã³ããšããããžã®@ Seven -phases-maxã®ãªã³ã¯ãããã®æ¹åã«ç§ãèãããããããã®ã§ããããšãæ確ã«ããå¿
èŠãããããšã«æ°ã¥ããŸããã
2 _äŸãèŠãªããç解ããããã«ããã©ã³ãã«å¯ŸããŠstrict-mathããªã³ã«ããããšã¯é¿ããããªã解決çãããããŸããããæ®ãã®ããžãã¯ã¯åœãŠã¯ãŸããšæããŸãã_
ããã€ãã®æŽå²çãªæèã®ããã«ãLess.jsãæåã«ãªãªãŒã¹ããããšãã®ãŠãããã®ãã£ã¹ãã¯ããã»ã©åé¡ã§ã¯ãªãã£ãããšã«æ³šæããããšãéèŠã§ãã calc()
ã¯å®è£
ãããŠãããã background
ãšborder-radius
ã¯æå¹ãªå€ãšããŠã¹ã©ãã·ã¥ããããŸããfont
ãç©äºãã€ãŸããããå¯äžã®å Žæã ã£ããšæããŸãïŒç®èãªããšã«ãããã¯ãŸã ããã§ãããããããŸããïŒã
ç§ã®å¯äžã®æžå¿µã¯å®è£
åŽã§ããããšãã°ã calc(4px + 2rem + 20%)
ïŒå®éã®åäœã¯é¢ä¿ãããŸããïŒã®å Žåãæåã®å ç®ã¯ãã¯ãæ°å€ã§ã¯ãªãçµæã«ãªãããã2çªç®ã®å ç®ãã³ãã©ãŒã¯ãã®å
¥åããšã©ãŒãã¹ããŒããå¿
èŠãããnot-a-number + 20%
ã¹ããŒãã¡ã³ãã ãããã倧ããªåé¡ã§ã¯ãããŸãããïŒäœåãªã¿ã€ã/ã¿ã€ããã©ã°ãè¿œå ããããšã§è§£æ±ºã§ããŸãïŒãããã§ã調æ»ãå¿
èŠã§ãã
ãããŠãä»ã®æžå¿µã¯ãããŒãšã確ãã§ã¯ãªãããå®å®æ§ãã§ããïŒ ã€ãŸããæ瀺çãªæ°å€ã®å Žåãçµæã¯éåžžã«æ確ã«èŠããŸãããå€æ°ã®å Žåãçµæã¯éåžžã«ãããŸãã«èŠãå§ããŸããäŸïŒ border-radius: 10px <strong i="8">@a</strong> / <strong i="9">@b</strong> 30px;
- @a
ãš@b
ã衚瀺ããããŸã§ããããäœãæå³ããã®ãããããŸããã
ãããŠãã¯ãã font
ãŸã åé¡ã®ãŸãŸã§ãïŒä»ã®éèšããããã£ã¯äž¡åŽã§ãŠãããã䜿çšããŠããããã§ããã次ã«äœãèµ·ãããããããŸããïŒïŒ2769ã®ãããªãã®ãæ°ããŸãïŒ... A font
ãããªããã€ãã®ã°ããºããããåã³å£ããŠããããã«èŠããŸãïŒã
PSãã1ã€ã®åé¡ïŒãããããã€ããŒãªååž°ïŒæ¬¡ã®ãããªå€ããããŸãïŒ
border-radius: 10px / auto;
border-radius: 1px inherit / 2px;
background: ... center / 80% ...;
// etc.
ã€ãŸãããã¹ãŠãæ©èœããããã«ã¯ãçŸåšã®incompatible-div-operand-errorsãç¡å¹ã«ããŠã foo/bar
ã 1x/bar
ãããã³foo/1x
ãw / oaãééã§ããããã«ããå¿
èŠããããŸãããšã©ãŒã
ç§ã®å¯äžã®æžå¿µã¯å®è£ åŽã§ããäŸïŒcalcïŒ4px + 2rem + 20ïŒ ïŒã®å ŽåïŒå®éã®åäœã¯é¢ä¿ãããŸããïŒ
ãããç§ãèšã£ãŠããããšã§ãã å®éã®åäœãéèŠã§ãã é¢ä¿ãªããããããã®ãŸãŸã«ããŠããã¹ãã§ã¯ãããŸããã 4px + 2rem
ã¯ãã©ãŠã¶ã§ã¯æå³ããããŸãããLessã§ã¯æå³ããããŸããã ãããæå³ããªããªããšãã«ãããè¿œå ããããšããçç±ã¯ãªãããããã®ã¢ããªã³ã®åé¡ãåŒãèµ·ãããŸãã
äŸïŒ
border-radius: 10px <strong i="10">@a</strong> / <strong i="11">@b</strong> 30px
; -@a
ãš@b
å®çŸ©ã衚瀺ããããŸã§ããããäœãæå³ããã®ãããããŸããã
ããã¯ãã¹ã¿ã€ã«äœæè ãèªåèªèº«ããä¿åã§ããªãå Žåã§ãïŒæåã®äŸãšåãã§ããã誰ããå®éã«äœããã®çç±ã§ãã¯ã»ã«ã«ã¬ã ãè¿œå ããããšããå ŽåïŒã 誰ããèªåã®LESSã³ãŒããèšè¿°ããŠãåŸãã®ãæ··ä¹±ããå¯èœæ§ã®ãããããããçš®é¡ã®æ¢åã®äŸããããšç¢ºä¿¡ããŠããŸãã ããã¯ã©ãã«ã§ãååšããŸãã
ç§ãææ¡ããŠãããããã®æ°åŠã®ã«ãŒã«ã§ãèæ
®ããŠãã ããïŒ
calc(4px + 2rem - 2px)
ãããcalc(2px + 2rem)
ãšããŠèšç®ããããšã¯ã§ããŸãããããã¯å®éã«ã¯å®å
šã«åé¡ãªããå®éã«ã¯æ£ããå€ã®åºåã§ãã çŸåšãLessã¯ãããcalc(4px)
ãšããŠèšç®ããŸãããããã¯æ£è§£ã§ãæçšãªçãã§ããããŸããã ïŒã¯ãããŠããããåé€ããå Žåã¯çŸåšæ£ããã§ããããŠãããã¯ç¡æå³ã§ã¯ãªããããã€ãã®å Žåãé€ããŠãçžäºéçšæ§ã¯ãããŸãããïŒLessã¯2px + 100%
ã102px
ãšããŠèšç®ããŸãããã®çµæã誰ããããçµæãšããŠæãã§ããªãå¯èœæ§ãããå Žåã
ãã¹ãŠãæ©èœããããã«ã¯ãçŸåšã®incompatible-div-operand-errorsãç¡å¹ã«ããŠãfoo / barã1x / barãããã³foo / 1xãw / oaãšã©ãŒãééã§ããããã«ããå¿ èŠããããŸãã
ç§ã¯ãããå®éã«ãããæ±ãæãæ£çŽãªæ¹æ³ã ãšæããŸãã é¢æ°ãšåæ§ã«ãLessã®çµæããªãå Žåã¯ãééããå¿
èŠããããŸãã /
ã¯è€æ°ã®ããããã£ã®å€ã®æå¹ãªåºåãæåã§ãããããç¹å®ã®ããããã£ã®ãã¯ã€ããªã¹ãã«èšèŒãããå€ãè¿œå ããªãéããLessã¯ãããæå¹ã§ãªãããšãç¥ãããšãã§ããŸããã ïŒããããïŒãã®æç¹ã§ãçµæã¯æ²åçã§ã¯ãããŸããã ãã¹ã¹ã«ãŒå€ããã©ãŠã¶ã§ç¡å¹ã§ããå Žåãããã¯èŠèŠçã«æããã§ãã å€ãæå¹ãªå Žåã¯ãLessãããããªãããã«ãšã©ãŒãã¹ããŒããããããå€ããã©ãŠã¶ã«æž¡ãããšããæ¹ãããããã§ãã
calcïŒ2px + 2remïŒãšããŠèšç®ã§ãã/èšç®ããå¯èœæ§ãå°ãªã
ããã«ã¯ãããéãã«ãªãæ°ããæé©ååŒãã³ãã©ãŒãå¿
èŠã«ãªãããã決ããŠãããªãããšã¯ãããŸããïŒåºæ¬çã«ã 4px + 2rem - 2px
ã¯(4px + 2rem) - 2px
ãšããŠããªãŒã«æ ŒçŽãããããã 2px + 2rem
ãååŸããŸãïŒ 4px + 2rem - 2px
ããã®ãŸãŸã«ããŠããããšã¯åé¡ãããŸããïŒåŸ4px - 2px + 2rem
ãå®è¡ãããšããã¹ãŠæé©åãããŸãïŒã
ããããç§ããã®çºèšã§å®éã«æå³ããã®ã¯ã次ã®ãããªãã®ã§ãã
foo / barã1x / barãfoo / 1xãw / oaãšã©ãŒãééã§ããããã«ããŸãã
ã€ãŸããexpr.evaluatorã®(4px + 2rem) - 2px
ã¯foo + 2px
ã«äŒŒãŠããã®ã§ãæ©èœããããã«ã¯ããã®ãããªãã®ã§ããšã©ãŒãçºçããããšã¯ãããŸããã
å®éãç§ã¯foo/bar, 1x/bar, foo/1x
ããã¹ããããšã©ãŒãªãã§ãã§ã«åæ ŒããŠããŸãïŒå¥åŠãªããšã«ãã¹ããŒãããšæã£ãŠããŸããïŒããä»ã®æŒç®åã¯ããããçš®é¡ã®å¥åŠãªçµæããããããŸãïŒãã ããå®éã«ã¯éèŠãªããšã¯äœããããŸãããããããã®ã±ãŒã¹ãä¿®æ£ããã ãã§ããäžã€ãã€ïŒã
ããã«ã¯ãããéãã«ãªãæ°ããæé©ååŒãã³ãã©ãŒãå¿ èŠã«ãªãããã決ããŠãããªãããšã¯ãããŸããïŒåºæ¬çã«ã4px + 2rem-2pxã¯ããªãŒã«ïŒ4px + 2remïŒ-2pxãšããŠæ ŒçŽãããããã2px + 2remãååŸããã«ã¯ãã¹ãŠã®æå¹ãªã·ã£ããã«ãè©Šè¡ããããã®äžŠã¹æ¿ããšã³ãžã³ã«ãªãããšïŒãã®ç¹å®ã®ã±ãŒã¹ã§ã¯ç°¡åã§ããããªãã©ã³ã/æŒç®åãå¢ãããšéåžžã«è€éã«ãªããŸãïŒã
ãªãã·ã£ããã«ããã®ã§ããïŒ åãåªå
é äœã¬ãã«ã§æŒç®åããã©ããåãïŒãããã£ãŠãããªãŒã¯Sum(4px, 2rem, -2px)
ïŒãäºææ§ã®ããåäœã§çšèªãåéãïŒãããããäºåã«åäœãæ£èŠåããããšã«ãã£ãŠïŒãåéšåãåçŽåããŸãã ããã¯èšå·ä»£æ°ã§ãããåäœã¯ç¬ç«å€æ°ãšããŠæ±ãããŸãã
ç§ã¯ãããèªåã§æžãããã®ã§ããããããããããããã¹ããããå®æããå¯èœæ§ãé«ãã©ã€ãã©ãªã
ãã€ã³ãã¯ãããã解決ããã®ã¯ç°¡åãªåé¡ã§ã¯ãããŸããããããäžè¬çãªåé¡ã¯ãã§ã«ããªãããŸã解決ãããŠããããã®ãããªãµãã·ã¹ãã ã¯ä»ã®æ¹æ³ã§Less.jsã«åœ¹ç«ã€å¯èœæ§ããããŸãã
åãåªå é äœã¬ãã«ã§æŒç®åããã©ããåããŸãïŒãããã£ãŠãããªãŒã¯SumïŒ4pxã2remã-2pxïŒïŒã
ãããŠãããåŒããªãŒãå®éã«ãã©ããåå¯èœã§ãããšèããã³ãŒããæ£ç¢ºã«äœæããã®ã¯äœã§ããïŒ ïŒã€ãŸããç§ã®ãèŠãã¿ãã¯ãç¹å®ã®æ§é€ã¢ã«ãŽãªãºã ã«ã€ããŠã§ã¯ãªããããã©ããåããå«ãããã¹ãŠãè©Šããããã®ã·ã§ãŒãã«ããã§ãïŒã
ãããããããããããããã¹ããããå®æããå¯èœæ§ãé«ãã©ã€ãã©ãªããããããããŸãã
ããªããæ¬æ°ãã©ããã¯ããããŸããã ãããã£ãŠãLessããªãŒãå€éšã©ã€ãã©ãªããªãŒã«å€æããŠå
ã«æ»ãïŒãããã®JSã©ã€ãã©ãªã®ããããCSSãŠããããåŠçã§ããªãããšãé€ããŠïŒãã¹ãŠã®ã³ãŒãã¯ãå®éã«æé©åããç¹å®ã®4px + 2rem - 2p
ã±ãŒã¹ã®äŸ¡å€ããããšæããŸããïŒ ããŒã...
ã ããããŸã£ããåé¡ãããŸããïŒç§ã¯ããã決ããŠäŸ¡å€ããªããšããã ãã§äžå¯èœã ãšã¯èšããŸããã§ããïŒ-è©ŠããŠã¿ãŠãPRã¯å€§æè¿ã§ãã
ïŒãŸããããããéèŠãªå Žåã«åããŠãéšååŒã®æé©åã¯ããã®ãã±ããã®ç®æšã§ãããªããäžäœ3ã€ã§ããªãããšã«æ³šæããŠãã ããïŒã
ãããŠãããåŒããªãŒãå®éã«ãã©ããåå¯èœã§ãããšèããã³ãŒããæ£ç¢ºã«äœæããã®ã¯äœã§ããïŒ ïŒã€ãŸããç§ã®ãèŠãã¿ãã¯ãç¹å®ã®æ§é€ã¢ã«ãŽãªãºã ã«ã€ããŠã§ã¯ãªããããã©ããåããå«ãããã¹ãŠãè©Šããããã®ã·ã§ãŒãã«ããã§ãïŒã
ããŒãµãŒã¯ãã³ã³ããã¹ãããé·ãããªã©ã§ãããã©ãããããã³ãµãããªãŒããé·ãããšããŠè§£éã§ãããã©ãããå€å¥ããŸãã
ããªããæ¬æ°ãã©ããã¯ããããŸããã ãããã£ãŠãLessããªãŒãå€éšlibããªãŒã«å€æããŠå ã«æ»ãããã®ãã¹ãŠã®ã³ãŒã
æ§æããªãŒã«è§£æããå¿ èŠããããŸãã ããããã代æ°åŒãè¡šãæååãåºåããã®ã¯æ¯èŒçç°¡åã§ãã æ»ãã®ã¯é£ãããããããŸãããæååããå床解æããå¿ èŠããããããããŸããããããã¯ãããã§ããå€éšã©ã€ãã©ãªã®ããªãŒãååŸããå¿ èŠããããããããŸããã é£æ床ã¯ãéžæããã©ã€ãã©ãªã«ãã£ãŠç°ãªããŸãã
ïŒãããã®JSã©ã€ãã©ãªã®ã©ããCSSãŠããããåŠçã§ããªãããšãæ°ããŸããïŒ
åäœã代æ°å€æ°ã«å€æããã ãã§ãã åŒãèšå·åœ¢åŒã®å Žåã§ãã眮æïŒ mm
-> px
ïŒãå®è¡ã§ããŸãã
æé©åããç¹å®ã®4px + 2rem-2pã±ãŒã¹ã®äŸ¡å€ã¯å®éã«ãããŸããïŒ
ç§ã¯åŒã®æé©åã®ããã®ä»£æ¿æ¡ãäœæããŠããŸããããã¯ïŒLessèªèº«ã®ã³ãŒãã解決ããªããã°ãªããªãã¢ã«ãŽãªãºã ã®åââé¡ãšããŠïŒããã»ã©é£ãããªããããªããèšã£ãããšãããäžè¬çã«æçšã§ãã
代æ°ã®åçŽåã¯ãæ¬åŒ§ã§å²ãŸããéšååŒã䜿çšããŠåé¡ã解決ããLessãããå€ãã®ãã·ãŒãªæ©èœãè¿œå ã§ããããã«ããŸãã
è©ŠããŠã¿ãŠãPRã¯å€§æè¿ã§ãã
è©ŠããŠã¿ãŸãã ç§ã¯ä»æ¥Lessã調ã¹å§ããã°ããã§ããããžã§ã¯ããå®äºããã®ã«åé¡ãããã®ã§ãããããPRãåºãªãããšãèªããŸãã
ãŸãã念ã®ããã«ãéšååŒã®æé©åã¯ãã®ãã±ããã®ç®æšã§ãããªããäžäœ3ã€ã§ããªãããšã«æ³šæããããšãããããéèŠã§ãã
ç¥ã£ãŠããã ç§ã¯ãã®çç±ã®1ã€ã§ããã«ããŸããã ãªããã®ãããªãã¿å·ïŒ
ãªããã®ãããªãã¿å·ïŒ
ãããšãå€å.ââ..ãããããªã-ç§ã®è¬çœªïŒç§ã¯åªåãšæéã«ã·ã§ãã¯ãåããããŠã誰ããã»ãšãã©ååšããªãcalc(4px + 2rem - 2px)
åé¡ã解決ããããã«å°å¿µããæºåãã§ããŠããããã§ããããããç§ãã¡ã¯éåžžã«ç°ãªãæŠå¿µãæã£ãŠããŸã軜éæ§ã®ïŒã
ãããŠãLessãããå€ãã®ãã·ãŒæ©èœãè¿œå ã§ããããã«ããŸãã
ããã€ãæããŠããã ããŸããïŒ
ã»ãšãã©ååšããªã
calc(4px + 2rem - 2px)
åé¡ã解決ãã
ã¯ïŒ å°ãªã人ã¯ããããŸã£ããåŠçã§ããŸããã [察åŠãããŠããå 容ã誀解ãããããæ®ãã¯åé€ãããŸãã]
ææ¡ãåçŽå/èšãæããã«ã¯-æ°åŠã®å€æŽã¯æ¬¡ã®ããã«ãªããŸã
1px + 2px = 3px
ã 1px + 1vh = 1px + 1vh
10px/2 = 5px
ã 10px/5px = 10px/5px
1/3 = 1/3
1px + 2vh / 2 = 1px + 2vh / 2
ãã®ææ¡ã¯ãïŒãã®ã¹ã¬ããããïŒä»¥äžã解決ããŸãã
font: 10px/5px
ããã³åæ§ã®ïŒæ¯çïŒæ§æïŒèšç®ãªãïŒcalc(100vh - 30px)
ïŒèšç®ãªãïŒlost-column: 1/3
ããã³åæ§ã®ã«ã¹ã¿ã æ¯çæ§æïŒèšç®ãªãïŒåæã«ããããã®å€æŽã«ãããéåžžã®æ°åŠã®äœ¿çšéã®99ïŒ
ãç¶æãããŸãã åæ§ã«ãæ¢åã®unit()
ããã³convert()
é¢æ°ã䜿çšãããšããŠãŒã¶ãŒã¯æ°åŠã®äºææ§ã®ããåäœã«å€ããã£ã¹ãã§ããŸãã
å°ãªã人ã¯ããããŸã£ããåŠçã§ããŸããã
ããªãã¯ç§ãš@leewzãäžã§è©±ããŠããããšãèªãã§ããŸããcalc(100vh - 30px)
ãšã¯äœã®é¢ä¿ããããŸããcalc
ç®è¡åŒãæé©åããããšãã ãã«è¡ããŸãã
@ seven-phases-maxããããã ãã ãããã ããããæé©åããå¿ èŠã¯ãããŸããã ãã€èšç®ããããèããŠãã ããã
ãã®åé¡ã¯ãæè¿ã®ã¢ã¯ãã£ããã£ããªããããèªåçã«å€ããã®ãšããŠããŒã¯ãããŠããŸãã ãã以äžã®ã¢ã¯ãã£ããã£ãçºçããªãå Žåã¯éããããŸãã è²¢ç®ããŠããã ãããããšãããããŸãã
åé¡ã¯äŸç¶ãšããŠéèŠã§ãããCSSãé²åããã«ã€ããŠæªåããã ããªã®ã§ãã¹ã¬ãŒãã©ãã«ãåé€ããŸãã
@ matthew-dean
ããã§æªéã®ä»£åŒè
ãæŒããã€ããã§ã...
12px/30px
ããªãã¯æå¹ãªæ°åŠã¹ããŒãã¡ã³ããšããŠæ±ãããšãã§ããŸããããããã¹ãã§ããïŒ
ã¯ã; ããªãããã¹ãã äž¡æ¹ã®ãµã€ãºã®æ¯çãè¡šãã¹ã«ã©ãŒå€ãèšç®ããŸããããã¯ãemåäœã«å€æãããšãã«éåžžã«åœ¹ç«ã¡ãŸãã
æ¢ç¥ã®åºæ¬ãã©ã³ããµã€ãºã16pxã§ãæ¢ç¥ã®èŠåºããµã€ãºã24pxã§ãã©ã¡ããå€æ°ã«é ããŠãããšããŸãã次ã«ãç¹å®ã®ãã¬ãŒããŒã®èŠåºããæ£ãããã©ã³ããµã€ãºã§ããã ãemåäœã§å²ãåœãŠãããšããŸãã
@fontsize-body : 16px;
@fontsize-heading : 24px;
// ( ... and then somewhere else ... )
.heading {
font-size : unit(@fontsize-body/@fontsize-heading, em);
// Or if dividing compatible unit values is produces a unit-less scalar
// value ( as it really _should_ -- mind you... ), you could prefer:
font-size : @fontsize-body/@fontsize-heading * 1em;
}
ãŸããäºææ§ã®ããåäœã®é€ç®ãæ°åŒãšããŠãµããŒãããå¿ èŠãããå Žåã¯ãã±ãŒã¹ã®åååãã«ããŒããããã«ããªãã©ã«CSSãå°ãªãæ°åŒããæ確ã«ããæ¹æ³ãåŒãç¶ããµããŒãããå¿ èŠããããŸãã
åœç¶ã®ããšãªãããããã«ã¯ãæ¬åŒ§ã䜿çšããŠæ°åŒã匷å¶ããããã©ã«ãã§CSSãªãã©ã«ã䜿çšããããšãå«ãŸããå¯èœæ§ããããŸãã ããããããã¯ééã£ãŠããããšã©ãŒãçºçããããããã§ãã border-radius
ãfont
éèšãªã©ãäºåã«äœæãããå€ãã®ç¹æ®ãªã±ãŒã¹ãå¿
èŠã§ãããLessã¯ããããç¶ç¶çã«ææ°ã®ç¶æ
ã«ä¿ã€å¿
èŠããããŸãã ïŒé€ç®èšå·ã§åãåé¡ãçºçããæ°ããã°ãªããããããã£ã®ããã€ãã§ç€ºãããŠããããã«ãïŒ
ãã...
æšè«ãè£è¿ããŠã¿ãŸãããïŒ äœããæ°åŒã®ããã«èŠããäºææ§ã®ããåäœãããå Žåãããã©ã«ãã§ã¯æ°åŒãšããŠæ±ãããŸãã ãããŠãããªãããããèµ·ãããããªãã®ãªã...ãŸã; 次ã«ã ~"..."
ãšã¹ã±ãŒããããã䜿çšããŸãã çµå±ã®ãšãããããã¯ãŸãã«ãããããã«ãããã®ã§ã...
ææ¡ã®ç§ã®çŸåšã®ããžã§ã³ïŒ
/
é€ç®ãªã©ã©ãã«ãé¢ããããä»»æã®untisã®ãšé¢ä¿ãªããä»»æã®ãªãã·ã§ã³ã®ïŒå Žåãé€ã-ããã¯-sm =äžãšåãããã«åé·æ¬åŒ§ã§å²ãŸããŠããŸã-å¿
èŠã«å¿ããŠïŒ1anything./3whatever
ãšïŒãªãã·ã§ã³ã§ïŒ (1anything/3whatever)
ã®ã¿ãLessã«ãã£ãŠè©äŸ¡ãããŸãã+
ã -
ã *
ã¯å€æŽãããŸããcalc
ãµãã€ã·ã¥ãŒã¯ã arithmãè©äŸ¡ããªãããšã§è§£æ±ºãããŸãã calc(...)
å
ã®åŒïŒãã ããç¹°ãè¿ãã«ãªããŸãããåé·ãªæ¬åŒ§ãå¹æãããå ŽåããããŸãïŒã@ seven-phases-max
ããã«é¢ããåé¡ã¯ã /
ãé€ç®æŒç®åãšããŠä¿¡ããããªãã»ã©æ ¹ä»ããŠããããšã§ãã ä»ã®èšå·ã䜿çšããããšã¯ããŠãŒã¶ãŒã«ãšã£ãŠé£ãã販売ã«ãªããŸãã ããªãã¯äžè¬çãªãŠãŒã¹ã±ãŒã¹ãåãäžããŠãã»ãšãã©èª°ã䜿çšããªãäŸå€çãªãŠãŒã¹ã±ãŒã¹ïŒCSSã®çç¥åœ¢ã§ã¯/
ïŒã®ããã«ãããæšãŠãŠããŸãã
@rjgotten
ããã«é¢ããåé¡ã¯/é€ç®æŒç®åãšããŠä¿¡ããããªãã»ã©æ ¹ä»ããŠããŸãã
CSSã«ã¯ãããŸããã
誰ããã»ãšãã©äœ¿çšããªãäŸå€çãªãŠãŒã¹ã±ãŒã¹ïŒ/ CSSã®çç¥åœ¢ïŒã
ä»ã§ã¯/
ãã§ã«äœ¿çšãããŠããå€ãã®ããšãããšæ¯èŒããŠããããå°ãªãã®div opãå®å
šã«ã¯ããã«ç°äŸCSSãããããã®ã§ã/
ããã¯ã©ãCSSã»ãã®æ°å¹Žåãšã¯éã£ãŠïŒãããã®æ¥/
ã¯ãã»ãšãã©ã®å Žåfont
ã®ã¿èŠã€ãããŸãïŒã
@ seven-phases-maxãã®äžãç¶æããŠããã ãããããšãããããŸãã åé¡ã管çããããã«Staleããããè¿œå ããStaleãããŒã¯ããããã«ããªãã®æéãäžããŸããã ãŸãããbugããšãup-for-grabsãã®2ã€ã®ã©ãã«ãå é€ããŸããã ãã¯ã€ããªã¹ãã«ç»é²ããä»ã®ã©ãã«ãªã©ãããã«é¢ããææ¡ã¯å€§æè¿ã§ãã ãã¡ã€ã«ã¯ããã«ãããŸãïŒ https ïŒ
åé¡ã®ã¹ã¬ããã«æ»ããŸã...
@rjgotten
ãŠãŒã¹ã±ãŒã¹ã¯ä»»æã®åé¡ãåŒãèµ·ãããŸãã è°è«ã¯ãããæçšã§ãããšããããšã§ãã ãã ããå€æ°ããã®ããã«æ§é åãããšãæ§æã§åé¿ã§ããåé¡ãçºçããŸããã€ãŸãã@ Seven-phases-maxãææããŠããããã«ããããŸãã§ãã
CSSãLessã®ååã®ã¬ã€ããšããŠãé¡é¢éãã«åãåã£ããšããŠããèšç®ã§ã¯ã12pxã30pxã§å²ãããšã¯ã§ããŸããã Lessã§ãããè¡ããšããããŸããã®åé¡ãçºçããã ãã§ãªããæ£åœãªçç±ïŒå±¥æŽä»¥å€ïŒã§ã¢ãã«ããå€ããŸãã ãããããLessã«æ¬ ããŠãããã®ã®1ã€ã¯ãåäœå€ã®æ°å€ãæœåºããæ¹æ³ã«ãããªããããLessã¯é€ç®ã®ããã«ãã®æ°åŠã®éæ³ãå®è¡ããå¿ èŠããããŸããã
ãããã£ãŠãç°¡åãªçãã¯ãããªãã®äŸã¯æ¬¡ã®ããã«ãªããšããããšã§ãã
font-size : @fontsize-body/number(@fontsize-heading) * 1em
ãããã@ seven-phases-maxã®ææ¡ã§ã倧äžå€«ã§ãã calc()
ã§_vars_ãè©äŸ¡ããããšã¯ã§ããŸãããæ°åŠã§
Lessã®æ°åŠã®ããŒãã«ã¯ããã€ãã®ç°ãªã奜ã¿ãããããšã¯ç¥ã£ãŠããŸãããå¯äœçšãæãå°ãªãã倧èŠæš¡ãªã¡ã³ããã³ã¹ãè¡ããã«æãç°¡åã«æšè«ã§ãããã®ã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸãããšãã§ããã°ãæ¬åœã«çŽ æŽããããšæããŸãããŸãã¯éçºè² æ ã
Lessã®æ°åŠã«å¯ŸããçŸåšã®ïŒããã©ã«ãã®ïŒã¢ãããŒããç ŽãããŠããã®ã¯ãç§ãã¡å šå¡ãåãããŒãžã«ãããšæããŸãã ãããŠãç§ãã¡ã¯æ¬åŒ§ãšãããã£ãŒãããã¯ãåãåããŸãã-ããã©ã«ããšããŠã®ãã¹ãŠã¯æšè«ããã®ãç°¡åã§ããããé¢åã§ãã ã ããç§ã¯ç§ãã¡ãããã«ããã©ã«ããšããŠå ¥ããããšãã§ããããã€ãã®è¯ãäžéç¹ãæãã§ããŸãïŒãããã4.0ã§ïŒïŒ
ãããããLessã«æ¬ ããŠãããã®ã®1ã€ã¯ãåäœå€ã®æ°å€ãæœåºããæ¹æ³ã«ãããŸããã
unit
é¢æ°ã¯ã2çªç®ã®ãã©ã¡ãŒã¿ãŒãæå®ããªãå Žåãå®éã«ãããå®è¡ããŸãã ããããããã¯ãã¹ã«ã©ãŒãçŸåšãåäœãå®çŸ©ãããŠããªãDimension
ããŒãã¿ã€ãã§å®è£
ãããŠãããšããäºå®ã®å¯äœçšã§ãã
æ¿è«Ÿãã; ããã¯å€§ãã«åœ¹ç«ã¡ãŸãããäºææ§ã®ããåäœãæã€ãã£ã¡ã³ã·ã§ã³ãåå²ããããšã_æ¬åœã«_é¿ãããå Žåã¯ãåäœãåãé¢ããšããŸããããŸãã
ãŸãããã®ç¹å®ã®ã³ã³ããã¹ãã§ã¯ããäºææ§ã®ãããŠããããã®åœãŠæšéïŒ a/b
åå²ã®ãŸãŸã«ãã b/c
ãåå²ããªãããã«ãããªã©ïŒã«åŒ·ãå察ããŠããããšãä»ãå ããŠãããŸãã
åçŽã«ãã ããïŒ
a/b
å«ãæ°ããCSSæ©èœãè¿œå ããã®ã¯å¥œãã§ã¯ãããŸããã ãããã£ãŠãç§ã«ãšã£ãŠãäºææ§ã®ãããŠããããã®ãã®ã¯ãå®å
šã«ç¡é¢ä¿ã§çŽäº€ãããã®ã®ãããªãã®ã§ãïŒ -su
æç¡ã«ããããããçµæã®ãŠãããã«ã€ããŠããã€ãã®è°è«ããããããããŸããããããã¯å¥ã®è©±ã§ãïŒã
ïŒãªããããã¯ïŒïŒ
ãããŠãšããã§ãäžèšã®äŸã«ã€ããŠèšãã°ïŒ
ããªããæã£ãŠãããªã@rjgotten ïŒ
@fontsize-body/@fontsize-heading * 1em;
ã³ãŒãã®ã©ããã«ããã2ã€ã®å€æ°ã®ãããããpx
ãå®éã«ãã°ã䜿çšããŠããŸã:)
é©åãªã³ãŒãã¯æ¬¡ã®ãšããã§ãã
1em * @fontsize-body/@fontsize-heading;
ããã«ãããåžžã«http://lesscss.org/features/#features -overview-feature-operationsããšã«æ確ã«å®çŸ©ãããåäœãçæãããŸãïŒä¿®æ£ãããïŒ3047ãæ°ããŸããããã®ãã°ã¯ãããŸãã«ãå€ãã®äººã«ãã£ãŠæ£ç¢ºã«çæããããã°ã®äŸã§ããã³ãŒãããŒã¹ã®ãäºææ§ã®ãããŠããããã«é¢ããæšæž¬ã³ãŒãïŒã --su
ã number
ã unit
bla-bla ...ã®å®éã®å¿
èŠæ§ã¯ãããŸãããçŸåšã®-su
åäœã¯ããäºææ§ã®ãªããŠãããã衚瀺ãããå Žåã¯ãšã©ãŒãã¹ããŒããã ãã§ãããªã©ã§ãã ãã€ãŸãåçŽãªæ€èšŒã¯ãïŒç§ã«ãšã£ãŠã¯ïŒåé¡ãããŸããã 1px/2px->.5
ãš1px*2px->2px^2
ãã³ããžã£ã³ãã®ãªãŒããŒãšã³ãžãã¢ãªã³ã°ã®å¿
èŠæ§ã¯ããããŸããã ããããããããŸãå¥ã®ç¡é¢ä¿ãªè©±ã§ãïŒã
@ seven-phases-max
å®éã«ãã°ã䜿çšããŠãã
ããŒã..ãã; ãã¡ãããããªãã¯æ£ããã§ãã 幞ããªããšã«ãç§ã¯å®éã«ãã®ã³ãŒããæ¬çªç°å¢ã®ã©ãã«ãæã£ãŠããŸããã ããã¯ãèŠç¹ã説æããããã«ãŸãšããç°¡åãªäŸã«ãããŸããã
ãŸãããã®ç¹å®ã®ã³ã³ããã¹ãã§ã¯ããäºææ§ã®ãããŠããããã®åœãŠæšéïŒa / bãåå²ã®ãŸãŸã«ããb / cãåå²ããªãããã«ãããªã©ïŒã«åŒ·ãå察ããŠããããšãä»ãå ããŠãããŸãã
裞ã®é€æ°ã欲ãã人ãžã®ãªãªãŒãã®æãšããŠãç§ã¯ãã以äžã«ä¹ã蟌ãã ãšæããŸãã ããããããªãã®ã³ã¡ã³ã[ãã]ã¯æãå®è¡å¯èœãªææ¡ã ãšæããŸãã ãããŸãããæé€ããããšã¯ããå³å¯ãªæ°åŠãã®æ¬æ¥ã®æå³ã§ããã æžå¿µã¯ãããã¯ã¹ã€ã³å ã®æäœãšãæ¬åŒ§å ã®ããããçš®é¡ã®æ¬åŒ§ã«ã€ãªããé¢æ°åŒã³åºãã«ãªã£ããšæããŸãã ããããäžè¬çã«ãLessã§æ°åŠãç°¡åã«ããããã®åªåããç®èãªããšã«ããããŸãããå¢ããŠãããããéåžžã«å°é£ã«ãªã£ãŠãããšæããŸãã
ãŸããåŸã§font: 10px/3
ãæå¹ãªçç¥åœ¢ã§ããããšã«æ°ä»ããŸããã ãããã£ãŠãããã§åœ¹ç«ã€ã¢ã«ãŽãªãºã ãœãªã¥ãŒã·ã§ã³ã¯å®éã«ã¯ãããŸããã
質åã«æ»ãã«ã¯ã@ rjgotten ...
æšè«ãè£è¿ããŠã¿ãŸãããïŒ äœããæ°åŒã®ããã«èŠããäºææ§ã®ããåäœãããå Žåãããã©ã«ãã§ã¯æ°åŒãšããŠæ±ãããŸãã ãããŠãããªãããããèµ·ãããããªãã®ãªã...ãŸã; 次ã«ãã "..."ãšã¹ã±ãŒããããã䜿çšããŸãã çµå±ã®ãšãããããã¯ãŸãã«ãããããã«ãããã®ã§ã...
LessãšCSSã®èãæ¹/é¢ä¿ã¯ãTypeScriptãšJavaScriptã«äŒŒãŠããŸãã ã€ãŸããæå¹ãª.css
ååã.less
ãšãLessæ©èœã®è¿œå ãéå§ã§ããŸãã .js
ååã.ts
ãTypeScriptæ©èœã®è¿œå ãéå§ããæ¹æ³ãšåæ§ã§ãã èšèªã¯åºæ¬èšèªã®ã¹ãŒããŒã»ããã§ãããããäœãè¿œå ããªãå Žåã¯ãåãæå¹ãªLess / JavaScriptãåºåããå¿
èŠããããŸãã
ãã ãããããã®æ¯çãŸãã¯CSSã®ä»ã®/
é€æ°ã®å Žåãããã©ã«ãã§ã¯ãLessã¯ã²ãŒãã®ããå€ã§ãã§ã«å€±æããŠããŸãã éåžžã®CSSã¯ãäœãå€æŽããŠããªããŠããä»»æã«æ°åŠåŒãå°ãªããªããçµæãç°ãªããŸãã ããã¯èšèªã®å¥çŽã«éåããŸãã éå§ããå
ã®CSSãå
ã«æ»ãããã«ã .less
ããŸã£ããç°ãªãLessåŒã«å€æŽã§ãããšãèŠç¹ãèŠéããŠããŸããŸãã ãã®äœæ¥ã¯æ±ºããŠå¿
èŠãšãããã¹ãã§ã¯ãããŸããã Lessã¯ãæåã«æã£ãŠããæå¹ãªCSSãåãæ»ãããã«ãæå¹ãªCSSãäºææ§ã®ããLessåŒã«å€æŽããå¿
èŠã¯ãããŸããã ããã¯å£ããã¢ãã«ã§ãã
åãçç±ãcalc()
åœãŠã¯ãŸããŸãã ã¯ããåŒãæååãšã¹ã±ãŒãããããšã¯ã§ããŸãããããããå¿
èŠã¯ãããŸããã .css
ååã.less
ãããšãåãå¹æçãªCSSãçæãããŸãã ããã¯ãå
ã®ã¹ã¿ã€ã«ã·ãŒãã劚害/äžæžã/éå°è§£éããªãããã«ããããã®ãããžã§ã¯ãã®åºæ¬ç®æšã§ããå¿
èŠããããŸãã ããããããŒãµãŒ/èšèªã䜿çšãã以å€ã«ãä»ã®äœããåé¡ãéçºè
ã«æŒãä»ããããšããŠããŸãã
ã¯ããåŒãæååãšã¹ã±ãŒãããããšã¯ã§ããŸãããããããå¿ èŠã¯ãããŸããã .cssã®ååã.lessã«å€æŽãããšãåãå¹æçãªCSSãçæãããŸãã ããã¯ãå ã®ã¹ã¿ã€ã«ã·ãŒãã劚害/äžæžã/éå°è§£éããªãããã«ããããã®ãããžã§ã¯ãã®åºæ¬ç®æšã§ããå¿ èŠããããŸãã ããããããŒãµãŒ/èšèªã䜿çšãã以å€ã«ãä»ã®äœããåé¡ãéçºè ã«æŒãä»ããããšããŠããŸãã
ãããã
LESSã¯ã /
ãèš±å¯ãããŠããå Žæãšãcsså
ã«ãªãå ŽæãèªèããŠããŸãã ãšã«ãã衚瀺ãããªãã衚瀺ãããå Žåã¯ãæ°åŠãå®è¡ãããããšãåæãšããŠããŸãã ãŸããæ°åŠãäžžæ¬åŒ§ã§å²ãŸããŠããå Žåãcssã§äžžæ¬åŒ§ãèš±å¯ãããŠããªãå Žåã¯ãLESSã§è§£éããå¿
èŠããããŸãã
èšãæããã°ãLESSã¯ãæå¹ãªcssã«å°éããããã«ãå¯èœãªéãå°ãªãæ°åŠã解éããããšããå¿ èŠããããŸãã åºåãæå¹ã«ãªã£ããããã«ããã以äžã®èšç®ã®å®è¡ãåæ¢ããŸãã
@thany
ã³ã³ãã€ã©ãŒãç¥ã£ãŠããããšã«ã€ããŠã®ä»®å®ãå€ãããŸãïŒãããŠãããã®ããã€ãã¯åã«ééã£ãŠããŸãïŒã
ãããã«ããããäžžæ¬åŒ§ãã¢ãŒãã¯--sm=on
ãšã»ãŒåããªã®ã§ãããã䜿çšããŠãã®ã¹ã¬ãããå¿ããŠãã ããïŒããããããããžã§ã¯ãã§calc
以å€ã®æ°åŠã䜿çšããŠããªãã ãã§ãïŒããã€ãå°å
¥ãããŸããïŒã LessãèšèšãããŠããæ°å¹ŽåŸïŒãäœåãªæ¬åŒ§ãã©ã®ããã«ç
©ãããã®ãããããŸããããä»ã®äººã¯ããããŸããïŒ
æ®ãã«ã€ããŠã¯ã httpsïŒ //github.com/less/less.js/issues/1880#issuecomment-345194431ãåç §ããŠ
@ Seven-phases-max /
ã¯ã background
ãšborder-radius
çç¥åœ¢ãããã³ããããç§ãä»èããŠããªãä»ã®çç¥åœ¢ã§ãæå³ãããããšãå¿ããªãã§ãã ããã LESSã¯ãããããé€ç®ãšããŠåãã§æ±ããŸãã å³å¯ãªæ°åŠã¢ãŒãã®æç¡ã«ããããããLESSã¯ç¬èªã®å°ããªæ°åŠãè¡ãããšãããã€åæ¢ããããç¥ã£ãŠãããå¿
èŠããããŸãã
@thany
LESSã¯ãç¬èªã®å°ããªèšç®ãè¡ãããšã§ããã€åæ¢ããããç¥ããå¿ èŠããããŸãã
ãããããã¹ãã§ã¯ãããŸããã é€ç®ã¹ã©ãã·ã¥ã䜿çšããå°æ¥ã®CSSçç¥åœ¢ãã©ãã«è¡šç€ºãããããç¥ãæ¹æ³ã¯ãããŸããã Lessã³ã³ãã€ã©ã«ããããç¥ã£ãŠããããããšã¯ãæ ¹æ¬çã«æ¬ é¥ã®ããã¢ãããŒãã§ããããã®è°è«ã解決çãèŠã€ããããšããŠããããšãã®ãã®ã§ãã
ãããŸã§ã®ãšãããé€ç®æŒç®åãšããŠã®/
ã«ã¯ãæ£æ°ã§äºæž¬å¯èœãª2ã€ã®éžæè¢ããããŸãã
--strict-math=on
åäœã®ããã«ãæ¢ç¥ã®æ°åŠã³ã³ããã¹ãã決å®ã§ãã/決å®ããå¯èœæ§ãããå ŽåãïŒãŸããLessã®ååããââã¹ãŠå€§æåã§ç¶Žãããªããªã£ãããšã«æ³šæããŠãã ãããïŒ
/ã¯ãèæ¯ãšå¢çååŸã®çç¥åœ¢ã§ãæå³ãããããšãå¿ããªãã§ãã ããã
ããã¯åºæ¬çã«ãã®ã¹ã¬ãããå§ãŸããã®ã§ãã
ãŸãã httpsïŒ //github.com/less/less.js/issues/1880#issuecomment -345194431ã§ææ¡ãããå€æŽã®æŠèŠãåç
§ããŠ
ãããããã¹ãã§ã¯ãããŸããã é€ç®ã¹ã©ãã·ã¥ã䜿çšããå°æ¥ã®CSSçç¥åœ¢ãã©ãã«è¡šç€ºãããããç¥ãæ¹æ³ã¯ãããŸããã Lessã³ã³ãã€ã©ã«ããããç¥ã£ãŠããããããšã¯ãæ ¹æ¬çã«æ¬ é¥ã®ããã¢ãããŒãã§ããããã®è°è«ã解決çãèŠã€ããããšããŠããããšãã®ãã®ã§ãã
ç§ã¯ããã«å®å šã«åæããŸãã @thanyããªãã¯ç§ãæžãããã®ã«ã€ããŠããªããåŒçšããããšã§ç§ã«åæããŸããããããªãã¯ç§ãããã®ãšã¯ç°ãªãçµè«ã«å°éããŠããŸãã å°ãªã人ã¯ããã€ãæ°åŠãããããã¹ããããããªãã¯ãã§ãã ç§ãèšãããã®ã¯ãæåã«ãLessã¯æ°åŠãå§ããããšïŒã¢ã¡ãªã«/ã«ãã䞻矩ã䜿çšããããšïŒã«ã€ããŠããä¿å®çã§ãããšããããšã§ãã
@rjgotten
æ¢ç¥ã®æ°åŠã®ã³ã³ããã¹ãå ã«ãªãéããé€ç®æŒç®åãšããŠæ±ããªãã§ãã ããã
çŸåšã®--strict-math = onã®åäœã®ããã«ãæ¢ç¥ã®æ°åŠã³ã³ããã¹ãã決å®ã§ãã/決å®ããå¯èœæ§ãããå Žåã
æ確ã«ããããã«ããã®éšåïŒç§ã¯åæããŸãïŒïŒ
æ¢ç¥ã®æ°åŠã®ã³ã³ããã¹ãå ã«ãªãéããé€ç®æŒç®åãšããŠæ±ããªãã§ãã ããã
å®éã«ã¯4ã€ã®å¯èœãªè§£æ±ºçããããŸããããã¯ããªããç¥ã£ãŠããããšã§ãããã¹ã¬ãããèŠçŽãããšæ¬¡ã®ããã«ãªããŸãã
strictMath
ïŒãšããŠåŒãç¶ã䜿çšã§ããŸãã./
ãšããŠåºåãããªãéã12px/4px
ãé€ç®ã«ãªããªãããã«èšç®ãä¿®æ£ããŸãã ïŒåäœã®ãªãå€ã§ã®ã¿ä¹ç®ãšé€ç®ãïŒèšãæãããšãã©ãã§ãé€ç®ããŸãããã¯ããã«ä¿å®çãªã«ãŒã«ã䜿çšããŸãã ãããåé¡ã解決ããªãå Žåã¯ãéããããšã«é Œã£ãŠãã ããã ãããã£ãŠãå®å
šãªè§£æ±ºçã§ã¯ãããŸããããããã§ãçŸåšã®ç¶æ³ã«å¯ŸããïŒè°è«ã®äœå°ã®ããïŒæ¹åã§ãã䜿ããããã®èŠ³ç¹ãããç§ã¯#4
ããã«æ°åŠããããã¹ããŒããã«ããã®ã奜ãã§ãã ãšã³ãžãã¢ãªã³ã°ãšã¡ã³ããã³ã¹ã®èŠ³ç¹ããããããŠå°æ¥ã®CSSã®å€æŽããä¿è·ããããã«ãç§ã¯#3
ãæãå
ç¢ãªãœãªã¥ãŒã·ã§ã³ãšããŠæ°ã«å
¥ã£ãŠããŸãã
ãã ããå®éã«ã¯ã calc()
ãä¿®æ£ããã«ã¯ã #3
ãš#4
äž¡æ¹ãå®è¡ããå¿
èŠããããšæããŸãã ä»ã®ãšãããæ°åŠãè¡ããšãã«ãã¹ãŠã®åäœãç¡èŠããããšã¯æ¬åœã«æ··ä¹±ããŠããŸãã 100vh - 12px
ã¯ãLessïŒãã£ãã§ãããã©ããã«é¢ä¿ãªãïŒã觊ããªãããã«ããå¿
èŠããããŸãã ããããIMOã¯12px/4px
ïŒæ¬åŒ§ãã©ããïŒããã¹ãã§ã¯ãããŸããããç§ã¯ãã®å°æ°æŽŸã«ããå¯èœæ§ããããŸãã
ã§ããããç§ã¯ããããCSSæ§æãšç«¶åããæ°åŠãã®åé¡ãšããŠã¯ããŸãèŠãŠããŸãããããããæ°åŠã®æ¹çšåŒãææå°æ©ã«è§£ãããšã§ããŸãç©æ¥µçã§ã¯ãããŸããã
åäœã®ãªãå€ã§ã®ã¿ä¹ç®ãšé€ç®ã
次ã®ãããªãã®ãããã®ã§ãããã¯ããªãã¯ãããã€ããã¯ãããŸããïŒ
font: small-caps bold 24px/3 ...;
lost-column: 1/3;
// etc.
ãããŠãããã¯divã§ã¯ãããŸããã
ãã ããå®éã«ã¯ã
calc()
ãä¿®æ£ããã«ã¯ã#3
ãš#4
äž¡æ¹ãå®è¡ããå¿ èŠããããšæããŸãã
calc()
ã¯èŠçã§ãã ç®èãªããšã«ãããã¯å®éã®Lessé¢æ°ãšããŠå®è£
ããããšã§_ãããã_æããã解決ãããŸããããã¯ãçæ³çã«ã¯ã解æãããåŒããªãŒãååŸããŠãåŒãåçŽåããããšããŸãã ã€ãŸãã 4px + 12px
ïŒãŸãã¯@a
ãã¯ã»ã«å€ãããããšãããã£ãŠããå Žåã¯4px + @a
ãªã©ã®äºææ§ã®ããã³ã³ããŒãã³ããäºåã«èšç®ããŠçµã¿åãããå¿
èŠããããŸãããäºææ§ã®ãªãã³ã³ããŒãã³ãïŒããšãã°ãäºææ§ã®ãªããŠãããã ãã§ã
äŸãã°
<strong i="17">@a</strong> : 4px;
<strong i="18">@b</strong> : 2;
width : calc(100%/<strong i="19">@b</strong> - 10px + @a);
æçµçã«ã¬ã³ããªã³ã°ããå¿ èŠããããŸã
width : calc(50% - 6px);
ïŒhttps://github.com/less/less.js/issues/1880#issuecomment-345345735ããç¹°ãè¿ããŸãïŒ
ãŸãã calc
å
ã®åŒãæé©åããããã«ãã³ã³ãã€ã©ãŒã倧å¹
ã«éå°ã«äœ¿çšããã¡ãªããã¯ãããŸããã ããªããcalc
ãæžããŠãããªããããªãã¯ããã«ããã©ããªé·ãè¡šçŸã§ãä»äºãããããã«ãã©ãŠã¶ã§å€§äžå€«ã§ãã ãã§ã«äžã§è¿°ã¹ãããã«ãç§ã¯ã calc
å
ã®äœã«ã觊ããªãã§ãã ãããïŒ=æ¬åœã«å¿
èŠãªãã®ãããè³¢ãããããšããªãã§ãã ããïŒããã©ãŠã¶ïŒãŸãã¯css-minifier以éïŒã«æ®ããŸããç§ãæ£ããæãåºãã°ããããã®ããã€ãã¯ãã§ã«calcéšååŒã®æé©åã§ããªãè¯ãä»äºãããŠããŸãïŒã
ãã¹ããŒããŠãããã®æ¯ãèãmamabo-jamboãã¯ã min/max
ã¢ã³ã¹ã¿ãŒïŒä¿å®äžå¯èœã§äœ¿çšãããããšã®ãªãã³ãŒãã®è¥å€§åããã¹ã¿ãã¯ïŒãæãåºãããŸã-åœæãunitsmamboãã«å¯ŸããŠæ²é³Žãäžã
PS calc
ããç®è¡è©äŸ¡ãããŠããªãåŒãåãåãé¢æ°ã«ãªããšããã«ïŒãšã«ããããããå¿
èŠããããŸãïŒããã©ã°ã€ã³ãäœæããŠãå¿
èŠãªæé©åã§ãªãŒããŒã©ã€ãã§ããããã«ãªããŸãã
@rjgotten
Lessã³ã³ãã€ã©ã«ããããç¥ã£ãŠããããããšã¯æ ¹æ¬çã«æ¬ é¥ã®ããã¢ãããŒãã§ã
ããã¯æ ¹æ¬çã«æ£ããã¢ãããŒãã ãšæããŸãã LESSã¯CSSã®ã³ã³ãã€ã©ãŒã§ãããããLESSãã³ã³ãã€ã«å¯Ÿè±¡ã«ã€ããŠç¥ã£ãŠããããšã¯äžçäžã§çã«ããªã£ãŠããŸãã
@ matthew-dean
å°ãªã人ã¯ããã€ãæ°åŠãããããã¹ããããããªãã¯ãã§ãã ç§ãèšãããã®ã¯ãæåã«ãLessã¯æ°åŠãå§ããããšïŒã¢ã¡ãªã«/ã«ãã䞻矩ã䜿çšããããšïŒã«ã€ããŠããä¿å®çã§ãããšããããšã§ãã
èå³æ·±ãããšã«ãããã°å察åŽããèããŠã¿ãŠãã ããã ãããç§ãææ¡ããŠãããã®ã§ãïŒ
background: url(...) no-repeat 50% 50% / 40px + 10px 40px;
ããã§LESSããã¹ãããšã¯ãç§ã«ã¯æããã§ãã
background: url(...) no-repeat 50% 50% / (40px + 10px) 40px;
ãã®çµæïŒ
background: url(...) no-repeat 50% 50% / 50px 40px;
ããã§50% / 50px
éšåãèšç®ããã¹ãã§ã¯ãããŸãããããã¯ãïŒ1ïŒäºææ§ã®ãªãåäœã®ããã«èšç®ã§ããªãã¯ãã§ãããïŒ2ïŒããã¯background
å€ã«å¯ŸããŠãã§ã«ååã§ããããã§ãã ã ã€ãŸããããããæ°åŠãããããå Žæã§ãã
ããããç§ãããã€åæ¢ããããç¥ããããšãæå³ããŠããŸããã
ããã¯æ¬¡ã®ãããªå¥ã®ããããã£ã§ãããïŒ
padding-left: 50% / 10px + 5px;
ãšã©ãŒã§å£ããŸãïŒäºææ§ã®ãªããŠãããïŒã èããããåºåã®1ã€ã¯ããã®ããããã£ã§ã¯ç¡å¹ãª50% / 15px
ã§ãã ãã1ã€ã®çµæã¯ãçŸåšå®è¡ããã5%
ããå¯èœæ§ããããŸãããããã¯ãã¹ãŠã®æ¹åã§ééã£ãŠããŸãã
ãšïŒ
padding-left: 50px / 10px + 5px;
çµæã¯æ¬¡ã®ããã«ãªããŸãã
padding-left: 10px;
äºæ³éãã ãããã£ãŠããã®å Žåã«ã¯ã /
ç¡å¹ã§ãpadding-left
ãšLESSã«åã蟌ãŸããŠããããã®æ°åŠãããè¡ããŸãã
@ matthew-dean
å®éã«ã¯4ã€ã®å¯èœãªè§£æ±ºçããããŸããããã¯ããªããç¥ã£ãŠããããšã§ãããã¹ã¬ãããèŠçŽãããšæ¬¡ã®ããã«ãªããŸãã
ãã1ã€ïŒ
5ïŒLESSã®é€ç®ã«ã¯\
æŒç®åã䜿çšãã /
ã䜿çšããŠéæšå¥šã«ããŸãã MATLABã«ã¯ãã®ãããªãã®ããããBASICã®ç¹å®ã®ãã¬ãŒããŒã¯ããã䜿çšããŠæŽæ°é€ç®ã匷å¶ããŸããã ãããã£ãŠãããã¯ã¹ã©ãã·ã¥ã䜿çšããããšã¯å®å
šã«åäŸã®ãªãããšã§ã¯ãããŸããã
/ç·šé
ããŒããŒãã«Ã·
ããŒãå«ãããããããŒæŽ»åãè¡ãããããé€ç®æŒç®åãšããŠäœ¿çšããããšãã§ããŸãã ããã¯ç§ãå°åŠæ ¡ã§åŠãã ãã®ã§ã:)
ããªããææ¡ããããšã¯ã以åã«äœåºŠãè°è«ãããŸããïŒããã§åç §ãããŠããã¹ã¬ãããåç §ããããšãèºèºããªãã§ãã ããïŒã ã ããããã«ã»ãã®å°ããªæ æ°ãªã³ã¡ã³ãããããŸãïŒ
LESSã®é€ç®ã«ã¯
\
æŒç®åã䜿çšãã/
ã䜿çšããŠéæšå¥šã«ããŸãã
https://github.com/less/less.js/issues/1872#issuecomment -35245890
background
ã¯ååã§ã...padding-left
ã¯ç¡å¹ã§ã
ãã¿ããªãç§ã®ãã©ãŠã¶/ããªãã£ã«/ fnord
ããããã£ã®ãµããŒããè¿œå /æŽæ°/æ¡åŒµãããã®ã¯äœã§ããæ°ããLessããŒãžã§ã³ããªãªãŒã¹ããŠãããŸãããïŒããã芧ãã ããã åé¡ã
font
åé¡ãæºãããŸãã
ãªã©ãªã©ã
ããŠã @ rjgottenã¯ããªããã®çš®ã®ãç¥èããã©ããžã®éã§ããªãã®ãã«ã€ããŠããã§ã«äžã§ã³ã¡ã³ãããŠããŸãã
@ seven-phases-max
ããã¯ã¹ã©ãã·ã¥ã¯åãªãææ¡ã§ããã é€ç®ã«ã¯?
ã䜿çšããããšããå§ãããŸãã ããã¯æ¬åœã«éèŠã§ã¯ãããŸããã ç§ãææ¡ããŠããã®ã¯ãéåžžã«ç°ãªã£ããããŸããªæå³ãæã€1ã€ã®æåïŒ /
ïŒã䜿çšããªãããšã§ãã
ãã¿ããªãç§ã®ãã©ãŠã¶/ããªãã£ã«/
fnord
ããããã£ã®ãµããŒããè¿œå /æŽæ°/æ¡åŒµãããã®ã¯äœã§ããæ°ããLessããŒãžã§ã³ããªãªãŒã¹ããŠãããŸãããïŒããã芧ãã ããã åé¡ã
CSSã¯æ確ã«å®çŸ©ãããæšæºã§ãã æšæºä»¥å€ã®ãã®ããµããŒãããã¹ãã§ã¯ãããŸããã ãããããªãã®åé¡ã ãšæããŸãã fnord
ããããã£ã¯æšæºã®äžéšã§ã¯ãªãããããµããŒãããªãã§ãã ããã ãã®æ°ããæå®ãããŠããªãããããã£ãçºçãããšãLESSã¯ããã©ã«ãã®åäœã«ãã©ãŒã«ããã¯ããå¯èœæ§ããããŸããããã¯ãçŸåšã®åäœãæ¬åŒ§ãå¿
èŠãªåäœããŸãã¯ãããŸãã§ãªãéãä»ã®åäœã§ããå¯èœæ§ããããŸãã
ãã©ã³ãã®åé¡ã«å¯Ÿå¿ããŸãã
ãã©ã³ãã®åé¡ã¯ãLESSã®çµ¶å¯Ÿçãªå§ãŸã以æ¥/
åé¡ãååšããŠããããšã蚌æããŠããŸãã background
ãããã¯ã°ã©ãŠã³ããµã€ãºã®å€ãå«ããæ©èœãååŸãããšãããŸãã¯border-radius
ãçºçãããšãã ãã§ã¯ãããŸããã ã¡ãªã¿ã«ããã©ã³ãã®åé¡ãè¿°ã¹ãããšã§ãããªãã¯èªåèªèº«ã«å¯ŸããŠæåã®è°è«ãããã ãã§ã:)
ã¡ãªã¿ã«ããã©ã³ãã®åé¡ãè¿°ã¹ãããšã§ãããªãã¯èªåèªèº«ã«å¯ŸããŠæåã®è°è«ãããã ãã§ã:)
ããªãã¯äœãã誀解ããŠãããšæããŸãã /
ãdivæŒç®åãšããŠå®å
šã«åé€ããããšãæåã«ææ¡ããã®ã¯
CSSã¯æ確ã«å®çŸ©ãããæšæºã§ãã
TRã¬ãã«ã§å®å
šã«æçããä»æ§éšåã«ãã ãããªããå€åã
ãããªããšïŒ ããããã¡ãããŸãã æ°ããCSSã®ãã¢ãžã¥ãŒã«ãã®è¡æä»æ§ãšæ¢åã®ã¢ãžã¥ãŒã«ã®æ¹èšçããããæ¯é±ã§ã¯ãªãã«ããŠãæ¯æãããã¢ãã衚瀺ãããŸãã
@ seven-phases-max
fontïŒsmall-caps bold 24px / 3 ...ã®ãããªãã®ãããã®ã§ãããã¯ããªãã¯ãããã€ããã¯ãããŸããã
ããããããããŸããã ç§ã®ãã€ã³ãã¯ãŸãã«ããã§ããïŒåäœãªãã®div /ä¹ç®ã ããåé¡ã軜æžããŸãããåé¡ã解決ããŸããã
ãããŠãäžè¬çã«ããã¹ãŠã®éšéã«å¯Ÿãã./
ææ¡ã¯ãäŸç¶ãšããŠéåžžã«è«ççã§ããããã«æãããŸãã
@thanyãã¹ãŠã®å ·äœçãªäŸã«
ãŸããcalcå ã®åŒãæé©åããããã«ãã³ã³ãã€ã©ãŒãå€§å¹ ã«éå°ã«äœ¿çšããã¡ãªããã¯ãããŸããã calcãäœæããŠããå Žåã¯ããã©ãŠã¶ã䜿çšããŠãããã«ããé·ãåŒãäœã§ããããã®äœæ¥ãå®è¡ã§ããŸãã ãã§ã«äžã§è¿°ã¹ãããã«ãç§ã¯ãcalcå ã®äœã«ã觊ããªãã§ãã ãããïŒ=æ¬åœã«å¿ èŠãªãã®ãããè³¢ãããããšããªãã§ãã ããïŒããã©ãŠã¶ïŒãŸãã¯css-minifierïŒã«æ®ããŸããæ£ããæãåºãã°ããããã®ããã€ãã¯ãã§ã«calcéšååŒã®æé©åã§ããªãè¯ãä»äºãããŠããŸãïŒã
ç§ã¯ããã«å®å
šã«åæããŸãã calc()
ãã¯ã€ããªã¹ãã«ç»é²ããã ãã§ãæ°åŠé¢é£ã®æ°ããåé¡ã®99ïŒ
ãåé€ãããŸãã Lessãcalc()
åé¡ãåé¿ããããã«ãããè³¢ãæ°åŠãè¡ãããšãã§ããããã€ãã®æ¹æ³ãææ¡ããŸãããïŒãããããããã¹ãã§ãïŒãããããã®èãã«å¯Ÿããè°è«ãšããŠè§£éãããå Žåã¯ãè©«ã³ç³ãäžããŸãã ç§ãããããµããŒãããŸãã
ïŒãã/ä»ã®å Žæã§èª¬æãããŠããããã«ïŒå¯äžã®æ³šæç¹ã¯ãéçºè
ã¯å¿
ç¶çã«calc()
ã§å€æ°ã䜿çšããããšããããšã§ãããããã£ãŠãå€æ°ã亀æãç¶ããããã«æ³šæããå¿
èŠããããŸãããããããªãã§ãã ãããç®æ°ã ãããã©ãã»ã©é£ãããã¯ããããŸããã ãããã§ããã°ãä»æ¥ã®calc()
åŠçã®å€æŽããµããŒãããŸãã
@thany
ãã©ã³ãã®åé¡ã¯ãLESSã®çµ¶å¯Ÿçãªå§ãŸã以æ¥/åé¡ãååšããŠããããšã蚌æããŠããŸãã
ããã¯çå®ã§ãããå
¬æ£ãªç¹ã§ãããå€ãã®é©åãªåé¿çãããã font
ããããã£ã®çç¥åœ¢ã䜿çšããããšã¯å¿
ãããæšæºçãªæ¹æ³ã§ã¯ãããŸããã§ããã ããã¯ãLessãéå§ãããåŸã«è€æ°ã®èæ¯ãšcalc()
ãå°çããããã«ããããããã«åé¡ã«ãªã£ãããã§ããçŸåšãCSSã°ãªããæ§æã¯ãåœåã¯æ¥åžžã®å®çšçãªçšèªã§ã¯ååšããªãã£ãå€ãã®ç«¶åãååšããããšãæå³ããŸãã
ã¡ãªã¿ã«ãããã¯Sassãåé¡ã解決ããæ¹æ³ã§ããã次ã®äŸã§ç€ºãããŠããŸãã
p {
font: 10px/8px; // Plain CSS, no division
$width: 1000px;
width: $width/2; // Uses a variable, does division
width: round(1.5)/2; // Uses a function, does division
height: (500px/2); // Uses parentheses, does division
margin-left: 5px + 8px/2px; // Uses +, does division
font: (italic bold 10px/8px); // In a list, parentheses don't count
}
Lessé¢æ°ã®åŒæ°å
ã§ïŒçŸåšïŒæ°åŠãå®è¡ã§ããLessé¢æ°ã¯ãã¯ã»ã«å€ãè¿ãããšãã§ããããïŒçè«çã«ã¯Lessã¯font: print10px()/8px
å®è¡ã§ããŸããïŒãããïŒïŒã
å人çã«ã¯ãéæ³ã®è¡šçŸã®ååšã«åºã¥ããŠæ°åŠãã©ã®ãããªå Žåã«çºçããããéçºè
ã«æãåºãããããšããã®ã¯ãäžçš®ã®ã¯ã¬ã€ãžãŒãªäœãã§ãïŒ +
ãåã«ä»ããããŠãããããªãã®ã§ããïŒïŒããããããç¬èªã®ãã®ã§ãã
å人çã«ã¯ãéæ³ã®è¡šçŸã®ååšã«åºã¥ããŠæ°åŠãã©ã®ãããªå Žåã«çºçããããéçºè ã«æãåºãããããšããã®ã¯ãäžçš®ã®ã¯ã¬ã€ãžãŒãªããšã ãšæããŸãã
+1
ã解決çããlessc --sm
ããã§ã«è¡ã£ãŠããããšãè¶
ããŠãããã§èª¬æãããŠããåé¡ã®ãããã解決ããªãããšãæ°ããŠããŸããã ãããŠã 1/2
ãš$var/2
ç°ãªãçµæã¯ãé©ãã»ã©çŽ æŽãããã§ã...ãæãããã幞ããªãããã°ãæè
ïŒã
@ matthew-dean
ã¡ãªã¿ã«ãããã¯Sassãåé¡ã解決ããæ¹æ³ã§ããã次ã®äŸã§ç€ºãããŠããŸãã
ããã¯ãå¥ã®ãªãã¬ãŒã¿ãŒã«é Œãããšãªããåªãããœãªã¥ãŒã·ã§ã³ã§ãã
åŒãæå¹ãªCSSã§ããå¯èœæ§ãããå Žåã¯ããã®ãŸãŸã«ããŠãããŸãã
å人çã«ã¯ãéæ³ã®è¡šçŸã®ååšã«åºã¥ããŠæ°åŠãã©ã®ãããªå Žåã«çºçããããéçºè ã«æãåºãããããšããã®ã¯ãäžçš®ã®ã¯ã¬ã€ãžãŒãªããšã ãšæããŸãã
åæããªãã ããã¯åçŽãªã«ãŒã«ã®ã»ããã§ãããèŠããŠããå¿ èŠã®ããä»ã®ïŒã¯ã¬ã€ãžãŒãã©ããã«é¢ä¿ãªãïŒã«ãŒã«ã®ã»ãããšäœãå€ããã¯ãããŸããã
æå³ã®ãªãæ°åŠãçºçãããšããžã±ãŒã¹ãããã€ããããŸãããæ¬åŒ§ãé©çšããã ãã§å®äºã§ãã
ã解決çããlessc--smããã§ã«è¡ã£ãŠããããšãè¶ ããŠãããã§èª¬æãããŠããåé¡ã®ã©ãã解決ããªãããšãæ°ããŠããŸããã é€ç®ã ããå¿ èŠãªã®ã«ããªãïŒ1/2ïŒã®ä»£ããã«0 + 1/2ãšæžãã®ã§ããããïŒ ãããŠã1/2ãš$ var / 2ã®ç°ãªãçµæã¯ãé©ãã»ã©çŽ æŽãããã§ã...æãããããããŒãããã°ãæè ïŒã ã¡ãã»ãŒãžã
ããã¯ããããã
@thany
ããã¯ãå¥ã®ãªãã¬ãŒã¿ãŒã«é Œãããšãªããåªãããœãªã¥ãŒã·ã§ã³ã§ãã
åŒãæå¹ãªCSSã§ããå¯èœæ§ãããå Žåã¯ããã®ãŸãŸã«ããŠãããŸãã
éèã«å ¥ããªãããã«ããŸãããæ§æäžã®çç±ãšèšèªã®äžè²«æ§ã®ããã«ãLessã§ã¯æ©èœããŸããã Sassã«ãšã£ãŠã¯çŽ æŽãããããšãããããŸããããããã¯è°è«ã®äœå°ããããšæããŸãããç§ã¯ãã¶ã€ã³ã®èŠ³ç¹ãããã®ãããžã§ã¯ãã«å人çã«é¢ãã£ãŠããªãã®ã§ã誰ãèšã£ãŠããã®ã§ããããã ç§ãç¥ã£ãŠããã®ã¯ãããŒãã«ã®ãªãã·ã§ã³ãéå§ããã®ã«æé©ãªå Žæã§ãããšããããšã ãã§ãããã®åé¡ã«é¢é£ããã¡ãã»ãŒãžã¹ã¬ããã®ããã€ãã«å€ãã®æéãè²»ãããèšèªã«æéãè²»ãããå Žåã¯ãããªããæ¥ããšç¢ºä¿¡ããŠããŸããåãçµè«ã«ã
åé¿ã§ããªã1ã€ã®èŠ³å¯çµæïŒæå¹ãªããã©CSSãã€ã³ããŒãããå Žåããã®åºåã¯æ©èœçã«åäžã§ããå¿ èŠããããŸãã ãããã£ãŠãç§ãåŒãåºãããšãã§ããå¯äžã®çµè«ã¯ãLESSã¯ãã§ã«æå¹ãªCSSã§ããå¯èœæ§ã®ããåŒã«è§ŠããŠã¯ãªããªããšããããšã§ãã ãããã©ã®ããã«è¡ããããã¯ãç§æ¬¡ç¬¬ã§ã¯ãããŸããã ããããããã©CSSã®ã€ã³ããŒãã¯ä¿¡é Œæ§ãäœããšããäºå®ãæ®ã£ãŠããŸããããã¯ãäž»ã«LESSãåå²ãç±å¿ã«å®è¡ããããçµæã§ãã
ããã€ãã®ç°¡åãªæ§æèŠåã«åŸã£ãŠãSassã«ããã©CSSãã€ã³ããŒããããšãã»ãŒåé¡ãªãæ©èœããŸããããã¯ãåè¿°ã®ããã«ãSassãã³ã³ãã€ã©ãŒã«å®è¡ãæ瀺ããªãå Žåã /
æŒç®åããã®ãŸãŸã«ããŠããããã§ãã ãããã®æ§æèŠåã¯ãæå¹ãªããã©CSSã§ã¯çºçããªãåå²ã匷å¶ããæ¹æ³ã説æããŠãããããåªããŠããŸãã
ããªãã¯ãŸã ããªãèªèº«ã®æ³ååãšè°è«ãã圌ããããªãã«èšãããšãšã¯è°è«ããŸããã ç°¡åãªè³ªåã«çããŠãã ããïŒã 0 + 1/2
ã¯(1/2)
ãããåªããŠããå¯èœæ§ããããŸããïŒã 100ïŒ
-CSSäºææ§ã ããæ°ã«ãªãå Žåã¯ãçŽ æµãª-sm
ãèšå®ãããã®ã¹ã¬ãããå¿ããŠãã ããã
åé¿ã§ããªã1ã€ã®èŠ³å¯çµæïŒæå¹ãªããã©CSSãã€ã³ããŒãããå Žåããã®åºåã¯æ©èœçã«åäžã§ããå¿ èŠããããŸãã ãããã£ãŠãç§ãåŒãåºãããšãã§ããå¯äžã®çµè«ã¯ãLESSã¯ãã§ã«æå¹ãªCSSã§ããå¯èœæ§ã®ããåŒã«è§ŠããŠã¯ãªããªããšããããšã§ãã ãããã©ã®ããã«è¡ããããã¯ãç§æ¬¡ç¬¬ã§ã¯ãããŸããã ããããããã©CSSã®ã€ã³ããŒãã¯ä¿¡é Œæ§ãäœããšããäºå®ãæ®ã£ãŠããŸããããã¯ãäž»ã«LESSãåå²ãç±å¿ã«å®è¡ããããçµæã§ãã
ãã®éšåã¯ç§ãæ¬è³ªçã«åæããŸãããããŠããªãã¯ãã®ç¹ã§ãã®ã¹ã¬ããã§å€ãã®åæãèŠã€ããã ãããšæããŸãã æèŠã®äžäžèŽã®ã»ãšãã©ã¯è§£æ±ºçã«é¢ãããã®ã§ãããå解決çã«ã¯ããŸããŸãªå¯äœçšããããŸãã
ç§ã¯ãããã®é倧ãªå€æŽãåªå äºé ãšããŠæ¡çšããŸãã
/
代ããã«./
my-function(12px/10px, arg2, arg3)
ã¯12/10ãåå²ããŸãããã my-function((12px/10px), arg2, arg3)
ã¯åå²ãã my-function(12px./10px, arg2, arg3)
ã¯åå²ããŸãïŒ \/
ã\
ãªã©ã®/
ç¹å¥ãªã€ã³ãžã±ãŒã¿ãŒãäŸïŒ 12px\10px
ã@ seven-phases-max-ããã¯ã¹ã©ãã·ã¥ãåæ€èšããããšæããŸãã ããã«é¢é£ããŠã httpsïŒ //github.com/less/less.js/issues/1872#issuecomment -35245890ã«ã€ããŠèšåãããŠããããšã¯ç¥ã£ãŠã
åå²ã«åäžã®åèšå·ã䜿çšãããšãå®éã®ç«¶åãçºçããããšãããå°ã詳ãã調ã¹ãããšãã§ããŸããïŒ ç§ã®æ¬èœã¯ã \
ã¯ãçŸåšã®/
ååŸã®ç¶æ³ãããåé¡ãå°ãªãã ./
ãããéçºã«é©ããŠãããšããããšã§ãã 調æ»ãè¡ã£ãŠãããå®è¡å¯èœã§ããããšãããã£ãå Žåã¯ãæ¬åŒ§å
ã«/
ãèš±å¯ããã³ã³ããã¹ãåãæ¿ãã®ä»£ããã«ãã©ãã§ã䜿çšã§ããããã«ç»æçãªå€æŽãå ããããšãã§ããŸãã ãããŠãã¬ã¬ã·ãŒã¹ã€ããã§/
ããµããŒãã§ããŸãã
calc()
ã¯ç¹æ®ãªã±ãŒã¹ã§ãããããå€æ°ã®çœ®æã¯ã§ããŸãããæ°åŒã¯è©äŸ¡ãããŸãããåå²ã«åäžã®åèšå·ã䜿çšãããšãå®éã®ç«¶åãçºçããããšãããå°ã詳ãã調ã¹ãããšãã§ããŸããïŒ
ããŠã \anycharacter
ãæå¹ãªCSSã§ãããç¬èªã®æå³ãæã€ãšããåé¡ã 確ãã«ãå®éã®ãããžã§ã¯ãã§ã¯ãã®ãããªã³ãŒãã¯ã»ãšãã©èŠã€ãããŸããïŒã€ãŸãã \9
ãããªããã¯ãé€ãïŒã...ãã®ã©ã€ãªã³ã«é€ãäžãããã§ããïŒ åããã®ã®å¥ã®ãuh-ohããå°å
¥ããããšã«ãã£ãŠã1ã€ã®ãuh-ohãç§ã®100ïŒ
æå¹ãªCSSãã³ã³ãã€ã«ãããªãããä¿®æ£ããã®ã¯å°ãå¥åŠã«èãããŸã:)
calc
ã«ã€ããŠã¯ãæåããã³ã³ã»ã³ãµã¹ããã£ããšæããŸããã€ãŸããåºæ¬çã«ã¯ãã©ã³ãã£ã¢ãå®è£
ããã®ãåŸ
ã€ã ãã§ãïŒã¯ã€ãã¯ãã£ãã¯ã¹ã¯ãããã5ã6è¡ã®æ°ããã³ãŒãã§å®è¡ããããšæšå®ããŠããŸãïŒããããè¡ãã®ã¯æ¬åœã«åæ¢ãªäººã ãã§ã-ãã€ããŒãªå®è£
ã®è©³çŽ°ã¯ç°ãªãå ŽåããããŸãããããã»ã¹ã§æ±ºå®ããã®ã¯åé¡ãªããšæããŸãïŒã
ããŠã\ anycharacterãæå¹ãªCSSã§ãããç¬èªã®æå³ãæã€ãšããåé¡ã 確ãã«ãå®éã®ãããžã§ã¯ãã§ã¯ãã®ãããªã³ãŒãã¯ã»ãšãã©èŠã€ãããŸããïŒã€ãŸãã\ 9ã®ãããªããã¯ãé€ãïŒã...ãã®ã©ã€ãªã³ã«é€ãäžãããã§ããïŒ åããã®ã®å¥ã®ãuh-ohããå°å ¥ããããšã«ãã£ãŠã1ã€ã®ãuh-ohãç§ã®100ïŒ æå¹ãªCSSãã³ã³ãã€ã«ãããªãããä¿®æ£ããã®ã¯å°ãå¥åŠã«èãããŸã:)
èããŸãããããã¬ãŒããªãã®å¯èœæ§ããããŸãã ãããŠããããç§ã¯\anycharacter
ãæå¹ãªCSSã§ããããšãç¥ã£ãŠããŸãã ç§ã¯ãããããè¯ããã¬ãŒããªãã®ã»ããã§ãããã©ããçåã«æã£ãŠãããšæããŸãã 12px./10px
ãæžãããšããæ§æçã«å¥åŠã«æããã ãã§ãã æ§æçã«ã¯ã競åãçºçãããã«CSSãå¯èœãªéãåå©çšããããšããŠããããã«æããŸãã
åæ§ã«ã ./
ã¯æ§æãæ確ã«ãã競åãå®å
šã«åé¿ããŸãããæ°åŠã®ããã«ã©ãã§ãæ¬åŒ§ã匷å¶ããã®ã§ãç§ã¯ããããµããŒãããŸããããåçºããããããã§ããã«ã€ããŠå¿é
ããŠããŸãã ã§ã¯ã 10px\10
ãéçºè
ã\10
ããéããæå³ãšééããæ£åœãªã±ãŒã¹ã¯ãããŸããïŒ ç§ã¯ãããé£ããçè«ã§ããããšãç¥ã£ãŠããŸãããããŠããªãã®ãã€ã³ãã¯ããããç§ãã¡ãæ¬åœã«ç¥ããªããšããããšã§ããã.....ããã¯è€éãªè³ªåã§ãããããŠç§ãã¡ããã¹ãŠã®CSSãç¥ã£ãŠããããã§ã¯ãªãã®ã§ç¹ã«Lessã§ã¯æ°ããæ§æãè¿œå ããããšã¯åžžã«åä»ã§ãéçã®CSSãå°æ¥ã®CSSãã
calcã«é¢ããŠã¯ãæåããã³ã³ã»ã³ãµã¹ããã£ããšæããŸã-ãããã£ãŠãåºæ¬çã«ã¯ãã©ã³ãã£ã¢ããããå®è£ ããã®ãåŸ ã€ã ãã§ãïŒç§ã¯ã5ã6è¡ã®æ°ããã³ãŒãã§è¿ éãªä¿®æ£ãè¡ããããšèŠç©ãã£ãŠããŸã-ãããã£ãŠãå®éã«ã¯ãããè¡ãåæ¢ãªäºº-ãã€ããŒãªå®è£ ã®è©³çŽ°ã¯ç°ãªãå ŽåããããŸãããããã»ã¹ã§æ±ºå®ããããšã¯åé¡ãªããšæããŸãïŒã
è¯ãïŒ å¯èŠæ§ãé«ããããã«åå¥ã«è¿œè·¡ããå¿ èŠããããŸããïŒ
@ Seven-phases-maxïŒ
確ãã«ãå®éã®ãããžã§ã¯ãã§ã¯ãã®ãããªã³ãŒãã¯ã»ãšãã©èŠã€ãããŸããïŒãããã
\9
ãããªããã¯ãé€ãïŒ
å³ã ããããã®ã§ããŒãã®ã西æŽäººã... :)
@ seven-phases-max
ç°¡åãªè³ªåã«çããŠãã ãããã0+ 1/2ã¯ïŒ1/2ïŒãããåªããŠããå¯èœæ§ããããŸããïŒã
ã©ãã«è¡ãã®ãããããŸããã (1/2)
ã¯ãæå¹ãªCSSã§ããå¯èœæ§ããªããããLESSã§å®è¡ããå¿
èŠããããŸãããããã£ãŠãLESSãšããŠæå³ããå¿
èŠããããŸãã 0 + 1/2
ã¯1/2
ã«ãªãã¯ãã§ããããã§ãLESSã¯0 + 1
éšåãå®è¡ããŸããããã¯ãæå¹ãªCSSã«ã¯ãªãåŸãªãéšåã ããã§ãã 1/2
éšåã¯æå¹ã§ãã
@thany
OKã (1/2)
LessãšSassã®äž¡æ¹ã§æåŸ
ã©ããã«æ©èœããããšãç解ããŠãã ããã
ãããŠã 0 + 1/2
ïŒããã³1 * 1/2
ãªã©ïŒã¯ãäžèšã§ããªãªã¢ã³ããšåŒã¶ãœãªã¥ãŒã·ã§ã³ã®äžéšã§ããããããªãªã¢ã³ããœãªã¥ãŒã·ã§ã³ãã®çµæã¯0.5
ã§ãã
ããã§äœãèµ·ãã£ãŠããã®ããŸã ããããŸãããïŒ
äžèšã®ãã¹ãŠïŒæåã®æçš¿ããéå§ïŒãããäžåºŠèªã¿çŽããŠããç§ãäžæºãèšã£ãŠããã®ã¯æ£ç¢ºã«ã¯äœã§ããïŒããšèªåèªèº«ã«çããŠã¿ãŠãã ããã
@ seven-phases-max
ãããŠã0 + 1/2ïŒããã³1 * 1/2ãªã©ïŒã¯ãäžèšã§ããªãªã¢ã³ããšåŒã¶ãœãªã¥ãŒã·ã§ã³ã®äžéšã§ããããããªãªã¢ã³ããœãªã¥ãŒã·ã§ã³ãã®çµæã¯0.5ã§ãã
ãããã解決çã¯0.5
ã§ã¯ãªã1/2
ãªããŸããããã¯ã 1/2
ãæå¹ãªCSSã§ããå¯èœæ§ãããããã§ãã ããªãã¯ã¹ã©ãã·ã¥ãæå¹ã§ãããšãç¥ã£ãŠLESSããããããã«èŠããã®ã§ãããã¯åžžã«ãããããããªããšä»®å®ããªãã§ãã ããã ãããã£ãŠã 1/2
ãå¯äžã®è«ççãªçµæã§ãã åæ§ã«ã 2 * 1/2
ã¯2/2
ã«ãªããŸããããã¯ã *
ããã以å€ã®å Žåã¯ç¡å¹ãªCSSã«ãªãããã§ãã
ããã§äœãèµ·ãã£ãŠããã®ããŸã ããããŸãããïŒ
ããã§äœãèµ·ãã£ãŠããã®ãå®å šã«ã¯ã£ããããŠããŸãã LESSã¯ãæ°åŠã®é€ç®ãç±å¿ã«å®è¡ããç²ç®çã«åäœãç¡èŠããŸãã
äžèšã®ãã¹ãŠïŒæåã®æçš¿ããéå§ïŒãããäžåºŠèªã¿çŽããŠããç§ãäžæºãèšã£ãŠããã®ã¯æ£ç¢ºã«ã¯äœã§ããïŒããšèªåèªèº«ã«çããŠã¿ãŠãã ããã
å人çãªæ»æã®å¿ èŠã¯ãããŸããã
LESSã¯ãæ°åŠã®é€ç®ãç±å¿ã«å®è¡ããç²ç®çã«åäœãç¡èŠããŸãã
ã ãããããã¯ããªããäžå¹³ãèšã£ãŠããããšã§ãããïŒ
å人çãªæ»æã®å¿ èŠã¯ãããŸããã
ã§ã¯ã代ããã«äœããã¹ãã§ããããïŒ å
ã®2ã€ã®æçš¿ãäœåºŠãïŒãããŠäœåºŠãïŒç¹°ãè¿ããŸããïŒ ãããããªãã«æããã«ãªããŸã§ïŒ
@ã³ãã¥ããã£ïŒ
-sm
ãªãã·ã§ã³ã䜿çšãã
@thany ïŒ
ãã®åŸãããã©ã«ãã§ãªã³ã«ãªã£ãŠããã¯ãã§ãã
@ Seven-phases-maxïŒ
ããã¯ããã«ç¡æ°ã®ãããžã§ã¯ããå£ããŠããŸãããã§ã¯ãããŸããã ãããã£ãŠãããã©ã«ãã®åäœãåé¡ãšããŠæ±ãå Žåã¯ãææžåããããªãã·ã§ã³ãèšå®ããã ãã§å®äºããŸãã
ããã§ãããªãã¯ãããããã¹ãã§ãããããããããã¹ãã§ãããããããããã¹ãã§ããããäœãæåŸ ããŠç¹°ãè¿ããŠããã®ã§ããïŒ ç§ãã¡ã«ãšã£ãŠãããªããææ¡ããããšãããŸããããªãçç±ãäžè¬çã«æå³ããªãçç±ã詳现ã«èª¬æããããšããŠæéãç¡é§ã«ããããããããããããã¹ãã§ã¯ãããŸããããšçããæ¹ãç°¡åã ãšæããŸãïŒããªããããããªã説æç解ããããåã«ç解ã§ããªãïŒã
ã§ã¯ããã®ã¹ã¬ããã¯äœã«ã€ããŠã§ããïŒ ããã¯ãã -sm
ãããªåäœã®ããã©ã«ããäœæãããšããæçµçãªé倧ãªå€æŽã¯é¿ããããªãããæããããã®ä»¥å€ã®ããå¿«é©ãªç®è¡æŒç®ã®ããã®æ©èœãæäŸããå¿
èŠãããããšãèªèããããšã§ãïŒ margin: (1/2) (3/4) (5/6) (7/8);
ç®è¡ããããã䜿ããã
ããã«æçš¿ããã®ã¯ãæ¢åã®-sm
åäœãããåªããŠããïŒãŸãã¯ãŸã£ããåãããšãããŠããïŒããšãææ¡ããããæåããåé¡ã®ãªãããšïŒããã«ãããããªïŒã«ã€ããŠè°è«ããããšã§ãã èšãæããã°ãåãªãã©ã³ãã ãã€ãºã§ãã
@ Seven -phases-max @ äžããŸãããã åšãã«ã¯åŒ·ãæèŠããããŸãã
ã»ãšãã©ã®äººã¯ããããã®äž¡æ¹ã®åšãã§åãããŒãžã«ãããšæããŸããçæ³çã«ã¯ãLessã«ãã£ãŠæ°åŒãšããŠè§£éãããŠããŸããã
font: 12px/10px;
width: calc(100% - 20px);
ãããã£ãŠããããã®ç¹ã«ã€ããŠã¯ã»ãšãã©åæããããã»ãšãã©ã®è°è«ã¯å¯èœãªè§£æ±ºçã«é¢ãããã®ã§ãã calc()
åé¡ã¯ãåé²ããã®ã«ååãªã³ã³ã»ã³ãµã¹ãããããã§ãã åºæ¬çã«ïŒcalcã«ã¯è§Šããã calc()
å€æ°ãæååè£éã®ããã«æ±ããŸãã ããã¯Sassã®ããæ¹ãšã»ãŒåãã§ããã calc()
ã®è£éæ§æãå¿
èŠã§ãããããã¯å¿
èŠãªããšæããŸãã
font
éšåã®è§£æ±ºçã¯éåžžã«è€éã«ãªããäž»èŠãªè§£æ±ºçã¯æ¬¡ã®ãšããã§ãã
strictMath
ã¹ã€ããïŒããã©ã«ãã«ãã代ããã«è¿œå ããããã®ãããã³@ Seven-phases-maxã®ææ¡ïŒãåãæ¿ããŠããããã¹ãŠã®èšç®ãæ瀺çã«å®è¡ããŸãã æè¡çã«ã¯ãçŸåšã»ãšãã©ã®äººã«ãšã£ãŠå¯èœãªè§£æ±ºçã§ããã....質åã¯é »ç¹ã«åºãŠããŸããå¿ççã«ã¯ãã·ã¹ãã ã«äžæ
£ããªäººãããã©ã«ããä¿æããŠããå¯èœæ§ãé«ããããåé¡ããããŸãã ãŸããç¹ã«ããŒã ã§ã¯ããã¹ãŠã®éçºè
ããã«ãèšå®ãå€æŽã§ããããã§ã¯ãããŸããã./
ãããã¯æ©èœããŸãããèŠãã®ã¯å°ãå¥åŠã§ãã \
ã¯ã調æ»ãªãã§ã¯çŸæç¹ã§ã¯äžæã§ãã åäœããå¯èœæ§ãããããšã¹ã±ãŒããšã®æªç¥ã®ç«¶åãåŒãèµ·ããå¯èœæ§ããããŸãã ããã¯ããã¯ãªãŒã³ãªæ§æã§ãããïŒæœåšçã«ã¯äžæã§ããïŒãªã¹ã¯ãé«ããªããŸãã 誰ããæéããããŠããã競åãåŒãèµ·ãããªãããšããã¢ããå Žåãã€ãŸããããŒãµãŒã2ã€ãæ確ã«åºå¥ã§ããããã«ããšã¹ã±ãŒããšæ°åŠãæ··åšããäŸãæäŸããå Žåã§ããããã¯å¯èœæ§ã§ãã ã ããããã¯ãã ä»äºãããŸãã @thany ãããªããä»ã®èª°ããããã®ãã¡ã³ãªããããã¯å¿
èŠãªäœæ¥ã§ãã æåŸã«å¿
èŠãªã®ã¯ãäŒæ©ãå¥ã®å Žæã«ç§»åããããšã§ãããã®ã¹ã¬ãããåçŽåããããã«ãããããã¯#3
ã«çŠç¹ãåœãŠãå¿
èŠããããšæããŸãã ç§ã¯äž»ã«å¥œå¥å¿ãšããŠSassã®äŸãæçš¿ããŸãããããããã®è§£æ±ºçãåé¡ãé©åã«è§£æ±ºãããå®å
šã«è§£æ±ºãããããããšã¯ãªããšæããŸãããŸããæŠå¿µçã«ã¯Lessãšäºææ§ããããŸããã 0 + 1/2
ãèŠæ±ããããšã®åŠ¥åœæ§ã«ã€ããŠè°è«ããããšã¯ãç§ãã¡ãã©ãã«ãé£ããŠè¡ããªãã§ãããã
ãããã£ãŠã calc()
åªãã解決çãããã°ãã»ãšãã©ã®æçš¿ãããåé¡ã®50ïŒ
ãåŸãããã®ã§ãçæçã«ã¯ãã®è³ªåã«ã®ã¿çŠç¹ãåœãŠãããšããå§ãããŸãã
å°ãªãé€ç®æŒç®åãå€æŽããå¿ èŠãããå Žåãäœã«å€æŽããå¿ èŠããããŸããïŒ
./
-ããã¯ç§ãæããã»ã©åä»ã§ããããããšã人ã
ã¯ããã§ãããšæããŸããïŒ\
-調æ»ãšèšŒæãããã³ããŒãµãŒãåŸãããã®æ¬äŒŒã³ãŒãããªããã°ãããã¯åé²ããŸããã ãããå®å
šã§ãããšèšŒæã§ããã°ãç§ã¯å人çã«ããã奜ãã§ããããæ£çŽãªãšããã calc()
ãå€æŽããŠ/
ãå€æŽãããšãLessã§æ°åŠã®åšãã®ãã€ãºã®99ïŒ
ãéããããšãã§ãããšæããŸãã
ããã«ã¡ã¯ã calc()
ãä¿®æ£ããŸãã-httpsïŒ//github.com/less/less.js/pull/3162
å€ãã®ã¢ããªã³ã³ãŒããªãã§æ©èœãããœãªã¥ãŒã·ã§ã³ãæãã€ãããšããç§ã¯ã¡ãã£ãšé©ããã åºæ¬çã«ã strictMath
ã¹ã€ããã®ã³ãŒãã¯ãã§ã«ãããåŒããã§ãã¯ã€ã³ããŠãæ¬åŒ§ã®å€ã«ããå Žåã¯æ°åŠãè©äŸ¡ããªãããã«ããŸããããã®ããã calc()
è©äŸ¡äžã«æ°åŠããªãã«ããããã«ãåŒã³åºãã«ã¹ã€ãããè¿œå ããŸããã
https://github.com/less/less.js/pull/3162/files#diff-a94aaffd78b1d3c5eda7a42d5be1ca0dããã³https://github.com/less/less.js/pull/3162/files#diff-4e696271823c96903a91fff84983bab6ã確èªããŠãã ãã
ãã¹ãã¯ååã§ããïŒ
@ matthew-deanïŒcoffeeïŒ
ãã¹ãã¯ååã§ããïŒ
PRã®ã³ã¡ã³ãããšã«ã次ã®ãããªãã¹ããè¿œå ããŠãã ããã
foo: 1 + 2 calc(3 + 4) 5 + 6; // expected result: 3 calc(3 + 4) 11;
ãããŠãã€ããŒãªæ³šæïŒãã®ä¿®æ£ã¯æããã«ïŒ1627ãšåãåé¡ããããããŸããããªãã¡
<strong i="13">@a</strong>: floor(1.1);
<strong i="14">@b</strong>: floor(1 + .1);
div {
foo: calc(<strong i="15">@a</strong> + 20%); // ok
bar: calc(<strong i="16">@b</strong> + 20%); // error: invalid floor arguments
baz: @b; // ok
}
ãããã calc
å Žåã¯åé¡ãªããšæããŸãïŒçµå±ã®ãšãããé
延è©äŸ¡ã®æŠå¿µã倧å¹
ã«ããçŽãããšãªãããããä¿®æ£ããç°¡åãªæ¹æ³ãŸããïŒã ãããã£ãŠã calc
å
ã®å€æ°ã䜿çšããå Žåã¯ãé
延è©äŸ¡ã念é ã«çœ®ããŠããã¥ã¡ã³ãã«éç¥ãå
¥ããã ãã§ãããšæããŸãã
ãããŠãã€ããŒãªæ³šæïŒãã®ä¿®æ£ã¯æããã«ïŒ1627ãšåãåé¡ããããããŸã
ãããã£ããïŒ
PRã§ã®ã³ã¡ã³ããšåæ§ã«ãåŒã³åºãããšã«ã³ã³ããã¹ãmathOn
ããããã£ãåãæ¿ãããšãããã解決ãããŸãã åæ Œããfloat(1 + .1)
ãã¹ããè¿œå ããŸããïŒ
PRã§ã®ã³ã¡ã³ããšåæ§ã«ãåŒã³åºãããšã«ã³ã³ããã¹ãmathOnããããã£ãåãæ¿ãããšãããã解決ãããŸãã >åæ ŒããfloatïŒ1 + .1ïŒã®ãã¹ããè¿œå ããŸããïŒ
:)ãããã -sm: off
å Žåããããã¢ããšã©ãŒãçºçããå¿
èŠããããŸãã PRã®ç§ã®æ°ããã³ã¡ã³ããåç
§ããŠãã ããã
埩å
ã¯1 + 2 calc(3 + 4) 5 + 6
ãããªãã®ã ããåŠçããŸãã
:)ãããã-smïŒoffã®å Žåããfloorããšã©ãŒãçºçããå¿ èŠããããŸãã
ã©ãããŠïŒ calc()
å
ã®é¢æ°ã¯ãã¹ãŠLessé¢æ°ã§ããå¿
èŠããããŸãã ããã§ãªãå Žåã§ããcalcïŒïŒå
ã«ã¯ãçã®æ°åŒã䜿çšã§ããCSSãã€ãã£ãé¢æ°ã¯ãããŸããã æåŸ
ãããçµæã¯ãvarsé¢æ°ãšLessé¢æ°ãè©äŸ¡ããããšã§ãããçã®é¢æ°ã¯calc()
å
ã«æ®ããŠãããŸãã
è£è¶³ïŒLessã®é€ç®æŒç®åãšããŠ/
ã\
ã«åãæ¿ãããã©ã³ãå®éšãè¡ããŸããã ãšã¹ã±ãŒãããããã®ãã¹ãã¯ãã§ã«ããããããïŒã¢ãã¬ã¹çªå·3160ã«è¿œå ããŸããïŒããããã¯ãã¹ãŠæ£åžžã«æ©èœããæŒç®åãåãæ¿ããŠãæ°åŠã¯æ£åžžã«æ©èœããŸãã åºæã®ç«¶åã¯èŠãããŸããã§ããã ãã©ã³ãã¯ç§ã®ãã©ãŒã¯ã«ãããŸãïŒ https ïŒ
ReïŒå ¥ãåé¢æ°
ãã®ããïŒ
div {
bar: calc(floor(1 + .1) + 20%);
}
éçºè ãšããŠãæåŸ ãããçµæã¯æ¬¡ã®ããã«ãªããŸãã
div {
bar: calc(1 + 20%);
}
ããããŸãã«ä»èµ·ãã£ãŠããããšã§ãïŒãããã®å€æŽã§ïŒã ãšã©ãŒã¯ã¹ããŒãããŸããã
@ matthew-dean
ããããããªãããããæžããæ¹æ³ãããïŒ
foo: unit(1/2, px);
-sm:on
ã䜿çšãããšã次ã®ããã«ã³ã³ãã€ã«ãããŸãã
foo: .5px;
^-ééã£ãŠããŸãã
å
¥ãåé¢æ°ã«ã€ããŠãåãã§ãã ããã«ãã»ãšãã©ã®é¢æ°ãéåžžãåŒæ°ãšããŠç®è¡åŒããšãããšãã§ããªããšããäºå®ã¯ã -sm: on
ã«éåããçç±ã§ã¯ãããŸããã
ãããã£ãŠã -sm: on
äžã§
foo: floor(1 + .1);
bar: calc(floor(1 + .1) + 20%);`
ãšã©ãŒãã¹ããŒããå¿ èŠããããŸãïŒãããã³ãããã§å£ããŸãïŒã
ããªãã¯äœã«ã€ããŠè©±ããŠããŸããïŒ
unit(1/2, px)
ãš-sm:on
ïŒ
ERROR: error evaluating function `unit`: the first argument to unit must be a number. Have you forgotten parenthesis?
calc(floor(1 + .1) + 20%)
ãš-sm:on
ERROR: error evaluating function `floor`: argument must be a number
ãã©ã³ãããã§ãã¯ããŠãã ããã ãã£ãŠã¿ãŠã
ã³ãŒãã確èªããéã«åœ¹ç«ã€å¯èœæ§ã®ããããšã®1ã€ã¯ãäœãã誀ã£ãåºåãçæãããã©ããããããªãå Žåã¯ãããã確èªããããšã§ãã ãŸãã¯ãç¹å®ã®å ¥åãè©ŠããŠãæåŸ ã©ããã«æ©èœããããšã確èªããããã«äŸé ŒããŠãã ããã ãŸãã¯ããããã©ã®ããã«/ãªãæ©èœããã®ãããããªãå Žåã¯è³ªåããŠãã ããã ããã圹ã«ç«ããªããã©ãããç¥ããã«ãããééã£ãŠåŒã¶ããšã¯åœ¹ã«ç«ã¡ãŸããã
ç§ã®è¬çœªã ç§ã¯ãã®éšåã®éæ¥çãªå¶åŸ¡ãéãããšæããŸãã
ãã©ã³ãããã§ãã¯ããŠãã ããã ãã£ãŠã¿ãŠ
ã§ããŸãããããããªããã
ç§ã®è¬çœªã ç§ã¯ãã®éšåã®éæ¥çãªå¶åŸ¡ãéãããšæããŸãã
å¿é ãªãã ããã«å¯ŸåŠãããšãæåŸ ã©ããã«æ©èœããŠããããã«èŠããŸããïŒ
ããã«å¯ŸåŠãããšãæåŸ ã©ããã«æ©èœããŠããããã«èŠããŸããïŒ
ã¯ãããããŸã§ã®ãšãããä»ã«çãããããšã¯æ³åã§ããŸããã
@ matthew-dean
åºæ¬çã«ãLessã®é€ç®æŒç®åãå€æŽããŸãã ã¹ã¬ããã®äž»èŠãªåè£ã¯./ã§ãããããã¯æ©èœããŸãããèŠãã®ã¯å°ãå¥åŠã§ãã \ã¯èª¿æ»ãªãã§ã¯çŸæç¹ã§ã¯äžæã§ã[...] @ thany ãããªããä»ã®èª°ããããã®ãã¡ã³ãªããããã¯å¿ èŠãªäœæ¥ã§ãã æåŸã«å¿ èŠãªã®ã¯ãäŒæ©ãå¥ã®å Žæã«ç§»åããããšã§ãã
å®éã«ã¯ãŸã£ãããããŸããã \
æŒç®åãééããªãã£ãåŸã®æåŸã®æ段ãšããŠãLESSã«ç¬èªã®èšç®ã®ã¿ãå®è¡ãããããšææ¡ããŸããã æ°ããé€ç®æŒç®åãå¿
èŠãªå Žåã¯...ãŸãã calc()
ã¯å ç®ãæžç®ãä¹ç®ãå®è¡ã§ããŸãã ãããã®ããã®æ°ãããªãã¬ãŒã¿ãŒïŒ å®çšçã§ã¯ãªããšæããŸãã æ°ããé€ç®æŒç®åã¯ããã©ã³ããèæ¯ãå¢çç·ååŸãªã©ã®ãœãªã¥ãŒã·ã§ã³ã«ãªãå¯èœæ§ããããŸãããCSSæ°åŠã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã
ç§ã¯ãŸã æ¬åœã®è§£æ±ºçã¯ãLESSãã³ã³ããã¹ãã«ã€ããŠç¥ãããšã ãšæããŸãã calc()
ã¯CSSé¢æ°ã§ãããCSSã§ã¯å®è¡ã§ããªãæ°åŠã®ã¿ãè©äŸ¡ããå¿
èŠãããããšãç¥ã£ãŠããå¿
èŠããããŸãïŒã¯ããããã§ããã¹ãããããäžåºŠäœ¿çšããŸããä»ã«ã©ã®åèªã䜿çšããå¿
èŠããããŸããïŒ...ïŒ ã ãããã floor()
ã¯CSSã«ååšããªããããç¡å¹ãªCSSãåãåºããªãããã«ïŒå®å
šã«ïŒè©äŸ¡ããå¿
èŠããããŸãã ããã¯åã«å¥ã®èšãæ¹ã§è¿°ã¹ããšæããŸãã
ç§ã¯ãŸã æ¬åœã®è§£æ±ºçã¯ãLESSãã³ã³ããã¹ãã«ã€ããŠç¥ãããšã ãšæããŸãã calcïŒïŒã¯CSSé¢æ°ã§ãããCSSãå®è¡ã§ããªãæ°åŠã®ã¿ãè©äŸ¡ããå¿ èŠãããããšãç¥ã£ãŠããå¿ èŠããããŸãïŒã¯ããããã§ãshouldããããäžåºŠäœ¿çšããŸããä»ã«ã©ã®åèªã䜿çšããå¿ èŠããããŸããïŒ...ïŒã ãã ããfloorïŒïŒã¯CSSã«ååšããªããããç¡å¹ãªCSSãåãåºããªãããã«ïŒå®å šã«ïŒè©äŸ¡ããå¿ èŠããããŸãã ããã¯åã«å¥ã®èšãæ¹ã§è¿°ã¹ããšæããŸãã
ååã«å
¬å¹³ã§ãïŒ \
ã§ãããã³ã³ããã¹ãã«é¢ããŠã¯ãä»ã®æçš¿ã«åºã¥ããŠãããªããæã£ãŠãããããã¯ããã«è€éãªåé¡ã§ããããšãä¿èšŒã§ããŸãã ããªãã¯æ¬åœã«ããã次ã®ããã«ç
®è©°ããå¿
èŠããããŸãïŒ
12px/10px // Is this division, or not?
10px/1.5 // is this division, or not?
/
ãé€ç®æŒç®åãšããŠç¢ºå®ã«æ®ãã calc()
ãæš¡å£ãããããŸãã«ãªããªãããã«ããå Žåã¯ã /
ãå«ãŸããŠããããšã絶察ã«ç¢ºèªããå¿
èŠããããŸããæ¬åŒ§ïŒ calc()
äŸå€ãé€ãïŒã ããã¯äºæž¬å¯èœãªã³ã³ããã¹ããæäŸããŸãã
ãã®ã¹ã¬ããã®åé ã§ã®ãã®ææ¡ããŸã å¯èœæ§ããããããã€ãã®åŒ·åãªãµããŒãããããŸããã åºæ¬çã«ãããã©ã«ãèšå®ã§ã¯ãé€ç®ãé€ããŠãã¹ãŠã®æ°åŠãæ¬åŒ§ã®å€ã§ãµããŒããããŸãïŒ calc()
ãé€ããŠã3.0以éã®å Žåãåæ§ã§ãïŒã å€åããã¯è¡ãæ¹æ³ã§ãã ããã¯å¯èœã«ãªããŸãïŒ
font: 10px/1.5; // not division
font: (10px/10); // division, result is 1px
font: 10px+15px/1.5; // addition but not division, result is 25px/1.5
font: (10px+15px/1.5); // result is 20px
ã€ãŸãã 10px+15px/1.5
ã®çµæã¯ããã£ãã§å²ãŸããŠããªãéãããååè©äŸ¡ããããããã«èŠããåŒã§ãéçºè
ãç解ããã®ã¯ãŸã é£ãããããããŸããã ããç§ãã¡ãå
ã«é²ãã§ãããã©ã«ãã§å³å¯ãªèšç®ããªã³ã«ããŠãããªããããã¯ãããã倧äžå€«ã ã£ãã ããã ãããŸããã¯ããã«å°ãªããªããŸãã [è©ããããã]ãããã«ãããããçš®ã®ã³ã³ããã¹ãã§æ°åŠãã©ããããããšã¯ããããŸãããæé€ããæ¹æ³ã§ãããé€ç®æŒç®åãå€æŽãã以å€ã®é€ç®ã®å¯äžã®æ¹æ³ã§ãã
ã³ãã¥ããã£ã¯æ¬è³ªçã«æ¹åæ§ã決å®ããå¿ èŠããããŸãã ãã®ã¹ã¬ããã«ã¯å®è¡å¯èœãªãªãã·ã§ã³ããããŸãã ããããã«æ¬ ç¹ããããŸãã ããããã«åé¡ç¹ããããŸãã å®å šãªã³ã³ã»ã³ãµã¹ãæã€ãã®ã¯ãããŸããã ããããIMOã¯ãããã®ããããçŸåšã®ã·ããªãªãããåªããŠããŸãã ãã®é å€ã飲ã¿èŸŒãŸãªããã°ãªããªãã
ã§ããããäžå¯èœãä¹ãè¶ããããã«ããããææ¡ããããšæããŸãïŒ3幎åã®ã³ã¡ã³ããåç §ããŠãã ããïŒã
--strict-math
3ã®èšå®ãäžãã
on
ïŒè°è«ã解決ããã«ã¯ã --strict-math=division
ã¹ã€ããã次ã®ããšãå®è¡ã§ããããã«ããŸãã
/
æåã ãã§é€ç®ãå®è¡ããªãã§ãã ããã äŸïŒ border-radius: 55px / 25px;
->æ°åŠãªãïŒã¯ããããã¯æå¹ãªCSSã§ãïŒ.
ãã¬ãã£ãã¯ã¹- border-radius: 55px ./ 25px;
border-radius: (55px / 25px);
border-radius: (55px ./ 25px);
ã¯æå¹ã§ããããã£ãŠãéçºè
ãšããŠãäžæ¹ã®ããŒãžã§ã³ã奜ã¿ã§ã¯ãªããšæããå Žåã¯ãããäžæ¹ã®ããŒãžã§ã³ã䜿çšã§ããŸãã æ¬åŒ§ã䜿çšããããªãå ŽåããããŸãã ä¿®æ£ãããé€ç®æŒç®åã䜿çšããããªãå ŽåããããŸãã ã¿ããªã®ããã«äœãã ãããŠã /
ãfont
ã background
ã border-radius
ã§äœ¿çšãããŠããCSSã§çŸåšæ®åããŠããæ§æã䜿çšããŠãLessãåããŠäœ¿çšãã人ã«ãšã£ãŠäžå¿«ãªé©ãã¯ãããããŸããã @media
ã¯ãšãªãCSSã°ãªããããããã£ããããŠããããå°æ¥çã«ã¯ãã£ãšã
ããããªãã·ã§ã³ãšããŠPRã«å ¥ããŠããã説æããããã«ãå°æ¥ã®ã¡ãžã£ãŒããŒãžã§ã³ã®ããã©ã«ããšããŠåãæ¿ããããšããå§ãããŸã
@ matthew-dean
ã€ãŸããããªãªãã¯ãšã¹ã±ãŒãã·ãŒã±ã³ã¹ã®éã®ããã«æ©èœããŸããïŒ
æªãèãã§ã¯ãããŸãããæ¬åœã«...
ãããŠãèãããããã¹ãŠã®ããšã¯ã_ãããã_å¯èœãªéãæãã¯ãªãŒã³ãªãœãªã¥ãŒã·ã§ã³ã®1ã€ã§ãã
@rjgottenããããå§ããŸãããïŒ https ïŒ
ãã¹ãã®1ã€ã§ããã£ã¡ã³ã·ã§ã³ããŒãã®1ã€ãæäœããŒãã«å€ãã£ãããã«èŠããïŒæäœããŒãã§æäœãå®è¡ã§ããªãããã«ãšã©ãŒãã¹ããŒãããïŒãšããå¥åŠãªãšã©ãŒããŸã çºçããŠããŸãã strictMath: division
å®è¡ãããŠããªãå¥ã®ãã¹ããæ£åžžã«æ©èœããããã解æã®åé¡ã®ããã§ãããã§ãã¯ããŠã圹ç«ã€ãã©ããã確èªããŠãã ããã
ç§ãããããã®ã¯ããã®åé¡ãéããŠãæ®ãã®æ°åŠã®è³ªåãåŠçããæ°ããåé¡ãäœæããããšã§ãã å ·äœçã«ã¯ïŒ
strictMath: 'division'
æ©èœã
æãåèã«ãªãã³ã¡ã³ã
ææ¡ãåçŽå/èšãæããã«ã¯-æ°åŠã®å€æŽã¯æ¬¡ã®ããã«ãªããŸã
1px + 2px = 3px
ã1px + 1vh = 1px + 1vh
10px/2 = 5px
ã10px/5px = 10px/5px
1/3 = 1/3
1px + 2vh / 2 = 1px + 2vh / 2
ãã®ææ¡ã¯ãïŒãã®ã¹ã¬ããããïŒä»¥äžã解決ããŸãã
font: 10px/5px
ããã³åæ§ã®ïŒæ¯çïŒæ§æïŒèšç®ãªãïŒcalc(100vh - 30px)
ïŒèšç®ãªãïŒlost-column: 1/3
ããã³åæ§ã®ã«ã¹ã¿ã æ¯çæ§æïŒèšç®ãªãïŒåæã«ããããã®å€æŽã«ãããéåžžã®æ°åŠã®äœ¿çšéã®99ïŒ ãç¶æãããŸãã åæ§ã«ãæ¢åã®
unit()
ããã³convert()
é¢æ°ã䜿çšãããšããŠãŒã¶ãŒã¯æ°åŠã®äºææ§ã®ããåäœã«å€ããã£ã¹ãã§ããŸãã