
ç§ã¯CSSã奜ãã§ã¯ãããŸããã ããã¯ã·ã³ãã«ã§ç°¡åã§ãã ããã¯ã€ã³ã¿ãŒãããã®åååã§ãããããŸãã«ãå¶éãããŠããã管çãå°é£ã§ãã ä»åºŠã¯ããã®èšèªãæŽçããLESSã§åçCSSã䜿çšããŠãã䟿å©ã«ãããšãã§ãã
ç§ã®ç«å ŽãäŸã§èª¬æããŸãã ãªããïŒFF9F94ã䜿çšããŠæ¿ãæ¡è²ãååŸããã®ã§ã¯ãªããåŸã§äœ¿çšããããã«ãã®è²ã®å€ãå€æ°ã«ä¿åããªãã§ãã ããã ãµã€ããåæç»ããã«ã¯ã1ãæã§å€æ°ã®å€ãå€æŽããã ãã§ååã§ãã
ã€ãŸããCSSã§å°ãããã°ã©ãã³ã°ãšããžãã¯ã䜿çšããŠãã匷åãªããŒã«ã«ãããšãéåžžã«ãšã¬ã¬ã³ãã«ãªããŸãã
LESSã䜿çšããŠããããã¹ãŠå¯èœã§ããã®ã¯è¯ãããšã§ãã
LESSãšã¯äœã§ããïŒ
LESSã¯CSSã¢ããªã³ã§ãã ã€ãŸããCSSã³ãŒãã¯æå¹ãªLESSã§ãããè¿œå ã®LESSèŠçŽ ã¯ãã¬ãŒã³CSSã§ã¯æ©èœããŸããã æ¢åã®CSSã¯æ¢ã«å®è¡å¯èœãªLESSã³ãŒãã§ãããããããã¯çŽ æŽãããããšã§ããããã«ãããæ°ãããã¯ãããžãŒãå°å
¥ããããã®ãããå€ãäœããªããŸãã
LESSã¯ãå€ãã®äŸ¿å©ãªåçããããã£ãCSSã«è¿œå ããŸãã å€æ°ãæŒç®ãé¢æ°ã«äŒŒãèŠçŽ ãäžçŽç©ãå°å
¥ããŸãã ã¢ãžã¥ãŒã«åœ¢åŒã§ã¹ã¿ã€ã«ã·ãŒããäœæããæ©èœã«ãããå€ãã®ãã©ãã«ã軜æžãããŸãã
LESSã®äœ¿çšæ¹æ³
LESSã䜿çšããã«ã¯2ã€ã®æ¹æ³ããããŸãã LESSãã¡ã€ã«ãäœæãããªã³ã¶ãã©ã€ã§Javascriptã䜿çšããŠå€æããããäºåã«ã³ã³ãã€ã«ããŠçµæã®CSSãã¡ã€ã«ã䜿çšã§ããŸãã ãã³ã³ãã€ã«ããšããèšèãæããªãã§ãã ããïŒç§ã¯ãã€ã䜿ã£ãŠããŸãïŒãããã¯éåžžã«åçŽã§ãã
LESSãšJavascriptãã¡ã€ã«ã䜿çšããŸã
ãŸã
ãLESS Javascript
Webãµã€ããããã¡ã€ã«ãããŠã³ããŒãããä»ã®jsã¹ã¯ãªãããšåæ§ã«ããŒãžã«æ·»ä»ããå¿
èŠããããŸãã
<script src="less.js" type="text/javascript"></script>
次ã«ãæ¡åŒµåã.lessã®ãã¡ã€ã«ãäœæãã次ã®ã³ãŒãã§æ·»ä»ããŸãã
<link rel="stylesheet/less" type="text/css" href="style.less">
JSã®åã«LESSãã¡ã€ã«ãå¿
ãæ·»ä»ããŠãã ããã
ããã§ãLESSãã¡ã€ã«ã¯éåžžã®CSSãšåãããã«æ©èœããŸãã
LESSãã¡ã€ã«ã®ã³ã³ãã€ã«
ãã®æ¹æ³ã¯å°ãé¢åã§ãããæã«ã¯ããæãŸããæ¹æ³ã§ãã åããŒãžã®èªã¿èŸŒã¿æã«ã³ãŒããå€æããªãããã«ãçµæã®CSSãã¡ã€ã«ã䜿çšã§ããŸãã ã³ã³ããŒã¿ãŒïŒWindowsçš
-Winlessããã³Macçš
LESS.app ã
LESSã®ãã¯ãŒã䜿ãããªã
æåŸã«ã楜ãã¿ãŸããã-LESSã³ãŒããæžããŸãã ã芧ã®ãšãããã³ãŒãã¯CSSã«äŒŒãæ§æã䜿çšããŠãããããã³ãŒãã®èªã¿åããšç解ãéåžžã«ç°¡åã§ãã
å€æ°
LESSã®å€æ°ã¯ãPHPãJSãããã³ä»ã®ã»ãšãã©ã®ããã°ã©ãã³ã°èšèªãšåãããã«æ©èœããŸãã ãããã䜿çšããŠå€ãä¿åããå¿
èŠãªãšãã«å€èªäœã§ã¯ãªãå€æ°ã䜿çšã§ããŸãã
@header-font: Georgia; h1, h2, h3, h4 { font-family: @header-font; } .large { font-family:@header-font; }
äžèšã®äŸã§ã¯ãå€æ°@ header-fontã宣èšããããã«å€ãGeorgiaããèšè¿°ããŸãã ããã§ãGeorgiaãã©ã³ããèšå®ãããšãã«ãã®å€æ°ã䜿çšã§ããŸãã Trebuchet MSãããããŒã«é©ããŠãããšå€æããå Žåããã¡ã€ã«å
šäœãèŠãå¿
èŠã¯ãªããå€æ°ã®å€ãå€æŽããã ãã§ãã
ãµã€ãã®è²ãå®çŸ©ããéã«å€æ°ãéåžžã«åœ¹ç«ã€ããšãããããŸããã å€ãè¯ãæ代ïŒããã»ã©æã§ã¯ãªãã£ãïŒã«ãç§ã¯æ¬¡ã®ãããªãã®ã䜿çšããŸããã
body { background: #333333; color: #454545; } a { color:#ff9900; } h1, h2, h3, h4, h5, h6 { color: #333333; }
ããã®ããã«è²ãææžåããŠãäœãåé¡ã¯ãããŸãããè¯ãç¿æ
£ã§ããåé¡ã¯ãææžåãã¹ã¿ã€ã«ã®æ©èœãšã¯äœã®é¢ä¿ããªãããšã§ãã 2000è¡ã®ã³ãŒãã®åŸã«ââè²ãå€æŽãã3567è¡ãå€æŽããå Žåããã¹ãŠã®è²ãšããã¥ã¡ã³ããä¿®æ£ããã®ã¯éåžžã«å°é£ã§ãã
LESSã䜿çšãããšãã¯ãŒã¯ãããŒãåæã«å€æŽããã³ææžåã§ããŸãã
@color-orange: #ff9900; @color-gray_light: #cccccc; @color-black_dark: #333333; @color-black_medium: #454545; body { background: @color-black_dark; color: @color-black_medium; } a { color:@color-orange; } h1, h2, h3, h4, h5, h6 { color: @color-black_dark; }
å¯å€ç¯å²
å€æ°ã®ã¹ã³ãŒãã¯ãå€æ°ãå©çšå¯èœãªå Žæã瀺ããŸãã LESSãã¡ã€ã«ã®å
é ã§å€æ°ãå®çŸ©ãããšããã®åŸã«èšè¿°ãããã³ãŒãã§äœ¿çšã§ããããã«ãªããŸãã
CSSã«ãŒã«å
ã§å€æ°ãå®çŸ©ããããšãã§ããŸãã ãã®å Žåãå€æ°ã¯ãã®ã«ãŒã«å€ã§ã¯äœ¿çšã§ãããããŒã«ã«ã§äœ¿çšã§ããŸãã
a { @color: #ff9900; color:@color; } button { background: @color; }
ãã®äŸã§ã¯ããšã©ãŒã®ããLESSã¯å€æãããŸããããã¿ã³èŠçŽ å
ã§äœ¿çšããããã®
è²ã¯å®çŸ©ãããŠããŸããã å€æ°ãèŠçŽ ã®å€åŽãšå¥ã®èŠçŽ ã®å
åŽã§å®£èšãããŠããå Žåãå€æ°ã¯ããŒã«ã«ã§ã®ã¿äœ¿çšå¯èœã«ãªããŸãã
@color: #222222; a { @color: #ffffff; color:@color; } button { background: @color; }
ãã®å Žåããªã³ã¯ã¯çœãå¡ããããã¿ã³ã®èæ¯ã¯é»ã«ãªããŸãã
å€æ°å
ã®å€æ°
PHPã§ãšã³ã³ãŒãããå Žåãå¥ã®å€æ°ã§å€æ°åã宣èšã§ããããšãããããŸãã
@color-chirstmas_red: #941f1f; @name-of-color: "color-chirstmas_red"; color: @@name-of-color;
å人çã«ã¯ãå€æ°å
ã®å€æ°ã¯ã¯ããŒãžã£ãŒãªãã§ã¯ã»ãšãã©åœ¹ã«ç«ããªãããããããã»ãšãã©äœ¿çšããŸããããããã䜿çšããã¹ããŒããªäŸããããšç¢ºä¿¡ããŠããŸãã
å®æ°ãšå€æ°
èªãã ããšãšã¯å察ã«ãLESSã®å€æ°ã¯å®æ°ã«äŒŒãŠããããšã«æ³šæããããšãéèŠã§ãã ããã¯ãå€æ°ãšã¯ç°ãªããäžåºŠããå®çŸ©ã§ããªãããšãæå³ããŸãã
éå¶
LESSã®æäœã䜿çšããŠãéåžžã«æ£ç¢ºãªå¶åŸ¡ãå®çŸã§ããŸãã ã¢ã€ãã¢ã¯ç°¡åã§ãïŒ
.button{ @unit: 3px; border:@unit solid #ddd; padding: @unit * 3; margin: @unit * 2; }
äžèšã®ã³ãŒãã¯ã
ãŠãããå€æ°ã3pxã«èšå®ããŸãã 次ã«ããã®å€ããã¬ãŒã ã®å¹
ã«èšå®ããŸããã€ã³ãã³ãã¯å¹
ã®3åã§ãããŒãžã³ã¯2ã§ãã
ä¹ç®ãé€ç®ãå ç®ãæžç®ã®æŒç®ã䜿çšã§ããŸãã 蟺ã®å¹
ãæèšåãã«åºãããã¬ãŒã ã§ãããã¯ãäœæããã«ã¯ã次ã®ã³ãŒãã䜿çšã§ããŸãã
.box{ @base_unit: 1px; border: @base_unit @base_unit + 1 @base_unit + 2 @base_unit + 3 }
ã«ã©ãŒãããžã¡ã³ã
LESSã®ç§ã®ãæ°ã«å
¥ãã®æ©èœã¯ã«ã©ãŒãããŒãžã¡ã³ãã§ãã è²ãæ··åããæäœãšãè²ãæäœããããã®ããã€ãã®ç¹å¥ãªæ©èœã䜿çšã§ããŸãã
ã«ã©ãŒæäœ
è²ã®å€ãå€æŽããå Žåã¯ãå¥ã®è²ãæžç®ãŸãã¯è¿œå ããããšã§ãããå®è¡ã§ããŸãã
@color: #941f1f; button { background: #941f1f + #222222; border: #941f1f - #111111; }
äžèšã®ããã¯ã°ã©ãŠã³ãæäœã«ãããåHEXå€ã2ãã€å¢å ããŸããçµæã¯ãB64141ã-å
ã®è²ã®æããããŒãžã§ã³ã§ãã ãã¬ãŒã æäœã«ãããåHEXå€ã1ãã€æžããã830E0Eãã®ãããªæãè²ãçæãããŸãã
å®éã«ã¯ãåºæ¬è²ããå§ããŠãå°ãæããããæãããããããå¿
èŠãããå Žåãå€ããããŸãã
@color-button: #d24444; input.submit { color:#fff; background:@color-button; border:1px solid @color-button - #222; padding:5px 12px; }
ãã®ã³ãŒãã¯ãå¢çç·ããããã«æãèµ€ããã¿ã³ãäœæããŸãã ããã¯äžè¬çãªç¶æ³ã§ããã1è²ã®ã¿ãå®çŸ©ãããšå€§ããªå©ãã«ãªããŸãã
å€æ°ã®åšåã¯ã以äžã§ããæ確ã«ãªããŸãã ãã¿ã³ã®è²ãå€æŽããå Žåã@ color-buttonã®å€ãç·ã«å€æŽãããšãèæ¯è²ãå€æŽãããã ãã§ãªããã¹ãããŒã¯ãç·ã®æãããŒãžã§ã³ã«çœ®ãæããããŸãã
ããã®å¥ã®åªããçšéã¯ãã°ã©ããŒã·ã§ã³ãäœæããããšã§ãã éåžžãäžéè²ãéžæããããã«åºã¥ããŠã°ã©ããŒã·ã§ã³ã宣èšããŸãã æåã¯å°ãæãããæåŸã¯å°ãæãããŸãã çµæã¯ã次ã®ãããªçŽ æŽãããé·ç§»ã«ãªããŸãã
@color: #faa51a; .button { background: -webkit-gradient(linear, left top, left bottom, from(@color + #151515), to(@color - #151515)); background: -moz-linear-gradient(top, @color + #151515, @color - #151515); }
ã«ã©ãŒé¢æ°
è²ã®æäœã«ã¯ããã«å€ãã®ãªãã·ã§ã³ããããŸãã LESSã§ã¯ããã£ã³ãã«ã¬ãã«ã§æäœã§ããŸãã è²ãæããããããæããããã飜åãããããæŒçœããããå転ããããããããšãã§ããŸãã 次ã®äŸãšåçãèŠãŠãããããã®æ©èœãç解ããŠãã ããã
@color: #3d82d1; .left_box { background:lighten(@color, 20%); } .right_box { background:darken(@color, 20%); }
@color: #3d82d1;.left_box { background: desaturate(@color, 18%); } .middle_box { background: @color; } .right_box { background: saturate(@color, 18%); }
@color: #3d82d1;.left_box { background: spin(@color, 25%); } .middle_box { background: @color; } .right_box { background: spin(@color, -25%); }
è²æ
å ±ãååŸãã
LESSã®åè²ã¯HSLïŒè²çžã圩床ãæ床ïŒã«å€æããããã£ã³ãã«ã¬ãã«ãå¶åŸ¡ã§ããŸãã ããã«ãããè²ããã埮åŠã«æäœããããè²æ
å ±ãçŽæ¥ååŸãããã§ããŸãã
@color = #167e8a; hue(@color); saturation(@color); lightness(@color);
ããã¯ããããªããšã®ããã«æãããããããŸããããHEXå€ãå
¥åããã ãã§ãã®æ
å ±ãå¿
èŠãªã®ã¯ãªãã§ããïŒ ããªããæ®éã®äººãªãããã®å Žã§HEXã«ã©ãŒã解èªããããšã¯ã§ããŸããã HEXå€ã¯RGBã¹ãã¯ãã«ãè¡šããŸããæåã®2æåã¯èµ€ã®éãå¶åŸ¡ãã次ã®2æåã¯ç·ã®éããæåŸã®2æåã¯éã®éãå¶åŸ¡ããŸãã
RGBïŒ255,0,0ïŒã§ãããããïŒff0000ãèµ€ã§ããããšã¯æããã§ãã èµ€ãç·ãéã®è²èª¿ã¯ãããŸããã ãã ããïŒ1f6b2dã衚瀺ãããå Žåãæç·è²ã§ããããšã解èªããã®ã¯å°é£ã§ãã HSLè¡šçŸã§ã¯ãè²çžïŒããŒã³ïŒããã¹ãŠãå¶åŸ¡ããè²ã«ååãä»ããã ãã§ãæ®ãã¯ããŒã³ãèšå®ããã ãã§ãïŒããã¯å®å
šã«çå®ã§ã¯ãããŸãããããã¹ãŠããã®ããã«èµ·ãããŸãïŒã
ããã念é ã«çœ®ããŠãïŒe147d4ã®ãããªçŽ æµãªããŒã³ã¿è²ãèŠã€ããå ŽåããŸã£ããåãè²çžã®ç°ãªãè²ãç°¡åã«èŠã€ããããšãã§ããŸãã ïŒe147d4ã®ã¯ãªãŒããŒã§ãã¹ãã«è²ã®ããŒãžã§ã³ãäœæãããšããŸããããã§ã§ããããšã¯æ¬¡ã®ãšããã§ãã
@color: #c480bd; .class { background-color: desaturate(spin(@color, 18), 12%);}
æ°ããè²ã®ããŒã³ã¯åãã§ããã圩床ãšæãããç°ãªããŸãã çµæã¯ïŒc480bfã«ãªããHEXã®ã¿ã䜿çšããŠïŒe147d4ããåãæ¿ããããšã¯ã¯ããã«å°é£ã§ãã
æ©èœã®çµã¿åãã
LESSã䜿çšãããšãé¢æ°å
ã§é¢æ°ã䜿çšã§ããŸãããããã£ãŠãã¹ãã³ãè²ä»ãããŠã¹ãã³ããå¿
èŠãããå Žåã¯ã次ã®ããã«ããŸãã
@color: #c480bd; .class { background-color: desaturate(spin(@color, 18), 12%);}
ãã¹ãã£ã³ã°
CSSãèšè¿°ãããšããã«ã¹ã±ãŒãã¹ã¿ã€ã«ã䜿çšããŸãã èšäºå
ã§ã®ã¿æ®µèœã®äœçœãå€æŽããã«ã¯ã次ã®ã³ãŒãã䜿çšã§ããŸãã
article.post p{ margin: 0 0 12px 0; }
ãã®ã¢ãããŒãã«ã¯äœã®åé¡ããããŸãããããªã³ã¯ãåŒçšãèŠåºããªã©ã®ã¹ã¿ã€ã«ãå€æŽããå¿
èŠãããå Žåã èšäºå
ã§ã®ã¿ãåèŠçŽ ã«æ¥é èŸãarticle.postãã䜿çšããå¿
èŠããããŸãã ããã«ãããã³ãŒãã®èšè¿°ãããéå±ã«ãªããèªã¿ã«ãããªããŸãã
LESSã§ã¯ããããã®ã«ãŒã«ãåã蟌ãããšãã§ããŸããããã«ãããã¹ã¿ã€ã«ã®ããçããŠè«ççãªããŒãžã§ã³ãæäŸãããŸãã äŸïŒ
article.post { p{ margin: 0 0 12px 0; } a { color: red; } a:hover { color: blue; } img { float:left; } }
ã€ã³ãã³ãã¯ãªãã·ã§ã³ã§ãããã³ãŒããèªã¿ãããããŸãã ãã¹ãã¬ãã«ã¯å¶éãããŸããã
a { color:red; } p { margin:0px; } article { a { color: green; } p { color: #555; a { color:blue; } } }
äžçŽç©ïŒããã¯ã¹ã€ã³ïŒ
LESSã®äžçŽç©ã«ãããåé·ãªã³ãŒããå
¥åããæéãçããŸãã äžéšã®è§ã ããäžžããªã£ãŠããäžžããã¬ãŒã ãäœæããå¿
èŠããããŸãããïŒ
.tab { -webkit-border-top-left-radius: 6px; -webkit-border-top-right-radius: 6px; -moz-border-radius-topleft: 6px; -moz-border-radius-topright: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; }
ãã®ãããæ¯å... LESSã䜿çšãããšãæ··åç©ãäœæããããšã§ããããã¹ãŠãå€æŽã§ããŸãã äžçŽç©-ã«ãŒã«ãšããŠä»»æã®èŠçŽ ã«è¿œå ã§ããåå©çšå¯èœãªèŠçŽ ã ãŸããæ°ããæ§æãåŠã¶å¿
èŠããããŸããã
.rounded_top { -webkit-border-top-left-radius: 6px; -webkit-border-top-right-radius: 6px; -moz-border-radius-topleft: 6px; -moz-border-radius-topright: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; } .tab { background: #333; color:#fff; .rounded_top; } .submit { .rounded_top; }
äžèšã®ã³ãŒãã§ã¯ã.rounded_topèŠçŽ ãå®çŸ©ããŠäžéšã®è§ãäžžããŸããã ãããä»ã®èŠçŽ ã«æ··åç©ïŒ.tabãåç
§ïŒãšããŠè¿œå ãããšããåºæ¬çã«äœæããã«ãŒã«ãã€ã³ããŒãããŸãã ãã®æ§æã®ãããã§ãäžçŽç©ãšããŠä»»æã®èŠçŽ ã䜿çšã§ããŸãã
.rounded_top { -webkit-border-top-left-radius: 6px; -webkit-border-top-right-radius: 6px; -moz-border-radius-topleft: 6px; -moz-border-radius-topright: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; } .tab { background: #333; color:#fff; .rounded_top; } .submit { .tab; background: red; }
.submitèŠçŽ ã®ã¹ã¿ã€ã«ã¯ãäžéšã®äžžãè§ãçœãè²ãèµ€ãèæ¯ã§ãïŒå€ïŒ333ãåå®çŸ©ãããŠããŸãïŒã
ãã©ã¡ãŒã¿ãå«ãäžçŽç©
ãã©ã¡ãŒã¿ãæã€äžçŽç©ã¯è€éã«èãããŸãããéåžžã«ç°¡åãªæ¹æ³ã§åé¡ã解決ããŸãã äžèšã®äŸã§ã¯ãäžé
ã«ååŸ6ãã¯ã»ã«ã®èŠçŽ ãå®çŸ©ããæ¹æ³ã説æããŸããã ãããŠãååŸ3pxã®èŠçŽ ãäœæãããå Žåã¯ã©ãã§ããããïŒ ãã¹ãŠã®ãã¯ã»ã«å€ã«å¯ŸããŠç°ãªãäžçŽç©ã宣èšããå¿
èŠããããŸããïŒ ãã¡ãããçãã¯ããŒã§ãããã©ã¡ãŒã¿ãŒã«äžçŽç©ã䜿çšããå¿
èŠããããŸãã
é¢æ°ãåŒã³åºããšå€ãå€æŽã§ãããããé¢æ°ã«äŒŒãŠããŸãã ãµã³ãã«ãborder-radiusã§æžãæããŠãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã
.rounded_top(@radius) { -webkit-border-top-left-radius: @radius; -webkit-border-top-right-radius: @radius; -moz-border-radius-topleft: @radius; -moz-border-radius-topright: @radius; border-top-left-radius: @radius; border-top-right-radius: @radius; } .tab { background: #333; color:#fff; .rounded_top(6px); } .submit { .rounded_top(3px); }
äžèšã®ã³ãŒãã§ã¯ã.tabã®ååŸã¯6pxã§ããã.submitèŠçŽ ã¯3pxã®å€ãååŸããŸãã
æšæºå€
éåžžã¯åãå¢çååŸã䜿çšããŸãããå Žåã«ãã£ãŠã¯ç°ãªãå¢çãå¿
èŠãªå Žåã¯ãäžçŽç©ãæšæºå€ã«èšå®ããå¿
èŠããããŸãã
.rounded_top(@radius:6px) { -webkit-border-top-left-radius: @radius; -webkit-border-top-right-radius: @radius; -moz-border-radius-topleft: @radius; -moz-border-radius-topright: @radius; border-top-left-radius: @radius; border-top-right-radius: @radius; } .tab { background: #333; color:#fff; .rounded_top; } .submit { .rounded_top(3px); }
ãã®äŸã§ã¯ã.tabã¯ããã©ã«ãå€ã®6pxãååŸãã.submitã¯3pxãååŸããŸãã
è€æ°ã®ãã©ã¡ãŒã¿ãŒ
è€æ°ã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠãããè€éãªäžçŽç©ã決å®ããããšãã§ããŸãã
.radius(@radius:6px) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; } .button(@radius:3px, @background: #e7ba64, @padding: 4px) { .radius(@radius); background:@background; border: 1px solid @background - #222; padding: @padding; } .read_more { .button(0px); }
ãã®äŸã§ã¯ã.read_moreã¯ã©ã¹ã¯ã4pxã€ã³ãã³ããèæ¯è²ïŒe7ba64ãããã³border-radius wry 0pxã§ãã©ãŒããããããŠããŸãã
äžåºŠã«ãã¹ãŠã®åŒæ°ã䜿çšããŸã
åŒæ°ã䜿çšãããšãã®å¥ã®ãªãã·ã§ã³ã¯ãåŒæ°ãçµåããããšã§ãã CSSã®ç°¡ç¥ããããã£ã«ã¯è€æ°ã®å€ãããã次ã
ã«æžã蟌ãŸããŸãã
div { border:1px solid #bbb; }
å¿
èŠãªãã¹ãŠã®èŠçŽ ã«ã°ã¬ãŒã®å¢çç·ãèšå®ããã«ã¯ããã®é¢æ°ã䜿çšã§ããŸãã
.gray_border(@width: 1px, @type: solid, @color: #bbb){ border:@arguments; } div { .gray_border(2px, dashed); }
@argumentsã¯ããã¹ãŠã®ãã©ã¡ãŒã¿ãŒãæå®ã®é åºã§æ¬¡ã
ã«è¡šç€ºããç¹å¥ãªããŒã¯ãŒãã§ãã äžèšã®LESSã³ãŒãã®çµæã¯æ¬¡ã®ããã«ãªããŸãã
div { border:2px dashed #bbb; }
ãã©ã¡ãŒã¿ãªãã®ãã©ã¡ããªãã¯äžçŽç©
ãã©ã¡ãŒã¿ãªãã§ãã©ã¡ããªãã¯äžçŽç©ã䜿çšããããšãã§ããŸãã ããã¯ãCSSã§æ··åç©ãåºåããå¿
èŠã¯ãªããã䜿çšãããèŠçŽ ã«èŠåãé©çšããå Žåã«äœ¿çšãããŸãã
.alert { background: red; color: white; padding:5px 12px; } .error_message { .alert; margin: 0 0 12px 0; }
äžèšã®ã³ãŒãã®CSSã¯æ¬¡ã®ããã«ãªããŸãã
.alert { background: red; color: white; padding:5px 12px; } .error_message { background: red; color: white; padding:5px 12px; margin: 0 0 12px 0; }
.alertã¯ã©ã¹ãé衚瀺ã«ããã«ã¯ã空ã®ãã©ã¡ãŒã¿ãŒãèšå®ããå¿
èŠããããŸãã
.alert() { background: red; color: white; padding:5px 12px; } .error_message { .alert; margin: 0 0 12px 0; }
å®æããCSSã¯æ¬¡ã®ããã«ãªããŸãã
.error_message { background: red; color: white; padding:5px 12px; margin: 0 0 12px 0; }
ããã¯äž»ã«ãCSSãã¡ã€ã«ã®ãµã€ãºãçž®å°ããããã«äœ¿çšãããŸãã
åå空é
ããã°ã©ãã³ã°èšèªã®åå空éã¯éåžžãæ©èœã䌌ãŠããèŠçŽ ãã°ã«ãŒãåããããã«äœ¿çšãããŸãã ã³ãŒããäžçŽç©ãšçµã¿åãããããšã«ãããLESSã§ãããå®çŸã§ããŸãã
#my_framework { p { margin: 12px 0; } a { color:blue; text-decoration: none; } .submit { background: red; color: white; padding:5px 12px; } }
ãã¬ãŒã ã¯ãŒã¯ã«åºã¥ããŠæ°ãããµã€ãã§äœæ¥ãéå§ãããšãå€æ°ã®#my_frameworkãè¿œå ããŠãåå空éãè©°ãŸãããããšãªã䜿çšã§ããŸãã
.submit_button { #my_framework > .submit; }
ãŸãããããã¯ããã°ããå€æŽããã³èª¿æŽã§ããããã«ããåªããæ¹æ³ã§ãã äŒç€Ÿçšã«è€æ°ã®ããŒããéçºããŠããå Žåããã®å Žã§ãã³ãã¬ãŒããå€æŽããã«ã¯ããã³ãã«ã䜿çšããŠãã¹ãŠã1ã€ã®LESSãã¡ã€ã«ã«å
¥ããããšãã§ããŸãã
#fw_1 { p { margin: 12px 0; } a { color:blue; text-decoration: none; } .submit { background: red; color: white; padding:5px 12px; } } #fw_2 { p { margin: 8px 0; } a { color:red; text-decoration: underline; } .submit { background: blue; color: white; padding:8px 20px; } } .submit_button { #fw_2 > .submit; }
æååè£é
æååè£éã¯ããã®ä»»æã®æååãå€æ°ã«æ ŒçŽããããããã£å€ã§äœ¿çšã§ããããšãæå³ããå¥ã®åã£ãèšèã§ãã
@url: "http://mycompany.com/assets/";background-image: url("@{url}/sprite.png");
ããã¯ãéäžåããããã¬ãŒã ã¯ãŒã¯ãäœæãããšãã«åœ¹ç«ã¡ãŸãã
ã·ãŒã«ã
æå¹ãªCSSïŒIEã®ã«ãŒã«ïŒã§ã¯ãªãããããã£ãŸãã¯å€ã䜿çšããå¿
èŠãããå ŽåããããŸãã ã°ã©ããŒã·ã§ã³ã®äŸã§ã¯ãInternet ExplorerãŠãŒã¶ãŒã®ããšã¯æ°ã«ããŠããªãããšã«æ°ã¥ãããããããŸããã
IEã§ã°ã©ããŒã·ã§ã³ãäœæããå Žåã¯ã次ã®ããã«ããå¿
èŠããããŸãã
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#444444');
ãã®CSSã¯ç¡å¹ã§ãããããLESSã¯ã³ã³ãã€ã«ãããŸããã ãã®å Žåããã®å€ããšã¹ã±ãŒãããŠãLESSã§ã¹ãããã§ããããã«ããããšãã§ããŸãã
.button { background: -webkit-gradient(linear, left top, left bottom, from(#666666), to(#444444)); background: -moz-linear-gradient(top, #666666, @color - #444444); filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#444444')";}
å¿
èŠãªã®ã¯ãã»ã¯ã·ã§ã³ãåŒçšç¬Šã§å²ã¿ããã®åã«ãã«ãã眮ãããšã§ãã ãã®ã»ã¯ã·ã§ã³ã¯ãLESSããã»ããµãééãããç Žæ£ãããŸããã
ã€ã³ããŒã
éåžžã®CSSãšåæ§ã«ããã¡ã€ã«ãã€ã³ããŒãã§ããŸãã LESSã§ã¯ã次ã®æ§æã䜿çšããŠCSSãšLESSãã€ã³ããŒãã§ããŸãã
@import "reset.min.css"; @import "framework.less"; @import "widgets";
æåã®ã€ã³ããŒãã¯éââåžžã«æçœã§ãã reset.min.cssã§å®çŸ©ãããCSSã«ãŒã«ããLESSããŒãµãŒã解æããã«ã€ã³ããŒãããŸãã
2çªç®ã®ã€ã³ããŒãã¯ãframework.lessã®ã³ã³ãã³ããæ¿å
¥ããä»ã®LESSã«ãŒã«ãšåæ§ã«åŠçããŸãã
3çªç®ã®ã€ã³ããŒãã¯ã2çªç®ãšåãããã«æ©èœããŸãã æ¡åŒµæ©èœãã€ã³ã¹ããŒã«ãããŠããªãå Žåãããªããã»ããµã¯ãããLESSãã¡ã€ã«ãšèŠãªããŸãã
ã³ã¡ã³ã
åœç¶ãCSSãšåæ§ã«ãLESSã§ãè€æ°è¡ã®ã³ã¡ã³ãã䜿çšã§ããŸãã ãŸããLESSã§ã¯ãããã«ããã¯ã¹ã©ãã·ã¥ã䜿çšããŠãPHPãŸãã¯Javascriptã®ããã«åäžè¡ã³ã¡ã³ãã䜿çšã§ããŸãã
äœãæ¬ ããŠããŸããïŒ
LESSããããããšããäºå®ã«ããããããããŸã 䜿ãå§ãããšããããŸãå¿é
ããŠããŸããããããã€ãã®æ¬ ç¹ããããŸãã
ç§ãèŠããæ©èœã®1ã€ã¯ãååŠçã§ãïŒåæãããç¡æå³ã«èãããŸãïŒãã¢ãã©ã€ã¶ãŒãééããªãããã«æååããšã¹ã±ãŒãããæ¹æ³ãèŠããŠããŸããïŒ çŸåšã®æ¹æ³ã§ã¯ãè²ãå€æŽã§ããã°ã©ããŒã·ã§ã³ã䜿çšã§ããŸããã
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20')";
ãã®ã³ãŒãã¯ããŸãæ©èœããŸãããè²ã¯ããŒãã³ãŒãã£ã³ã°ããå¿
èŠããããŸãã æååããšã¹ã±ãŒããããŠããå Žåãå€æ°ã¯åŠçãããŸããã CSSãã¡ã€ã«ã«éä¿¡ãããåã«ããšã¹ã±ãŒããããæååã®å€æ°ãåŠçããããªãã·ã§ã³ããããšäŸ¿å©ã§ãã
ãããã«
æ°ããæè¡ãæ¹æ³ãšåæ§ã«ãèåŸ
ãçºçããŸãã Web 2.0æ代ã®å€æãã®é¡ã®ãããªããŽãšã¬ã©ã¹ã®ãã¿ã³ãèŠããŠããŸããïŒ
ãã¹ãŠã®ã«ãŒã«ãå²ãå¿
èŠã¯ãããŸããããã¹ãŠã®å€æ°ãäœæãããããã¬ãŒã ã®å¹
ã ãã®äžçŽç©ãäœæãããããå¿
èŠã¯ãããŸããã
LESSã®åªããæ©èœããã€äœ¿çšããªããããããªãå ŽåãLESSã³ãŒãã¯éåžžã®CSSãšåããããèªã¿ã«ãããªããä¿å®ãé£ãããªããŸãã ç§Theã¯ããããã®é¢æ°ãšã¡ãœããããã€äœ¿çšãããããããŠãã€æã®CSSãåªããŠããããç¥ãããšã§ãã
ããã«ãLESSãã¡ã€ã«ã䜿çšããªãããšããå§ãããŸãã ããã«ã¯äœã®åé¡ããããŸããããLESSãã¡ã€ã«ãããŠã³ããŒãããŠåŠçããçç±ã¯ãããŸããã 確ãã«ãã¹ã¯ãªããã¯éåžžã«é«éã§ããããããªãã§ã¯ããé«éã«ãªããšç¢ºä¿¡ããŠããŸãã ç§ã¯éåžžããã¹ãŠã®ãµã€ããLESSã§éçºããåºåãã¡ã€ã«ãååŸããŠå§çž®ããéåžžã®CSSãã¡ã€ã«ã䜿çšããŸãã
webdesign.tutsããã®
èšäºã®ç¿»èš³
+