å€æ°ã«å¿ããŠæ¡ä»¶ä»ãCSSã³ãŒãã®ãããªãã®ãæã£ãŠããã®ã¯ã©ãã§ãã
<strong i="6">@has_theme_support</strong>: true;
.awesome-class {
width: 100px;
height: 200px;
margin: 0 auto;
/* Adds theme support if <strong i="7">@has_theme_support</strong> is 'true'; */
if( <strong i="8">@has_theme_support</strong> ){
background: green;
color: yellow;
}
}
http://www.lesscss.org/ã«ã¢ã¯ã»ã¹ããŠãèŠåå¡ãæ€çŽ¢ããŸãã
ããã¯ã¹ã€ã³ã䜿çšããå¿ èŠããªããããã«ãæ©èœãªã¯ãšã¹ãã調ã¹ãŠãä»»æã®cssã§ã¬ãŒããèš±å¯ããŸãã
ã¯ããç§ã¯ãããç¥ã£ãŠããŸãããç§ãã¡ã巚倧ãªLESSãæžããŠããå ŽåãäœçŸãã®.mixinãæžããŠç®¡çããå¿
èŠããããŸã
ããã¯ã¹ã€ã³ããã®åé¡ã解決ãããšã¯æããªãã ããã¯ã¹ã€ã³ã§ããããã®æ©èœã§å€ãã®ãã¯ãŒãåŸãã§ãããã
å°ãªãCSSã«ã¯ãäžéšã®ããã°ã©ãã³ã°èšèªãæã€ã»ãšãã©ãã¹ãŠã®æ©èœããããŸãã
.button-maker (<strong i="8">@style</strong>: 'light') {
cursor: pointer;
display: inline-block;
padding: 5px 10px;
if(<strong i="9">@style</strong> == 'light'){
/* adds light styling */
}
if(<strong i="10">@style</strong> == 'dark'){
/* adds dark styling */
}
}
ç§ã¯æ¬åœã«æ¬ ããŠãããã®æ©èœã«å€§ããª+1ãè¿œå ããŸãã 倧ããªã³ãŒãããŒã¹ã§èŠåå¡ãç¶æããããšã¯ãæ¬åœã«æªå€¢ã§ãã ããã¯æ¬åœã«ç©äºãã¯ããã«ç°¡åã«ããã§ããã...
switchã¹ããŒãã¡ã³ããè¿œå ããããšãã§ããŸãã
@lukeapageãã®åé¡ãå床éããŠãã ããã ãã®åé¡/æ©èœã«ã€ããŠè©±ãåãã¹ãã ãšæããŸã
LESSã¯ã¹ã¯ãªããèšèªã§ã¯ãããŸããã æ§æ/ã¹ã¿ã€ã«ã¯CSSã«äŒŒãŠããŸãã
LESSã¯å®£èšåã§ããããšãæå³ãããŠããŸããã€ãŸããåå²ããžãã¯ãã«ãŒããªã©ã®è€éãªç¶æ³ã«å¯Ÿå¿ã§ãããã®ã§ãã£ãŠã¯ãªããŸããã
@pierresforgeèŠåå¡ãäžè¶³ããŠããäŸã¯ãããŸããïŒ
ã»ã¬ã¯ã¿ãŒã«èŠåå¡ãé 眮ããããšã§è§£æ±ºã§ããªãå Žåã¯ã©ãã§ããããã
話ãåãã¯éãããŠããŸããç§ïŒãŸãã¯ã³ã¢ããŒã ã®å¥ã®ã¡ã³ããŒïŒã説åŸã§ããã°ãåé¡ãåéããŸããããããäŒè©±ã¯ä»¥åã«è¡ãããŠãããå€ãã®æéãè²»ããããŠããŸãã ã
http://lesscss.org/ããã®æç«
ãLESSã¯ãå€æ°ãããã¯ã¹ã€ã³ãæäœãé¢æ°ãªã©ã®åçãªåäœã§CSSãæ¡åŒµããŸããã
ã¯ãLESSã¯ã¹ã¯ãªããèšèªã§ã¯ãããŸããããããã§ãå€æ°ãé¢æ°ãæŒç®ãªã©ã®æ©èœããããŸãã
æ¬ ããŠããã®ã¯æ¡ä»¶ä»ãããžãã¯ã§ãã
CSSã¡ãã£ã¢ã¯ãšãªã¯æ¡ä»¶ä»ãããžãã¯ã«ä»ãªããªããšæããŸãã
<strong i="11">@media</strong> all and (max-width: 699px) and (min-width: 520px), (min-width: 1151px) {
body {
background: #ccc;
}
}
CSSãã¬ãŒãã®ãããªæ¡ä»¶ä»ãããžãã¯ãæã€ããšãã§ãããã©ããã éãã¯äœã§ããã ã¬ãŒãã¯ãããããã¯ã¹ã€ã³ã«æ¡åŒµããã ãã§ãã
Guardsã¯ãCSSã³ãŒããããã¯ã®å€åŽã®æ¡ä»¶ã®ã¿ãèš±å¯ããã³ãŒããããã¯ã®å
åŽã¯èš±å¯ããŸããã
ã€ã³ã¹ã¿ã³ã¹ã«ã€ããŠã¯ã httpsïŒ //github.com/cloudhead/less.js/issues/1293#issuecomment-16929701ãåç
§ããŠãã ãããèŠåå¡ã¯ãã®ãããªèŠä»¶ãæ¯æŽã§ããŸããã
HTMLã«ãæ¡ä»¶ä»ãããžãã¯ããããŸããããã§ããã¹ã¯ãªããèšèªã§ã¯ãªãããŒã¯ã¢ããèšèªã§ãã
<!--[if gte IE 9]><!-->
<script src="" />
<!--<![endif]-->
@lukeapageããããšã..
ã¬ãŒãã¯ãã¡ãã£ã¢ã¯ãšãªãè¡ãããšãšé¡äŒŒããŠããŸãã éåžžã®CSSã§ã¯ãã»ã¬ã¯ã¿ãŒå ã«ã¡ãã£ã¢ã¯ãšãªããã¹ãã§ããªãããšã«æ³šæããŠãã ããã ãããã¯ããã¥ã¡ã³ãã®ã«ãŒãã«ã®ã¿é 眮ã§ããŸãã
ããããèŠåå¡ã足ããªãäŸã¯ãããŸããã ãã ããã¬ãŒããä¿å®æ§ã«æé©ã§ã¯ãªãå Žåã¯ãããããããŸãã
äŸïŒ
.button {
.inline-block();
.fix-ie-left-padding();
.shadow(0, 2px, rgba(0, 0, 0, @buttonShadowOpacity));
.border: 1px solid @buttonBorderColor;
if (green(@coreBackgroundColor) > 50%) {
background-color: darken(<strong i="7">@coreBackgroundColor</strong>, 20%);
}
else if (red(@coreBackgroundColor) > 30%) {
background-color: darken(<strong i="8">@coreBackgroundColor</strong>, 15%);
}
else if (blue(@coreBackgroundColor) > 25%) {
background-color: darken(<strong i="9">@coreBackgroundColor</strong>, 8% );
}
else {
background-color: @coreBackgroundColor;
}
}
ç§ã®æå³ã§ã¯ã以äžãããç°¡æœã§èªæã§ãïŒã¢ã«ãŽãªãºã ã¯å€ãã®èŠå ã«äŸåãããããã»ãšãã©ã®å Žåãã³ãŒããåå©çšå¯èœã«ããæå³ããªãå ŽåïŒã
.buttonBackground(@color) when (green(@color) > 50%) {
background-color: darken(<strong i="13">@coreBackgroundColor</strong>, 20%);
}
.buttonBackground(@color) when (red(@color) > 30%) {
background-color: darken(<strong i="14">@coreBackgroundColor</strong>, 15%);
}
.buttonBackground(@color) when (red(@color) > 25%) {
background-color: darken(<strong i="15">@coreBackgroundColor</strong>, 8%);
}
.buttonBackground(@color) {
background-color: @color;
}
.button {
.inline-block();
.fix-ie-left-padding();
.shadow(0, 2px, rgba(0, 0, 0, @buttonShadowOpacity));
.border: 1px solid @buttonBorderColor;
.buttonBackground(@coreBackgroundColor);
}
ç§ã¯ãããè°è«ã®å¯Ÿè±¡ãšãªãããšã«åæããŸããããããå€ãã®ã³ã¢å€æŽã䌎ããªãã®ã§ããã°ãããã¯ããªãçŽ æŽãããè¿œå ã«ãªãã§ãããã ããã¯ã¹ã€ã³ãè¿œå ããªããŠããã»ãšãã©ã®ã«ãŒã«ããŸãšããŠ1ã€ã®èŠçŽ ã«é©çšã§ããŸãã
ãã®ãããªç¶æ³ããç§ãã³ã³ãã©ã¹ãé¢æ°ãäœæããçç±ã§ããããã¯ãä»ã®æ¹æ³ã§ã¯å©çšã§ããªãäžçš®ã®æ¡ä»¶ä»ãæäœãšããŠæ©èœããããªããèšãããã«ãã¬ãŒãã䜿çšãããããã¯ããã«åªããŠããŸãã æ¡ä»¶ã®æ§æãè¿œå ããã®ã§ã¯ãªããäžçš®ã®ã»ã¬ã¯ã¿ãŒãšããŠæ©èœããããçš®ã®ãžã§ããªãã¯é¢æ°ãå®è£ ã§ãããšæããŸãã
@Soviut Devilã®æå±è -LESSã§ã¯ãå®éã«ã¡ãã£ã¢ã¯ãšãªãã»ã¬ã¯ã¿ãŒå ã«é 眮ã§ããŸããããã¯å€ãã®å Žåéåžžã«äŸ¿å©ã§ãã
ç§ã¯ifsã«å察ããŸããããªããªããã³ãŒãã®è€éããææ°é¢æ°çã«äžæãå§ããLESSã¯åçŽã§ããããããããã«èšèšãããŠããããã§ãã çŸæç¹ã§ã¯ãæ°æ©èœã®è¿œå ãããèšèªãå®å®ãããããã®ããã€ãã®æšé²åããããŸãã
ãã ããã¡ãã£ã¢ã¯ãšãªãã»ã¬ã¯ã¿ãŒå ã«è¡šç€ºãããããã«ãªã£ããšããè«çã«åºã¥ããŠãæªéã®ä»£åŒè ã¯ãçè«çã«ã¯åãååã«åŸãããšãã§ããŸãã
.button {
.inline-block();
.fix-ie-left-padding();
.shadow(0, 2px, rgba(0, 0, 0, @buttonShadowOpacity));
.border: 1px solid @buttonBorderColor;
background-color: @coreBackgroundColor;
<strong i="9">@when</strong> (green(@coreBackgroundColor) > 50%) {
background-color: darken(<strong i="10">@coreBackgroundColor</strong>, 20%);
}
<strong i="11">@when</strong> (red(@coreBackgroundColor) > 30%) {
background-color: darken(<strong i="12">@coreBackgroundColor</strong>, 15%);
}
<strong i="13">@when</strong> (blue(@coreBackgroundColor) > 25%) {
background-color: darken(<strong i="14">@coreBackgroundColor</strong>, 8% );
}
}
or
.button {
.inline-block();
.fix-ie-left-padding();
.shadow(0, 2px, rgba(0, 0, 0, @buttonShadowOpacity));
.border: 1px solid @buttonBorderColor;
background-color: @coreBackgroundColor;
background-color: darken(<strong i="15">@coreBackgroundColor</strong>, 20%) when (green(@coreBackgroundColor) > 50%) ;
background-color: darken(<strong i="16">@coreBackgroundColor</strong>, 15%) when (red(@coreBackgroundColor) > 30%);
background-color: darken(<strong i="17">@coreBackgroundColor</strong>, 8% ) when (blue(@coreBackgroundColor) > 25%);
}
ifsããã宣èšçã§ãæ¢åã®LESSã«è¿ãæ§æã§ãããåã¹ããŒãã¡ã³ããåå¥ã«è©äŸ¡ããŸãïŒLESS / CSSãå®çŸ©ãããŠããããã«ïŒã
ãããã¯ïŒãŸãã¯ããã«å ããŠïŒãåæ§ã«ãããã¯ã¹ã€ã³ã®è©äŸ¡ãè©äŸ¡ãã€ã³ãã«æ·»ä»ããŸãã
.button {
.inline-block();
.fix-ie-left-padding();
.shadow(0, 2px, rgba(0, 0, 0, @buttonShadowOpacity));
.border: 1px solid @buttonBorderColor;
background-color: @coreBackgroundColor;
.backgroundMixin(<strong i="22">@coreBackgroundColor</strong>, 20%) when (green(@coreBackgroundColor) > 50%) ;
.backgroundMixin(<strong i="23">@coreBackgroundColor</strong>, 15%) when (red(@coreBackgroundColor) > 30%);
.backgroundMixin(<strong i="24">@coreBackgroundColor</strong>, 8% ) when (blue(@coreBackgroundColor) > 25%);
}
ééããªããã¹ããŒãã¡ã³ãã¬ãã«ã®ã¬ãŒãã¯ãããã¯ã¹ã€ã³ã¬ãã«ã®ã¬ãŒãIMOãšåããããããŸãã¯ããã»ã©è€éã§ã¯ãªããç°ãªãããžãã¯ã§ããããŸããã ãããããäŸ2ãš3ã¯ãèšèªã«å¯ŸããŠããã»ã©æ¡åŒµçã§ã¯ãããŸããã èã/è°è«ã®ããã«ããã«ãããæãããšæã£ãã ãã§ãã
ç§ã®å®£èšèŠåå¡ã®ææ¡ã«ã€ããŠã¯ã誰ãèšãããšããªãã£ããšæããŸãã ;-)
å®éããããèšãããšã¯ããŸããããŸããã ããã¯çŽ æŽãããããšã§ããIMO :)
ããããããããã§ã«ããã¯ã¹ã€ã³äžã«ãããã¡ãã£ã¢ã¯ãšãªãèŠçŽ å ã«ããå¯èœæ§ãããå Žåãããããæ¡åŒµããããã®ããžãã¯ã¯åççã§ããããã«æãããŸãã @lukeapageã@jonschlinkertãªã©ãã©ãæããèå³ããããŸãã
@matthewdl ïŒ+1ïŒ
圌ããè°è«ãããŠããåé¡ã«ã€ããŠãç§ã¯ãã§ã«åœŒãããµããŒãããŠãããšæããŸã.... :)
@lukeapageåé¡ïŒ748ã«ã€ããŠè©±ããŠããã®ã§ããïŒ ãããããªããç§ã¯æ§æã«å°ãè¿œå ããŸããã ;-)
if
ãŸãã¯@when
ã®åœ¢ã§èªåã®é¡æãè¡šçŸããããã«ãã£ã€ã ã鳎ãããããšæããŸãã
ç§ã¯ãã¬ãŒããæ®éçã«åªããŠãããæ¡ä»¶ä»ãã䜿çšãããããLESSã³ãŒãã®è€éãã軜æžãããšããææ
ã«åæããŸããã èŠåå¡ãå®éã«ç§ã®LESSãã¡ã€ã«ãéãèªã¿ã«ããããŠãããã if
/ @when
ã¯å®éã«ã¯éåžžã«èªã¿ããããšããå®éçãªç¶æ³ãèŠã€ããŠããŸãã ã¬ãŒããšif
/ @when
æ¡ä»¶æã¯æ¬è³ªçã«åãªãããŒã«ã§ãããã©ã¡ããç©äºãçŸãããŸãã¯éãããããã«äœ¿çšã§ããããŸããŸãªç¶æ³ã«ããé©ããŠããŸãã å°çãç§ã¯LESSã®æãåºæ¬çãªã»ã¬ã¯ã¿ãŒæ¡åŒµæ©èœã®ã¿ã䜿çšããŠ1GBãè¶
ããRAMãæ¶è²»ããCPUãæ°åéæªæãããŸãŸã«ããçŽ300bã®.lessãã¡ã€ã«ãäœæã§ããŸãã
æè¿ã®ãããžã§ã¯ãã§ã¯ããã¹ã¯ããããšã¢ãã€ã«ã®äž¡æ¹ã匷åã«ãµããŒãããããšãç®çãšããŠåãçµãã§ããŸããããæçµçã«ã¯ãã€ã³ã©ã€ã³ã¡ãã£ã¢ã¯ãšãªã§ãããè¡ãã ãã§ã¯äžååã§ãããšå€æããŸããã ã©ã¡ãã®ã¢ãŒãã«ã䜿çšããªãäœåãªcssãæäŸããããšã¯ãè¯ãé³ã§ã¯ãããŸããã§ãããããã«ãèæ¯ç»åã®äºéèªã¿èŸŒã¿ãã«ã¹ã±ãŒãããããšããŠãæéãç¡é§ã«ããã«ããŒã¿URIãåã蟌ãããšãã§ããã«ããããåé¿ããå¿ èŠããããšããåé¡ããããŸãããã¢ãŒãã䜿çšããªãç»åå šäœãæäŸããŸãã ãããŠã2ã€ã®ã¹ã¿ã€ã«ã·ãŒããã«ã¹ã±ãŒãããããšããŠããã«å¯ŸåŠãããšã1ã€ã®ã¯ã©ã¹ã®ã¹ã¿ã€ã«ã宣èšããå Žæã2ã€ããã®ã§ãæ··ä¹±ãå°ãªããªããŸãã
ç§ã®æ±ºå®ã¯ãMediaWikiãRTLãåŠçããæ¹æ³ããã1ã€ãã2ã€ã®ã¹ã¿ã€ã«ã·ãŒããæäŸããããšã«ãã£ãŠããŒãžãååŸããããšã§ããã MediaWikiã¯ãLTRã§ã¹ã¿ã€ã«ã·ãŒããèšè¿°ããã¹ã¿ã€ã«ã·ãŒããå転ããŠ2çªç®ã®RTLã¹ã¿ã€ã«ã·ãŒããäœæããããšã§ãããè¡ããŸãã LTRãRTLãåŠçããããã«ãLTRã«æå®ããããã¹ãŠããªãŒããŒã©ã€ãããããšããå¿
èŠã¯ãããŸããã åæ§ã«ãã¡ã€ã³ã®ã¹ã¿ã€ã«ãmain.lessïŒããã³ã¹ã¿ã€ã«ãåé¢ããããã«ããããåç
§ãããå¯èœæ§ã®ãããã¡ã€ã«ïŒã«æžã蟌ãããšã«ããŸããããã®ãã¡ã€ã«ã¯çŽæ¥ã³ã³ãã€ã«ãããŸããã 代ããã«ãdesktop.lessãšmobile.lessã®2ã€ã®ã¹ã¿ã€ã«ã·ãŒãããããã©ã¡ãã<strong i="14">@mobile</strong>: true/false;
ã <strong i="16">@desktop</strong>: true/false;
ã®ãããªãã®ãèšå®ãããµã€ãºãªã©ã®ããã€ãã®å°ãªãå€æ°ããªãŒããŒã©ã€ãããŸãã ãã®ããã«ããŠãmain.lessã¯æçµçã«desktop.cssãšmobile.cssã®äž¡æ¹ã«ãªããã¡ãã£ã¢ã¯ãšãª/ãã¹ããåŠçããŠãã©ã¡ããä»ã®å Žæã«ããŒããããã決å®ã§ããŸãïŒæ¬åœã«å¿
èŠãªå Žåã¯ãã©ã¡ããããŒãããããå®éã«æ±ºå®ã§ããŸãïŒã¡ãã£ã¢ã¯ãšãªããµããŒãããŠããªãããã€ã¹ïŒã
ãã ãã1ã€ã®åé¡ã¯æ¡ä»¶ä»ããããã¯ã§ãã ãã¢ãã€ã«ã¯ãããã®ã¹ã¿ã€ã«ãå¿
èŠãšããªãããŸãã¯ããã¹ã¯ãããã¯ãããã®ã¹ã¿ã€ã«ãå¿
èŠãšããªãããšç§ãå€æããã³ãŒãã®éšåããããŸãã çŸåšããããããå°ãªãã³ã¹ãã§å®è¡ã§ããå¯äžã®æ¹æ³ã¯ã次ã®æ¹æ³ã§ãã
ïŒïŒããããŸãããæè¡çã«ã¯ãã¢ã³ãŒãã£ãªã³ããã²ãŒã·ã§ã³ã䜿çšããŠããªãããããããã®ã¹ã¿ã€ã«ã¯æ¶ç©ºã®ãã®ã§ãããç§ãè¡ã£ãŠããããšã«ã¯åœãŠã¯ãŸããŸãïŒïŒ
.navigation {
color: @text-color;
// [...]
// Navigation is an accordion on the desktop so include our accordion styles
.dummy() when (<strong i="21">@desktop</strong> = true) {
.accordion-styles();
}
.dummy();
}
ãã®ç¶æ³ã§ã¯ã @when
ã®ãããªãã®ã䜿çšããæ¹ãã¯ããã«ç解ããããã§ãããã
.navigation {
color: @text-color;
// [...]
// Navigation is an accordion on the desktop so include our accordion styles
<strong i="26">@when</strong> (<strong i="27">@desktop</strong> = true) {
.accordion-styles();
}
}
ç§ã¯å®éã«ãlessãã¡ã€ã«ãååŠçããŠã @when
æ§æã®ãããªãã®ããåçã«çæãããããã¯ã¹ã€ã³+ã¬ãŒããäœæããããã®çŽåŸã«å«ãŸããããã¯ã«å€ããããšãæ€èšããŸããã
èšããŸã§ããªããããªããã»ããµãååŠçãããšããèãããç©äºãç解ããããããè¯ãèãã®ããã«èãããå Žå...çŸåšã®ããªããã»ããµã«äœãåé¡ããããŸãã
ãããŠçå®ã¯ãããã¯ç§ã®ãã¹ã¯ããã/ã¢ãã€ã«æè¡ã ãã«åœãŠã¯ãŸãããã§ã¯ãªããšããããšã§ãã ããã¯ãããŒãã¹ããŒã ã«ãåæ§ã«åœãŠã¯ãŸããŸãã ããªãã®ããŒãã§1ã€ã®ã¡ã€ã³ã¬ã¹ãã¡ã€ã«ãæžããŠãã ããã 次ã«ããã®å°ãªããã¡ã€ã«ãå«ããã ãã®ãã¡ã€ã«ãããããçšæããé
è²ãªã©ãå¶åŸ¡ããããã«ããã€ãã®å°ãªãå€æ°ãèšå®ããŸãã è²ã®åŸ®èª¿æŽã¯åé¡ãªãæ©èœããŸããã @use_horizontal_nav
ã®ãããªãã®ãå®éã«äœ¿çšã§ããããšãããã£ãããããã«åŽããéãåºããŸãã
@dantmanã¯1.5.0ã®æç¹ã§ããªã³ã¯ãããŠããcssã¹ã¿ã€ã«ã®ã¬ãŒãã¯ãããè¡ãããšãã§ããŸã
.navigation {
& when (<strong i="7">@desktop</strong> = true) {
color:red;
}
}
ããªãã®äŸã§ã¯ç ç³ã§ãã
å¯äžã®æ¬ ç¹ã¯ãçŸæç¹ã§ã¯ãããæ°ããã»ã¬ã¯ã¿ãŒã§ãããšèããŠããããã以åã®ã»ã¬ã¯ã¿ãŒãšããŒãžãããªãããšã§ãã ãã ããããã«ãã£ãŠåé¡ãçºçããå¯èœæ§ã¯äœããå°æ¥ã®ããŒãžã§ã³ã§ä¿®æ£ãããäºå®ã§ãã
ããããŸããããããæ©èœãšããŠææžåã§ããŸããïŒ
æ£çŽãªãšããã @when
ãšæ¯èŒããŠéåžžã«ç解ãããããã©ãããããããŸããã以åã«ã.lessãã¡ã€ã«ã§& when(...)
ãèŠãŠãããããããäœã§ããããç解ã§ãããã©ããã¯ããããŸãããäžç®ã§ããã @when
& when()
$ 2 $ïŒ$ããããããããŸããã
@ matthew-deanããã®çš®ã®æ¡ä»¶ä»ãæ§é ãè¿œå ãããšãLESSã³ã¢ãã¡ã€ã«ã®ä¿å®ãšãã¹ããé£ãããªãå¯èœæ§ãããããšã«åæããŸãã ãŸãã.lessãã¡ã€ã«ã¯ãããã°ãå°é£ã§ãã
ç§ãã¡ãä»åŸãŠããã®ã¯èžè¡äœåã§ãã人ã ã¯æåéã10åæªæºã§LESSã®åºæ¬ãç解ããåŠã¶ããšãã§ããŸãïŒãã¹ããšããã·ã³ã°ã«ã€ããŠè©±ããŸãïŒãæ¡ä»¶ä»ãã¹ããŒãã¡ã³ããè¿œå ãããšãä»ã®çš®é¡ã®äººã ã«ç©äºãæ¶åããã®ãé£ãããªããŸãããã¶ã€ããŒãæ奜家ã ã¬ãŒãã䜿çšããŠIFã¹ããŒãã¡ã³ããæš¡å£ãŸãã¯ã·ãã¥ã¬ãŒãããããšããããšã¯ãååšããã解決çãå¿ èŠãšããªãåé¡ãæªåãããããšããã ãã§ãã
éçºè ãã³ã³ãã€ã«ããåã«LESSãã¡ã€ã«ãããè€éã«ããå¶åŸ¡ããå¿ èŠãããå Žåãããåªããå¶åŸ¡ãæè»æ§ãããã³è€éããå®çŸããããã«ãPHPãªã©ã®èšèªã䜿çšããŠããå°ãªããã¡ã€ã«ãååŠçããããšãæ¢ããããšã¯ã§ããŸããããããè¡ãã«ã¯ãæ³ååã䜿ã£ãŠæãæ£ç¢ºãŸãã¯äŸ¿å©ãªæ¹æ³ã§ãããè¡ãã ãã§ãã
ããšãã°ããmyfile.less.phpããšããååã®ãã¡ã€ã«ããããæ¡ä»¶ä»ããã¹ã€ãããé åãããã³PHPã§è¡šç€ºã§ãããã¹ãŠã®åã£ããã®ãå«ãã¯ã¬ã€ãžãŒãªã³ãŒããããããã®ã.less.phpããã¡ã€ã«ããå¥ã®ãã¡ã€ã«ãåãåºããŸããæçµçãªLESSã³ãŒããæã€ãmyfile.lessããšåŒã°ãããã®æ¹æ³ã§ãPHPã䜿çšããŠãã¹ãŠã®ãµãŒããŒå€æ°ãã¯ãšãªããæ°ãã.lessãã¡ã€ã«ã«å«ãããŸãã¯é€å€ãã@importsã決å®ã§ããŸãããã以äžã倧éã®æããªå€æ°ãæž¡ãå¿ èŠã¯ãããŸããã LESSã³ã³ãã€ã©ã§ãããIFãŸãã¯Switchæ§é ã®ã·ãã¥ã¬ãŒã·ã§ã³ãæš¡å£ããããã«ãéãèªã¿ã«ããæããªã¬ãŒããäœæããå¿ èŠã¯ãããŸããã
åºæ¬çãªã¯ãŒã¯ãããŒã¯æ¬¡ã®ããã«ãªããŸã
1-ãã£ãã·ã¥ã®æå¹æéãåããŠãããã©ããã確èªããŸã
1-ã¹ã¯ãªãããåŒã³åºããŠããã¹ãŠã®ãã¡ã€ã«ã.less.phpããã¡ã€ã«ãæ€çŽ¢ããŠååŠçããŸã
2-ã¹ã¯ãªãããåŒã³åºããŠãã¹ãŠã®ã.lessããã¡ã€ã«ãã³ã³ãã€ã«ããŸã
3-ãã£ãã·ã¥ãæŽæ°
@enavç§ã¯ç±å¿ã«å察ããŸãã éçºãæžããã ãã§ãªããåé¡ã解決ããããã«2ã€ã®èšèªã䜿çšããå¿ èŠããªããããŒãã®æäžäœã«åºã¥ããšã³ã¿ãŒãã©ã€ãºãœãªã¥ãŒã·ã§ã³ã§äœ¿çšããŸãã
@dantmanææžåãããŠããªãããšãããªããããŸãããããã§ãããããææžåããå¿ èŠããããŸãã ããã¥ã¡ã³ããæ¡åŒµãããŠã§ããµã€ããå€§å¹ ã«æ¹åããããã«ãless-docsã§é²è¡äžã®åªåããããŸãã ããã«åé¡ãè¿œå ããŸãã
@lukeapage ããããæè¿æ°ã¥ããŸããã å€æŽãã°ããã£ãšèŠãŠã¿ããšãsvg-gradientãpropertyã+ãšããŒãžãããŠããããšã«æ°ã¥ããŸããã
å³å¯ã«èšãã°& when ...
ã¯ãææžåããã2ã€ã®æ©èœ&
ãšCSS Guardsã®åçŽãªçµã¿åããã§ããããããã§ã«ææžåãããŠããŸãã ããããå°çšã®äŸã¯ãã¡ãã害ã«ã¯ãªããŸããã
@ Seven-phases-maxãç§ã¯ãã®ããã¥ã¡ã³ããç¥ããŸããã§ããã èŠãç®ãããããšãããã¯å€ããµã€ãã眮ãæããããã®äžå®å šãªæ°ããããã¥ã¡ã³ãã»ããã§ããããããã¯ãŸããªãlesscss.orgãªããžããªã«ç§»åãããŸãããã¹ãŠãå ¬éããããŸã§ããã®ãµã€ããžã®ãªã³ã¯ãé¿ããããšããå§ãããŸããã ã³ã¡ã³ãã ãã®ãããªãã®ãäœæ¥äžã§ããããšãç¥ã£ãŠããããã§ãã
ç§ãç¥ã£ãŠããå¯äžã®ããã¥ã¡ã³ãã§ããlesscss.orgã®çŸåšã®ããã¥ã¡ã³ããåç §ããŠããŸããããçŸåšãããã¯ã¹ã€ã³æ©èœãšããŠããã¥ã¡ã³ãã¬ãŒãã®ã¿ãåç §ããŠãããä»ã®å Žæã§å©çšã§ããããšã瀺åããŠããŸããã
èŠåå¡ã¯ããã»ã©è¯ããããŸããã :(
ããã¯å¿ é ã®æ©èœã§ãããscassã«ãååšããŸãã
ãã®ããã®+1
æ¬æ¥ã¯ããã®å·ãçºè¡ãããŠããæ°å¹ŽåŸã«ãã®ã³ã¡ã³ããåºãããã®ã§ãä»ãé ã«æµ®ãã¶ããšã1ã€ãããŸãã
å
ã®è°è«ã§ã®@when
ã«å¯Ÿããæµæã®äžéšã¯ãè¿œå ã®ã«ãŒã«ã§ãã ããããä»èããŠã¿ããšãå¿
èŠãªãã¯ãã§ãã
ãããã®2ã€ã®ãããã¯ãçããããšãèãããšïŒ
.a {
& .b { color: blue; }
}
.a {
.b { color: blue; }
}
次ã«ãããã2ã€ã®ã¹ããŒãã¡ã³ããããŒãµãŒã«ãã£ãŠçãããã®ãšããŠåãå ¥ããããå¿ èŠããããŸãã
.a {
& when (1=1) { color: blue; }
}
.a {
when (1=1) { color: blue; }
}
& when
以å€ã®çç±ããªãå Žåãæ§æçã«ã¯æ¬åœã«åä»ã§ãã &
ãçç¥ããŠã芪ã»ã¬ã¯ã¿ãŒãšã®ã»ã¬ã¯ã¿ãŒçµåãæ瀺ããã®ã¯ãã£ãšåããååšããŠããããã芪ã»ã¬ã¯ã¿ãŒã®ã¬ãŒããæ瀺ããããã«&
ãçç¥ããŠããé£èºã®ããã«ã¯èŠããŸããã ãŸãããããã¯ã«ãŒãé¢æ°ããã©ã°ã€ã³ã§äœ¿çšããããã«ããŒãµãŒã«ãã£ãŠåãå
¥ããããããã«ãªã£ãããã2013幎ã®ããã«å¥åŠã«èŠããããšã¯ãªããªããŸããã
ãããåéããçç±ã¯èŠåœãããªãã çµå±ã®ãšãããç§ãã¡ã¯ãã§ã«ïŒ2072ãæã£ãŠããŸã
when (1=1) { color: blue; }
äºäººã®ãã£ã©ã¯ã¿ãŒã®çµæžã®ããã ãã«å€§ããªæ··ä¹±ããã¯ã¹ãéãïŒ
èŠåå¡ã¯ããã»ã©è¯ããããŸããã
ã©ã³ãã ãªäžåçãªã³ã¡ã³ããã³ã¡ã³ããã䟡å€ãããªããšæããŸããã ãã¹ãŠã®äœçœ®ã®èåŸã«äœããããã¯ãã§ãïŒããã§ãªããã°ãæ¡ä»¶ä»ãã³ãŒãã¯äžå®å
šã§ããã if
ã¯ãã»ãšãã©ãã¹ãŠã®èšèªã§åäžã®æ¡ä»¶ããªããŠã_anything_ãæžãæ¹æ³ãç¥ã£ãŠãããšããçç±ã ãã§ã°ãããŠããŸãïŒã
ãããåéããçç±ã¯èŠåœãããªãã çµå±ã®ãšãããç§ãã¡ã¯ãã§ã«
when (1=1) { color: blue; }
ãæã£ãŠããŸã
ããŒãšâŠããããããããªãã®ïŒ
ãããããããã¹ãã§ããã®ã¯åççã§ãã ç§ãã¡ã¯ãããèš±å¯ããããã§çµããããããšãã§ããŸãã
ãªã³ã¯ããã¯ãã®æ©èœãªã¯ãšã¹ããèŠã€ãããŸã§åŸ ã¡ãŸãïŒç³ãèš³ãããŸããããçµäºããåã«èª€ã£ãŠEnterãã¯ãªãã¯ããŸããïŒ
ãããã£ãŠããããïŒ2072ã«ããŒãžããŸãã
@ seven-phases-max
ãã®åé¡ã¯ãä¿è·ãããèªå·±å®è¡ãããã¯å
ã§ã®å€æ°ã®åå®çŸ©ãèš±å¯ããããšåŒã°ãããã®åé¡ã®äžéšã«ããæ¥ç·ã®è°è«ã«ã¯ãselect / caseããã³vbscriptiifïŒ[ifcond]ã[then]ã[else]ïŒã«é¡äŒŒãããŠãŒã¹ã±ãŒã¹ãå«ãŸããŠããŸãããããã¯ããããè°è«ã®ããã®ããè«ççãªããã¯ã¢ããã§ãããããã¯ãããã裞ã®ãšã以äžã«æ©èœããŸãã Buuut ...ããããããã¯when ()
察& when ()
ã®è³ªåã ãã§æ°ããåé¡ãšããŠæèµ·ãããã¹ãã§ãã
whenïŒïŒvsïŒwhenïŒïŒã®è³ªåã ãã§ã
ããªãã¯ããã«çå£ã«åãçµãããšã¯ã§ããŸãããïŒ æ£ç¢ºã«ã¯äœã®ããã«ïŒ $ïŒ &
ãåé€ããŠãã when
ã¯if
ã«ã¯ãªããŸããïŒãã¹ãŠã®çç±ã§ïŒ2072ãåç
§ïŒã ããã§ãããããã®ãŸãŸã«ããŠãããã§çµããããŠãã ããã
ãããããªãã¯ãããã¯ã³ã©ã³ã¯äžããŠãããŸããïŒ æ°ãå転ããŠããå Žåã¯ãå°ãæéãåã£ãŠåŸã§æ»ã£ãŠãæ°ããå·ã«æçš¿ããçç±ã確èªããŠãã ããã ãããã®æåã®è°è«ä»¥æ¥ãããã€ãã®ããšãé²åããŠããŸããã
ç§ã¯æ°åã害ããã€ããã¯ãããŸããã§ããã
ç§ã®ïŒ
ããã§ãããããã®ãŸãŸã«ããŠãããã§çµããããŠãã ããã
ãã ã®è¿äºã§ããïŒ
ç§ãã¡ã¯ãããèš±å¯ããããã§çµããããããšãã§ããŸãã
@ Seven-phases-maxããããŸãããããã¹ãã§ããŒã³ã倱ãããŸãã ãããã«ãããç§ã¯ãã®ã¢ã€ãã¢ã«ã²ã©ãå·çããŠããŸããã§ããããããŠå
šäœãšããŠãæ¢åã®@when
ææ¡ã¯ãšã«ããããè¯ã/ããçšéãåºãã§ãã
ãsassãã¯å°ãªãããã¯ãŸãã ãšæããŸãã ãã§ã«if-elseããããŸãã ããã¯æ¬åœã«é£ãããã³ãŒãã£ã³ã°ã®å€ãã®è¡ãå°ãªããªããŸãã åäœããããããŒãºãå®å šã«æºãããŠããªãå Žåã ããã«ãã«ãŒããå°ãªãããããšãã§ããŸãããèšèªã«ã¯ç¬èªã®æ©èœãå¿ èŠã§ãã
@aukgitä»äºã«é©ããããŒã«ã䜿çšããŠãã ããã SCSSã®æ¹ãé©ããŠããå Žåã¯ãããã䜿çšããããšããå§ãããŸãã SassãšLessã¯éåžžã«ç°ãªããããžã§ã¯ãã§ãã
@ matthew-äœã¶æãåŠç¿ãæžããããå°ãªããã³ãã¥ããã£ãããè¯ããªããããªãã®ã§ããã°ãããããã®ããšãæžããåŸã®åŠéšé·ã¯ãç§ãã¡äž¡æ¹ã«ãšã£ãŠæ倱ã§ãã ããããããŒãã¹ãã©ãããå°ãªããã®ãããsassãïŒhttps://github.com/twbs/bootstrap/tree/v4-devïŒã«ç§»è¡ããçç±ã ãšæããŸãïŒæåã®çç±ã¯ã³ã³ãã€ã«ãéãããšã§ããïŒã æåã®ãœãŒã¹ã¯ãlessãã§ãããã çŸåšã圌ãã¯å ã®ãœãŒã¹ããsassãã§èšè¿°ãããããlessã«å€æããŸãïŒéã®å ŽåïŒã
å¥ç© ïŒ
ãé©åãªä»äºã®ããã®é©åãªããŒã«ã
ããã§ã¯é©çšããªãã§ãã ãã
å°ãªã| Scss | ã¹ã¿ã€ã©ã¹åæ§ã®ãããžã§ã¯ãã åœæ人æ°ã ã£ããã®ããå§ããŸããããä»ã§ã¯ãå°ãªããã³ãã¥ããã£ã¯èªåèªèº«ãæ¹åããããªãããã§ãã
ãå°ãªããã®èåŸã«ããèãæ¹ã¯ãæžãéãæžãããããå€ãã®ããšãè¡ãããšã§ãã ã©ããã§ããã¯åæžãè¡ããŸãããã©ããã§ããã¯ããå€ãã®æžã蟌ã¿ãå¿ èŠãšããŸãã
ã³ã¡ã³ãããŠãã ãã£ãŠããããšãããããŸãã
ãã¡ã³ãã€ãã·ã¥ãªæ代é ãã®ãããã¬ã³ãã ãããã®åã£ãããŸãã¯åã«èª€ã£ãçºèšã®ãã¹ãŠãè°è«ããã®ã¯æéã®ç¡é§ã§ãã
äŸãã°ïŒ
æ¬åœã«è€éãªæ¡ä»¶ä»ãã³ãŒããäœæããæ¹æ³ã¯ãããŸããã
ããããã¹ãã²ããã£ã³ãŒããæžãããã®ããŒã«ãå¿ èŠã§ãã-ãã®ããã«ã ãã®ãããªã³ãŒããæžãå Žåã確ãã«Lessã¯ééããªãããªãã®ããŒã«ã§ã¯ãããŸããã
ãlessãã¯ãsassãstylusãšã¯éåžžã«ç°ãªããxããå®è¡ãããšæããŸãã ä»ã®ãã¹ãŠã¯åæ§ã®ããšãããŸããããlessãã¯ãããåæ§ã®çš®é¡ã§ã¯ãªããšäž»åŒµããŸãã :)
@aukgit
ãlessãã¯ãsassãstylusãšã¯éåžžã«ç°ãªããxããå®è¡ãããšæããŸãã
_ãªã_åãããšãããå¿ èŠããããŸããïŒ ããšãã°ã [1]ãš[2]ãåç §ããŠãèšèšéã®äž»ãªéããèŠã€ããŠãã ããã ãããã£ãŠããã®æŠå¿µã¯æ°ã«å ¥ããªããããããŸããããæ°ã«å ¥ããªãããŒã«ã䜿çšããããã«åŒ·å¶ããã人ã¯èª°ãããŸããã
ä»ãç§ã¯ãããååŸããŸãã ããããšãã æ¬åœã«ãããã¯æ¬åœã«ãããŸã§ã§æã誀解ãããŠããèšèªã§ãã ãã°ã©ã¹ã»ã¯ããã¯ãã©ãŒããèšãããã«ãJavaScriptã§ãã誀解ãããŠããŸããã
人ã ã¯jsã§ééããç¯ããŸãããå€ãã®èªèããããŸãã 'Less'ã®å Žåââãæåã®ããŒãžïŒless.orgïŒã«ãlessãšã¯äœãã説æããå¿ èŠããããŸãã
ããããšãã
ãã¯ã»ã³ãæžããïŒ
以äžïŒ
.if-value-present(@attribute; <strong i="7">@value</strong>: '') {
.x (@value) when not (<strong i="8">@value</strong> = '') {
@{attribute}: @value;
}
.x(@value);
}
.if-value-present-multi(@attributes; @values) {
.iter(@i) when (<strong i="9">@i</strong> > 0) {
.iter(<strong i="10">@i</strong> - 1);
// loop
<strong i="11">@attr</strong>: extract(<strong i="12">@attributes</strong>, @i);
<strong i="13">@value</strong>: extract(<strong i="14">@values</strong>, @i);
.if-value-present(<strong i="15">@attr</strong>, @value);
}
<strong i="16">@len</strong>: length(@values);
.iter(@len);
}
.x {
<strong i="17">@var</strong>: c1,c2, c3;
<strong i="18">@val</strong>: v1, '', 'wddww';
.if-value-present-multi(@var;@val);
}
.x{
.if-value-present(content, 'new val');
}
CSSåºåïŒ
.x {
c1: v1;
c3: 'wddww';
}
.x {
content: 'new val';
}
ãå°ãªããã³ãã¥ããã£ãããè¯ããªããããªãã®ãªããããã¯ç§ãã¡ã®äž¡æ¹ã«ãšã£ãŠæ倱ã§ã
ãç§ã欲ããXæ©èœããµããŒããããŠããªãã==ãããå°ãªãã³ãã¥ããã£ã¯ããè¯ããªããããªãããšèããã®ã¯ééãã ãšæããŸãã ããã¯ç§ãã¡ãã©ãã«ãé£ããŠè¡ããªãã
å¶åŸ¡ãããŒã®æ¹åã«åãçµãããã«ãGithubã«ã€ããŠããã€ãã®è°è«ããããŸãã å®éããã®ã¹ã¬ããã¯æåŠããããïŒ2072ã«ããŒãžãããŸããã éãã3幎åã®ã¹ã¬ããã«ã€ããŠã³ã¡ã³ãããŸããã ïŒ2072ãšã¯å°ãéããããããªããšæã£ãä»ã®ã¢ã€ãã¢ããããŸããããæ¬è³ªçã«ã¯ããã§ã¯ãªããšç¢ºä¿¡ããŠããŸããã
ä»ã§ã¯ãããè¯ãæ©èœããªãããã§ã
Lessã«ã¯_more_æ©èœããããŸãããããã¯æ¬åœã§ãã ããã¯ä»æ§ã«ãããã®ã§ãã ããã¯ã1æ¥ã§LessãåŠç¿ã§ããããã«ããããã§ãããLessã®æ©èœã¯äžè¬çãªãŠãŒã¹ã±ãŒã¹ã®99ïŒ ãã«ããŒããŠããŸãã Sassã®åŠç¿æ²ç·ã¯æ¥ã§ãã Sassã¯éåžžã«å€ãã®æ©èœãè¥å€§åããŠãããããã³ã³ãã€ã«ãç¶è¡ã§ããããã«ããããã ãã«ãäœã¬ãã«ã®CããŒã¹ã®ã³ã³ãã€ã©ãæ§ç¯ããå¿ èŠããããŸããã ããã¯çŽ æŽãããææã§ãã ããããçµå±ã®ãšãããã¹ã¿ã€ã«ã·ãŒããäœæããŠããã ãã®äœãã®çŽ æŽããã蚌æ ã§ã¯ãããŸããã
çŸåšã圌ãã¯å ã®ãœãŒã¹ããsassãã§èšè¿°ãããããlessã«å€æããŸãïŒéã®å ŽåïŒã
æ¬åœã§ãããããã¯è€æ°ã®èŠå ã«åºã¥ããŠãããããããäœã§ããããå°ããããšãã§ããŸãã ä»æ¥ãLessã§Bootstrapã䜿çšããŠãã人ãããããããã®ã§ãLessãŠãŒã¶ãŒãæŸæ£ããã®ã¯ééãã ãšå人çã«æããŠããŸãã
çµå±ã®ãšãããæ¡ä»¶æãæžãããã«å¿ èŠãªããŒãã«ã€ããŠã®ããªãã®äžæºã¯_ééã£ãŠããŸãã_ã ããã§æäŸãããŠããäŸã¯ãåã«èšèªã«é©åããŠããŸããã ïŒ2072ã®ã¹ã¬ããããèªã¿ã«ãªãããšããå§ãããŸãã
ïŒããã¯å®éã«ã¯å°ããªããããã¯ã§ãããç§ã¯ãã çåã«æã£ãŠããŸãïŒ
<strong i="7">@var</strong>: c1, c2, c3; <strong i="8">@val</strong>: v1, '', 'wddww';
ãããŠã .if-value-present-multi
ãåŒã³åºã以å€ã«ããããã®å€æ°ãã©ã®ããã«äœ¿çšããã§ããããã
ïŒãããŠããããã®å€æ°ã¯ä»ã®äœãã«äœ¿çšãããŸãïŒä»£ããã«ãããããã£ãšå€ã®ãã¢ã ãã䜿çšããã®ã¯æå³ããããŸãããäŸïŒ
<strong i="14">@rules</strong>:
c1 v1,
c3 'wddww';
// no need for c2 since it has no effect
ããã«ã .x {content: 'new val'}
ã ããå¿
èŠãªå Žåã .x {.if-value-present(content, 'new val')}
ãæžãç®çã¯äœã§ããããã ãããŠãäœãããªãå Žåã¯.x {.if-value-present(content)}
ãšæžããŸããïŒ
ïŒæ£çŽãªãšãããç§ã¯[1]ãèŠãŸãããã1ã€ã ãã³ã¡ã³ãããããšã¯ãããŸããïŒïŒ_æéãç¯çŽããããã«_ïŒ elements
ãlesshat
ãªã©ã®å€ä»£ã®ã©ã€ãã©ãªãç Žæ£ããããšãæ€èšããŠãã ãã-ãããŠä»£ããã«autoprefixer
ã䜿çšããŠãã ããããã°ããã®éãã©ã¡ãã®CSSããªããã»ããµã«ããã³ããŒãã¬ãã£ãã¯ã¹ã©ã€ãã©ãªã¯å¿
èŠãããŸããïŒã
ããã¯éåžžããæ©èœèŠæ±ãã®ã»ãšãã©ããXYåé¡ãã§çºçããæ¹æ³ã§ãã ïŒé¢é£åéã§ã®åæ§ã®å€±æã®ä»ã®è¯ãäŸïŒïŒ1400ãšïŒ1894ãæ©èœãå®å šã«åœ¹ã«ç«ããªããšããããã§ã¯ãããŸããïŒãããã£ãŠãäž¡æ¹ãéãããŸãŸã«ãªããŸãïŒããå®éã®ãŠãŒã¹ã±ãŒã¹ãå°ãå§ãããšãéåžžã¯æããã«ãªããŸãXã解ãããšããŠYãééã£ãŠããïŒã
ããŠããã«ãŠãŒã¹ã±ãŒã¹ããããŸãïŒ
æåŸã®ãã©ã¡ãŒã¿ãæå®ãããŠããªãå Žåã¯ã3ã€ã®ãã©ã¡ãŒã¿ã䜿çšããŠmixnãäœæããããšããŸããããã®å Žåãmixnå
ã«ãã®å±æ§ãäœæããããããæ¡ä»¶ã圹ç«ã¡ãŸããã
ããã§ã¯https://github.com/aukgit/WeReviewProject/blob/master/WereViewApp/Content/Less/remixens/sensitive/sensitive-placements.lessåãmixenãäœåºŠãäœåºŠãå®è£ ããããšããŸãããããããéæã§ããŸãããéåžžã«ç°¡åã«æ¡ä»¶ä»ãã
ç§ã¯ä»ãããæã«å ¥ããŸãã..ããããšãããããŸããã
@aukgitãããã®ããã¯ã¹ã€ã³ãç°¡åã«æããããããšãã§ããã¯ãã§ãã
https://gist.github.com/matthew-dean/e617bc1f71528843ef9fa73d70427bcf
@ matthew-deanã«æéãå²ããŠãç§ãå©ããŠãããŠããããšãã :)ç§ã¯ããªãã«ãšãŠããã£ã±ãã§ãã
:)
ãsassãã¯å°ãªãããã¯ãŸãã ãšæããŸãã ãã§ã«if-elseããããŸãã
ã©ã¡ãã®èšèªã«ãç¬èªã®åé¡ããããŸãã
åçãªã€ã³ããŒãããªãããšããããŠãããå®è£ ããããšã«æ¶æ¥µçã§ããããšã¯ãç§ãSassããLessã«åãæ¿ãããäž»ãªçç±ã§ãã äœå¹Žãã®éããã®æ©èœãåãããã®ã¯å°ãªããªã£ãŠããŸãã
ãã ããåŸæ¥ã®å¶åŸ¡æ§é ïŒFORã«ãŒããIF-ELSEã¹ããŒãã¡ã³ããªã©ïŒãšã¯ãªã³ãžã«å€ããæ§æããªãããããã®åãã劚ããããšããããŸãã
岩ãšåºãå Žæã®éã«ç«ã¡åŸçããŠãããããªæ°ãããŸã...
@ jslegers ïŒ249ãšåãã³ã¡ã³ãã lessã«ã¯ãv1.x以éãããŸããŸãªåœ¢åŒã®æ¡ä»¶ä»ãå¶éããããŸãïŒæ°ããããŒãžã§ã³ã§ã¯ãŸããŸãå¢ããŠããŸãïŒã
@ seven-phases-max
ç§ã¯ãIFã¹ããŒãã¡ã³ãã®ä»£æ¿ãšããŠã®ã¬ãŒãä»ãããã¯ã¹ã€ã³ãšLessã®ã«ãŒãã®ä»£æ¿ãšããŠã®ååž°çããã·ã³ã°ãèªèããŠããŸãã ããããLessã®å¶åŸ¡æ§é ã«é¢ããããã¥ã¡ã³ãã§èŠã€ããã®ã¯ããã ãã§ãã ãããŠãå€ãã®èšèªã§ããã°ã©ãã³ã°ã®çµéšãæã€äººãšããŠãç§ã¯åœŒãã®æ§æãæ··ä¹±ããæ£çŽã«èšããšãéåžžã«ããããã®ãããã®ã ãšæããŠããŸãã
èšåãã䟡å€ã®ãããã®ä»¥å€ã«ä»ã®å¶åŸ¡æ§é ãããå Žåãç§ã¯ããããããã¥ã¡ã³ãã§èŠã€ããããšãã§ããŸããã§ããã
ãšã«ããã...ã®ãããªãã®
scss
a {
<strong i="11">@if</strong> $time == morning {
color: red;
} <strong i="12">@else</strong> if $time == afternoon {
color: blue;
} <strong i="13">@else</strong> {
color: grey;
}
}
...ãŸãã¯...
scss
<strong i="17">@each</strong> $author in $list
.photo-#{$author}
background: image-url("avatars/#{$author}.png") no-repeat
...ãŸãã¯ãã...
scss
<strong i="21">@for</strong> $i from 1 through 8 {
$width: percentage(1 / $i)
.col-#{$i} {
width: $width;
}
}
...ç§ã®æèŠã§ã¯ãSassã®æ¹ããLessã®ã¬ãŒããããããã¯ã¹ã€ã³ãååž°çãªããã¯ã¹ã€ã³ãšäŒŒããããªãã®ãæžããããã¯ããã«èªã¿ããããã¯ããã«ãšã¬ã¬ã³ãã§ãã
ãã®ãããªã¹ããŒãã¡ã³ãã®æ¬ åŠãšLessã®å šäœçãªèªã¿ã«ããæ§æïŒSassãšæ¯èŒããŠïŒã¯ãç§ãSassã«åºå·ããããšã奜ã2ã€ã®äž»ãªçç±ã§ãããç§ã®ãããžã§ã¯ãã®1ã€ã§Lessãæ€èšããããšããæ°ãé²ãŸãªãã
ãããŠãSassãLessãããã¯ããã«äººæ°ãé«ãŸã£ãŠããããšãèãããšããã®ããã«æããŠããã®ã¯æããã«ç§ã ãã§ã¯ãããŸããã
@jslegersäŸãšããŠãæçš¿ããåã«ããã§ã«å©çšå¯èœãªãã®ã確èªããŠãã ããã
æ®ãã®éšåïŒäººæ°ãªã©ïŒã«ã€ããŠã¯ããã®ããã«åçŽåãããæ¹æ³ã§äœããè°è«ããæå³ã¯ãããŸããïŒStylusã«ã¯ããããã¹ãŠãããŸããïŒïŒãLessãä»ã®CSSããªããã»ããµã眮ãæããããšãã¯ããŒã³ã«ãªãããšã宣èšãããŠããŸããã ãããŠæåŸã«ãæãäžè¬çãªééãã¯ãäœãã®äººæ°ããã®äœãã®äœè
ã®äž»èŠãã€å¯äžã®ç®æšã§ãããšèããããšã§ãã
ããããæçš¿ããåã«ããã§ã«å©çšå¯èœãªãã®ãåŠã¶ããã«ããŠãã ããã
ææžåãæ¹åããããæ¢ããŠãããã®ãèŠã€ãããªãå Žåã¯ãæ¢ããŠãããã®ãçŽæ¥æã瀺ãããã«ããŠãã ããã
æ®ãã®éšåïŒäººæ°ãªã©ïŒã«ã€ããŠã¯ããã®ããã«åçŽåãããæ¹æ³ã§äœããè°è«ããæå³ã¯ãããŸãã[...]ãããŠæåŸã«ãæãäžè¬çãªééãã¯ãäœãã®äººæ°ããã®äœè ã®äž»èŠãã€å¯äžã®ç®æšã§ãããšèããããšã§ãã
åèãŸã§ã«ãç§ã¯äººæ°ãå質ãæçšæ§ã®åŒ·åãªææšã§ããããšãæ瀺ããããšã¯ãããŸããã å®éãå€ãã®å Žåããã®éã§ãã
ããã§ãããªã人ã ãLessããSassã«ç§»è¡ããã®ããèŠããšãããã¯ããªãç°¡åã§ã...
å人çã«ã¯ãéåžžã®ãPHPã¹ãã²ããã£ã欲ãããïŒäžèšã®ééã£ãããŒã«ã«é¢ããæçš¿ãåç
§ïŒä»¥å€ã¯äœãèŠããã2012幎ãæ°ããŠããŸããïŒãããã®äŸã®ã»ãšãã©ã¯ãçŸä»£ã®Lessã§ã¯ããªãã³ã³ãã¯ãã«ãªãããšããã§ã«ç€ºåããŠããŸãããèµ·ããããªãããã§ãïŒã
ããããæ°ã«ããªãã§ãã ãããéåžžãç§ã¯æ確ãªèª€ã£ãæ
å ±ã䞻匵ããã ãã§ããäœããèµ·ãããèµ·ãããªããã«ã€ããŠã®å人çãªæèŠã®è°è«ã¯ãå®å
šã«ç§ã®èå³ã®å¯Ÿè±¡å€ã§ãã
å人çã«ã¯ãã€ãã®ãPHPã¹ãã²ããã£ã欲ããã以å€ã¯äœãèŠããŸãã
Sassã®ä»£ããã«Lessã䜿çšãããšããã£ãšè€éãªããšãããããšæããšããã«ãã³ãŒããå¿ ç¶çã«ãPHPã¹ãã²ããã£ãã®ããã«èŠããããã«ãªããŸãïŒPHPãã¹ãã²ããã£ã³ãŒãã®çž®å³ã ãšæãå Žåã¯ãæããã«ABAPããã°ã©ãã³ã°ãè¡ã£ãããšã¯ãããŸããïŒãåºæ¬çãªå€æ°ãããã¯ã¹ã€ã³ãããããããç§ã¯ããã§ééã£ãŠãããšèããããšæããŸãã
ãããã®äŸã®ã»ãšãã©ã¯çŸä»£ã®Lessã§ã¯ããªãã³ã³ãã¯ãã«ãªãããšããã§ã«ã»ã®ããããŸããããç®èŠããããªãããã§ã
ãããªããç§ãèµ·ãããŠãç§ã®ç¡ç¥ããç§ã解æŸããããšãã§ããæ å ±æºãç§ã«äžããããã«åªåããŠã¿ãŸãããïŒ
誰ããç§ãééã£ãŠãããšèšŒæããããšã»ã©ãšããµã€ãã£ã³ã°ãªããšã¯ã»ãšãã©ãããŸããã ç§ã®çµéšã§ã¯ããããæé·ããããã®æè¯ã®æ¹æ³ã§ã...
æãåèã«ãªãã³ã¡ã³ã
ã¯ããç§ã¯ãããç¥ã£ãŠããŸãããç§ãã¡ã巚倧ãªLESSãæžããŠããå ŽåãäœçŸãã®.mixinãæžããŠç®¡çããå¿ èŠããããŸã
ããã¯ã¹ã€ã³ããã®åé¡ã解決ãããšã¯æããªãã ããã¯ã¹ã€ã³ã§ããããã®æ©èœã§å€ãã®ãã¯ãŒãåŸãã§ãããã
å°ãªãCSSã«ã¯ãäžéšã®ããã°ã©ãã³ã°èšèªãæã€ã»ãšãã©ãã¹ãŠã®æ©èœããããŸãã