Less- 動態撰寫CSS
因為手打css熟,之前就沒在碰像這樣可以把css程式化的工具,不過最近因為想玩一些新東西,所以就把Less也順便學一下。
要使用less,可以先到http://lesscss.org/下載最新版的less。
因為它可以在client端執行,所以下載後像這樣引入就可以了。
這是你編輯的less樣式
<link rel="stylesheet/less" type="text/css" href="styles.less">
這是less.js檔案
<script src="less.js" type="text/javascript"></script>
設定完成後,就可以來玩看看less了。
可以使用變數
- @color: #4D926F;
- #header {
- color: @color;
- }
- h2 {
- color: @color;
- }
Compile後
- #header {
- color: #4D926F;
- }
- h2 {
- color: #4D926F;
- }
使用別的樣式
- .rounded-corners (@radius: 5px) {
- border-radius: @radius;
- -webkit-border-radius: @radius;
- -moz-border-radius: @radius;
- }
- #header {
- .rounded-corners;
- }
- #footer {
- .rounded-corners(10px);
- }
compile後
- #header {
- border-radius: 5px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- }
- #footer {
- border-radius: 10px;
- -webkit-border-radius: 10px;
- -moz-border-radius: 10px;
- }
巢狀結構
- #header {
- h1 {
- font-size: 26px;
- font-weight: bold;
- }
- p { font-size: 12px;
- a { text-decoration: none;
- &:hover { border-width: 1px }
- }
- }
- }
compile後
- #header h1 {
- font-size: 26px;
- font-weight: bold;
- }
- #header p {
- font-size: 12px;
- }
- #header p a {
- text-decoration: none;
- }
- #header p a:hover {
- border-width: 1px;
- }
程式化操作
- @the-border: 1px;
- @base-color: #111;
- @red: #842210;
- #header {
- color: @base-color * 3;
- border-left: @the-border;
- border-right: @the-border * 2;
- }
- #footer {
- color: @base-color + #003300;
- border-color: desaturate(@red, 10%);
- }
compile後
- #header {
- color: #333;
- border-left: 1px;
- border-right: 2px;
- }
- #footer {
- color: #114411;
- border-color: #7d2717;
- }
看起來還蠻好玩的,只不過因為他是在client端運作,所以要考慮一下網頁的效能問題,也可以考慮把complie後的css再貼到一份新的css上,然後在把那份一起上傳到server的,另外也有server端的使用方法,有興趣也可以使用看看。
留言