ããºãã³ãè±ãããSassã®SASSè¨æ³ã®é åãã«ãã³ã¤ã¤ã
ã©ããã
CSS Preprocessor Advent Calendar 2012
2012å¹´12æ20æ¥ï¼æ¨ï¼ãæ
å½ããã¦ããã ãã¾ã@ken_c_loã§ãã
ããããããé¢ã ã®ä¸ãã¿ãªãããã¤ã¬ãã«ãªå 容ã§å¤§å¤æ縮ãã¦ããã®ã§ããããããªä¸ã¢ã¸ã¢ã¸ããªããããã空æ°ãèªã¾ãã«ããã£ã¨æ¸ãããã£ãã¦ã¶ãæãã®ã¨ã³ããªãæä¸ãããã¨æãã¾ãã
ãºãã³ãå±¥ããªããSASSè¨æ³ãã¨ã¯ï¼
çºç«¯ã¯ãã®ãã¤ã¼ãããã§ããã
â¦ã¨ããããªæµãã§ãããºãã³ãå±¥ããªããSASSè¨æ³ã¨ã¯ãªãããããã®é
åãã«ãã³ããã«ã¤ãã¦å説ãããã¨æãã¾ããããããã°SASSè¨æ³ä»²éãå¢ããããï¼ããã¦ããèåãªã©ãé£ã¹ãªããSASSè¨æ³ã®é
åã«ã¤ãã¦èªãåãã仲éã®å°ãªãã«ã¤ãã¦åãåã.sassã®ä¼ãæä¸ãããã§éå¬ã§ããã°ã¨æãã¾ãã
ã¾(*âÏâ*)ï¾ï¾ ï½½ï¾ï¾ï¾ï½°ï¾‼
Sassã«ã¯SCSSè¨æ³ã¨SASSè¨æ³ã2種é¡ã®æ¸ãæ¹ããã
Sassã¨è¨ãã°ãæ¨ä»SCSSè¨æ³ã®æ¹ãã¡ã¸ã£ã¼ã§ãWebä¸ã§è¦ãããè³æãªã©ãSCSSè¨æ³ãæ®ã©ãªã®ã§ãããããä¸ã¤SASSè¨æ³ï¼SASSã·ã³ã¿ãã¯ã¹ï¼ã¨ããæ¸ãæ¹ãããã¾ããSassã®SASSã¿ãããªè¨ãæ¹ã«ãªã£ã¦ãã¾ã£ã¦é常ã«ãããã«ããã®ã§ããããã¨ãã¨Sassã¯SASSè¨æ³ã§æ¸ããã¦ãããã®ã®ãCSSã¨ã¯ããªãè¦ãç®ãéãããã¨ãã¨CSSã®è¨æ³ã«æ
£ã親ããã§ããWebãã¶ã¤ãã¼ã«ã¨ã£ã¦ã¯æ·å±
ãé«ãæãã«ãªã£ã¦ãã¾ã£ãã®ã§ãSass3.0ãããããå
ã®CSSã¨è¿ãSCSSï¼Sassy CSSï¼è¨æ³ãæ¡ç¨ããããã¡ãã®ã»ãã主æµã«ãªã£ãã¨ããæµãã®ããã§ãã
ãªããSASSè¨æ³ã«ã¤ãã¦ã¯ã大æåã§ãSASSããªã®ããå°æåã§ãSassããªã®ããç§ã¯ãã¾ã ã«ããããã£ã¦ãªãã®ã§ããããSASSãã¨å¤§æåã§è¡¨è¨ãã¦åºå¥ãã¦ããè³æããã¾ã«ã¿ãããã®ã§ãããã§ã¯è¨æ³ã®SASSã¯å¤§æåã§çµ±ä¸ãããã¨æãã¾ãã
ã§ã¯ç¾èã¯ä¸è¦ã«å¦ããã¨ãããã¨ã§ãã¾ãã¯SCSSã¨SASSãè¦æ¯ã¹ã¦ã¿ã¾ãããã
å
æ¥æ¸ããã¦ããã ããããºã«ãç·ãä¾ã«ãã£ã¦ã¿ã¾ãã
ã¾ãã¯SCSSè¨æ³ï¼sample.scssï¼
â
ãããSASSè¨æ³ã§æ¸ãã¨ãããªãï¼sample.sassï¼
ã©ãã§ãï¼ï¼ãã®ããã«SCSSã ã¨20è¡ã§æ¸ãã¦ããã¨ããããSASSã§æ¸ãã¨åãå
容ã§ã15è¡ã§æ¸ãã§ãã¾ãã®ã§ãããã¡ããæçµçã«ã³ã³ãã¤ã«ãããCSSã®æåæ°ã¯ãããã¾ããããå
¥åããæåæ°ãå°ãªããããããã楽ã«ãªãã¾ãã
è¦ããã«ãSASSè¨æ³ã
_人人人人人人_
ï¼ããºã«ãï¼ãï¼
ï¿£^Y^Y^Y^Y^ï¿£
ã¨è¨ãã¾ãã
SASSè¨æ³ã¨SCSSè¨æ³ã¨ã®éã ãå®ã¯ãããªã«éããªãã
SASSè¨æ³ãä¸è¦ãã¦ã¿ãã¨CSSã¨ã®è¦ãç®ã®éãã«å°ãã®ã§ãã¨ãã¦ãã¾ãã¨æãã®ã§ãããå®ã¯SCSSã¨æ¯è¼ãã¦ãããªã«å¤§ããéãããã§ããªãã®ã§ãããã£ããåæãã¦ã¿ãã¨ãä¸è¨ã®ãããªéããããã¾ãã
- ã¤ã³ãã³ãã§ãããã¯ã表ã
- æ³¢æ¬å¼§ {} ããªã
- ã»ãã³ãã³ ; ããªã
- : ã®å¾ã«ã¹ãã¼ã¹ãå¿ é
- @mixin â=
- @include â+
- æ¡å¼µåã.sass
ãããã®éããä¸ã¤ä¸ã¤è¦ã¦ã¿ã¾ãããã
ã¤ã³ãã³ãã§ãããã¯ã表ãã®ã§ãæ³¢æ¬å¼§ {} ãè¦ããªã
ãããæã大ããªéãã§ãããºãã³ãå±¥ããªããã¨è¨ãããæ以ã§ããã«ãã³ã§éããªãã¦ãã代ããã«ãã¤ã³ãã³ãï¼åè§ã¹ãã¼ã¹2ã¤ï¼ã§1ãããã¯ã表ãã¾ãã
ãã®ãããã§ãæ¸ãè¡æ°ãããªãç縮ã§ãã¾ããã¾ããä¾ãã°ããã¨ã§ãã1é層ãã¹ããããã¨æã£ãã¨ãã«ããã¾ã¨ãã¦ã¤ã³ãã³ããä¸åä¸ããã°ããã®ã§ã¨ã£ã¦ã楽ã§ãã
è¡æ«ã®ã»ãã³ãã³ ; ããªã
ãããæ
£ããã¾ã§ãã£ããã¤ãã¡ãããã§ãããSassè¨æ³ã§ã¯è¡æ«ã®ã»ãã³ãã³ ; ãè¦ãã¾ããããã£ããã¤ãã¡ããã¨ã¨ã©ã¼ã§æããã¾ãããããåæ¥ãSASSãæ¸ãã°æ
£ãã¾ããããã¦SCSSãCSSãæ¸ãã¨ãã« ; ããã£ããå¿ããããã«ãªãã¾ãã
ã³ãã³ : ã®ç´å¾ã«åè§ã¹ãã¼ã¹ãå¿ é
ãããæ
£ããã¾ã§ãã£ããå¿ããã¡ãªãã§ãããSASSè¨æ³ã§ã¯ : ã®ãã¨ã«åè§ã¹ãã¼ã¹ãå¿
é ã«ãªãã¾ããããããã£ããå¿ããã¨ã¨ã©ã¼ã§æããã¾ããããããåæ¥ãæ¸ãã°æ
£ãã¾ããCSSãSCSSã§ã¯å¿
é ã§ã¯ãªãã§ãããæ¬æ¥ã¤ããã»ããèªã¿ãããã¦ããã®ã§ãçµæçã«ããããªã³ã¼ãã£ã³ã°ãå¼·ãããããã¨ã«ãªãã¾ãã
@mixin â = ï¼ @include â+ ã§è¡¨ãã
ãããä¸çªå人çã«SASSè¨æ³ã好ãã§ãã¾ãã«ãã³ã¤ã¤ï¼ã¨æã£ã¦ããç¹ã§ãã
"@mixin" 㯠"="
"@include" 㯠"+"
ã§è¡¨ããã¨ãã§ãã¾ãããããã
_人人人人人人人人
ï¼ãã«ãã³ã¤ã¤ï¼ãï¼
ï¿£^Y^Y^Y^Y^Y^Y^ï¿£
ã¨ãã£ã¿ä¸ã§ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããããæã«ããè¨å·1æåã§ã¾ã¨ã¾ã£ã¦ããã®ã§ãä»ã®ããããã£ãªã©ã¨åºå¥ãã¤ããããè¦ããããã§ããã
ãï¼
_人人人人人人人_
ï¼ãè¦ãããï¼ãï¼
ï¿£^Y^Y^Y^Y^Y^ï¿£
@mixinã@includeã®è¡¨è¨ã®ã¾ã¾ã§ã大ä¸å¤«ãªã®ãããã¨ããã§ãã
æ¡å¼µåã¯.sassã.scssããã®å¤æãç°¡åã
SCSSè¨æ³ã®æ¡å¼µåã.scssãªã®ã«å¯¾ãã¦ãSASSè¨æ³ã®æ¡å¼µåã¯.sassã§ãã
.scssã®ãã¡ã¤ã«ãã.sassã«å¤æããã®ãç°¡åã§ãã¿ã¼ããã«ã§
$ sass-convert hoge.scss hoge.sass
ã¨ããã°ä¸çºå¤æãã¦ããã¾ããã¾ããSCSSã¨ã®ä½µç¨ãã§ãã¾ãã
ä»ã«ãSASSè¨æ³ã®ããã¨ãã
æ®æ®µã®ä»äºãRuby on Railsã§HamlãCoffeeScriptã使ã£ã¦ãããããåãã¤ã³ãã³ãè¨æ³ã§æã£ã¦æ°æã¡ããã¨ãããè¯ãã§ãã
ä¸æ¹ã§ãWebä¸ãªã©ã§è¦ããã大ä½ã®Sassã®è³æãSCSSãªããããã®ã³ã¼ããããªãã¨æã£ã¦ã³ãã£ã¦ãããã¨ã§{}ã;ãå¿
æ»ã§åããªããã°ãªããªãã¨ããæ¬ ç¹ãããã¾ããåå¼·ä¼ã§çºè¡¨ãªã©ãããã¨ãã§ãã話ãã·ã³ãã«ã«ããããä¸è¬çã«æ®åãã¦ããSCSSã«ããããæ¸ããªããããããã®ãå°ãããã©ãã§ãã
è¥å¹²ãªã¯ã³ã³æãããSASSè¨æ³ã§ãããä¸è¨ã§è¿°ã¹ãããã«æ¥½ã§ã«ãã³ããã¦ãºã«ãã®ã§ãã¿ããªä½¿ãã°ããã®ã«ã¨å¸¸ã
æã£ã¦ãã次第ã§ãã
ä»æµè¡ã£ã½ãï¼ï¼ï¼@extendã¨ããåé¡ãªã使ãã¾ãã
ã¡ãªã¿ã«ç§ã¯ã¾ã 使ã£ããã¨ãªããã§ãããStylusã 㨠: ã¨ã + ã¨ã = ã¨ããè¦ããªããªã£ã¦ãã¾ãã¿ããã§ããºãã³ã¯ãã¦ãªãã©ããããã³ãã¯ãã¦ãªããããã®æãã ãªãã¨æãã¾ããã使ã£ã¦ã¿ããâ¦ã
ãããªããã§ã
_人人人人人人人人人人人人人人_
ï¼ãSASSè¨æ³ã§ãºãã³ãè±ãããï¼
ï¿£^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ï¿£
ç§ããã¯ã以ä¸ã§ãã