0%
Less
變數
- 使用@符號當開頭命名變數, e.g.
@link-color: #4281dc;
@link-color: #428bca; // sea blue
// Usage a, .link { color: @link-color; }
|
Selectors
// Variables @my-selector: banner;
// Usage .@{my-selector} { font-weight: bold; line-height: 40px; margin: 0 auto; }
|
URLs
// Variables @images: "../img";
// Usage body { color: #444; background: url("@{images}/white-sand.png"); }
|
Import Statements
// Variables @themes: "../../src/themes";
// Usage @import "@{themes}/tidal-wave.less";
|
Properties
@property: color;
.widget { @{property}: #0ee; background-@{property}: #999; }
|
計算
- 雖然有
calc()
可以用,但是必須在前面加上 ~" ... "
來跳脫字符
- 由於要以字串處理,所以裡面無法使用變數
- 如果要使用變數,需要以
@{變數}
的方式使用
@asideWidth: 30px;
// error sample .post { width: calc(100% - @asideWidth); }
//correct sample, can't use parameter .post { width: ~"calc(100% - 30px)"; } // another way .post { width: ~"calc(100% - @{asideWidth})"; }
|
顏色處理
mixins 混入
- 定義時,與原本寫 class name 類似
.my-mixin
or .my-mixin2()
- 使用時,也是直接引用
.my-mixin
or .my-mixin2
.my-mixin { color: black; } // 不會輸出 class .my-other-mixin() { background: white; } .class { .my-mixin; .my-other-mixin; }
----------- Output ----------- .my-mixin { color: black; } .class { color: black; background: white; }
|
.border-radius(@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; }
.header { .border-radius(4px); } .button { .border-radius(6px); }
|
RWD 寫法參考
header { color: red; @media only screen and (min-width : 768px) { color: green; } @media only screen and (min-width : 1024px) { color: blue; } }
|
@smartphones: ~"only screen and (max-width: 479px)";
.foo { font-size: 2.4em;
@media @smartphones { font-size: 1.8em; } }
|
@smartphones: ~"only screen and (max-width: 479px)"; @tablets: ~"only screen and (min-width: 768px) and (max-width: 959px)";
@font-size--large: 24px; @font-size--medium: 12px;
.foo { font-size: @font-size--large;
@media @smartphones, @tablets { font-size: @font-size--medium; } }
|