SlideShare uma empresa Scribd logo
1 de 75
『LESS』事はじめ
                Creator’s village in Ehime
                     〜 2012 初夏 〜




12年12月17日月曜日
自己紹介!
           アイムービックで
           Webシステム作ってます。

           四国GTUG所属。

           骨折り損のくたびれもうけ
           http://blog.bornknow.com/

                                       @bornknow108

12年12月17日月曜日
今日のお話
               CSS拡張メタ言語について
               LESSの導入方法
               LESSの書きかた
               まとめ




12年12月17日月曜日
CSS拡張メタ言語
                  について


12年12月17日月曜日
CSS拡張メタ言語?




12年12月17日月曜日
メタ言語
               → 言語を定義するための言語

                何?意味がわからない


12年12月17日月曜日
例えば、Zen-coding
   Zen-coding
       input:text
   HTML
      <input type=”text”/>

   HTMLという言語を定義するための
   Zen-codingという言語

12年12月17日月曜日
じゃあ、あらためて
               CSS拡張メタ言語をご紹介


12年12月17日月曜日
Sass/SCSS


12年12月17日月曜日
Sass(Syntactically
               Awesome Stylesheets)
               SCSS(Sassy CSS)
               Rubyで実装されたコンパイラ
               SassはHAML形式で記述
               SCSSはCSS形式で記述



12年12月17日月曜日
ちなみにHAML形式ってこんなの
       HTML/XHTMLを生成するための
       マークアップ言語
       インデントや簡略構文によって記述
    !!!
    %html
      %head
        %title Hello, Haml!
      %body
        #header
          %h1 Hello, Haml!
        #content

12年12月17日月曜日
LESS


12年12月17日月曜日
今回お話するやつ
               JavaScriptで実装された
               コンパイラ
               CSS形式で記述
               詳細はのちほど




12年12月17日月曜日
Stylus


12年12月17日月曜日
node.js版Sassの作者が
               開発
               node.jsで実装された
               コンパイラ
               CSS形式で記述



12年12月17日月曜日
この他にも、TASS(JavaScript)とか
               PCSS(PHP)などがあります。



12年12月17日月曜日
いろいろあるよね
                 どうして
                LESSなの?



12年12月17日月曜日
Googleトレンド

                 人気がある


12年12月17日月曜日
CSS形式だから
                 ぱっと見て
               分かりやすい!




12年12月17日月曜日
JavaScriptで動く!
               環境構築しなくても
                    大丈夫!




12年12月17日月曜日
人 気 :大
               学習コスト:低
               導入コスト:低


               だから、   LESS!!

12年12月17日月曜日
導入方法


12年12月17日月曜日
方法は3つ!


12年12月17日月曜日
JavaScript
               変換用のJavaScriptファイル
               を読み込むだけ




12年12月17日月曜日
本家サイトへ


12年12月17日月曜日
ここから
               ダウンロード


12年12月17日月曜日
使用例
   <!-- LESSファイルを指定する -->
   <link
       rel="stylesheet/less"
       type="text/css"
       href="styles.less">

   <!-- コンパイラを読み込む -->
   <script
       src="less.js"
       type="text/javascript"></script>

12年12月17日月曜日
メリット
               導入が簡単




12年12月17日月曜日
デメリット
               つねに変換が発生するため
               重い
               クライアントの負荷が上がる
               納品がless形式になる




12年12月17日月曜日
node.js
               node.jsのlesscを使ってCSSに
               変換する




12年12月17日月曜日
node.js
               日本ユーザー
                グループ

12年12月17日月曜日
以下、略



12年12月17日月曜日
使用例
       通常
       # lessc hogehoge.less > hogehoge.css

       CSSを圧縮する場合
       # lessc --compress
             hogehoge.less > hogehoge.css




12年12月17日月曜日
メリット
               Web上で読み込むのはCSSに
               なる
               クライアントの負荷が下がる




12年12月17日月曜日
デメリット
               導入が大変
               (LESSのうまみが減る)
               環境によっては別途サーバー
               が必要
               修正ごとに変換が必要する



12年12月17日月曜日
アプリ
               アプリを使って変換する
               Windows winless
               Mac LESS.app




12年12月17日月曜日
http://
               incident57.com/
                     less/

12年12月17日月曜日
http://
               winless.org/


12年12月17日月曜日
LESSファイルを
                   指定


12年12月17日月曜日
エディタで保存


12年12月17日月曜日
CSSファイルが
                 生成される


12年12月17日月曜日
メリット
               Web上で読み込むのはCSSに
               なる
               クライアントの負荷が下がる
               LESSからの変換を意識しない
               でいい



12年12月17日月曜日
デメリット
               とくになし




12年12月17日月曜日
書きかた


12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   @color: #4D926F;

   #header {
     color: @color;
   }
   h2 {
     color: @color;
   }




12年12月17日月曜日
CSS
   #header {
     color: #4D926F;
   }
   h2 {
     color: #4D926F;
   }




12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   .rounded-corners (@radius: 5px) {
     border-radius: @radius;
     -webkit-border-radius: @radius;
     -moz-border-radius: @radius;
   }
   #header {
     .rounded-corners;
   }
   #footer {
     .rounded-corners(10px);
   }


12年12月17日月曜日
CSS
   #header {
     border-radius: 5px;
     -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
   }
   #footer {
     border-radius: 10px;
     -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
   }



12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   .box-shadow (@x: 0, @y: 0,
                @blur: 1px, @color: #000) {
     box-shadow: @arguments;
     -moz-box-shadow: @arguments;
     -webkit-box-shadow: @arguments;
   }
   #header {
     .box-shadow(2px, 2px);
   }
   #footer {
     .box-shadow(2px, 5px, 2px);
   }

12年12月17日月曜日
CSS
   #header {
     box-shadow: 2px 2px 1px #000;
     -moz-box-shadow: 2px 2px 1px #000;
     -webkit-box-shadow: 2px 2px 1px #000;
   }
   #footer {
     box-shadow: 2px 5px 2px #000;
     -moz-box-shadow: 2px 5px 2px #000;
     -webkit-box-shadow: 2px 5px 2px #000;
   }



12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   #header {
     h1 {
       font-size: 26px;
       font-weight: bold;
     }
     p { font-size: 12px;
       a { text-decoration: none;
          &:hover { border-width: 1px }
       }
     }
   }


12年12月17日月曜日
#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;
   }
12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   @base-border : 1px;
   @base-color : #111111;
   #header {
       border-top: @base-border;
       border-left: @base-border * 2;
       border-right: @base-border * 2;
       border-bottom: @base-border * 3;
   }
   #footer {
       color: @base-color + #003300;
   }

12年12月17日月曜日
CSS
   #header {
       border-top: 1px;
       border-left: 2px;
       border-right: 2px;
       border-bottom: 3px;
   }

   #footer {
       color: #113311;
   }


12年12月17日月曜日
変数
               ミックスイン その1
               ミックスイン その2
               ネスト
               演算
               関数



12年12月17日月曜日
LESS
   @red : #842210;
   #footer {
       border-color: desaturate(@red, 10%);
   }




12年12月17日月曜日
CSS
   @red : #842210;
   #footer {
       border-color: #7D2717;
   }




12年12月17日月曜日
// @colorより10%明度が高くする
   lighten(@color, 10%);
   // @colorより10%明度を低くする
   darken(@color, 10%);
   // @colorに10%の彩度を追加する
   saturate(@color, 10%);
   // @colorから10%の彩度を削除する
   desaturate(@color, 10%);
   // @color1 と @color2 をミックスする
   mix(@color1, @color2);


12年12月17日月曜日
// @colorから10%透明度を高くする
   fadein(@color, 10%);
   // @colorから10%透明度を低くする
   fadeout(@color, 10%);
   // @colorの50%の透明度にする
   fade(@color, 50%);
   // @colorから10度色相が大きくする
   spin(@color, 10);
   // @colorから10度色相が小さくする
   spin(@color, -10);


12年12月17日月曜日
// @colorの色相チャネルを取得する
   hue(@color);
   // @colorの彩度チャネルを取得する
   saturation(@color);
   // @colorの明度チャネルの値を取得する
   lightness(@color);
   // @colorの透明度チャネルの値を取得する
   alpha(@color);




12年12月17日月曜日
他にもいくつか
               できることがあります。


12年12月17日月曜日
効率的に学ぶなら


12年12月17日月曜日
本家サイト


12年12月17日月曜日
Twitter
               Bootstrap


12年12月17日月曜日
github


12年12月17日月曜日
less配下にあるよ


12年12月17日月曜日
まとめ


12年12月17日月曜日
LESSに限らず、
               CSSメタ拡張言語は便利!
               作業を効率化するならぜひ
               できればチームで統一してね!




12年12月17日月曜日
バグに
               ちょっとだけ
               気をつけて。

12年12月17日月曜日
ご清聴
               ありがとうございました。




12年12月17日月曜日

Mais conteúdo relacionado

Destaque

Aviso 5 color medidas 4 columnas x 142 mm
Aviso 5 color medidas 4 columnas x 142 mmAviso 5 color medidas 4 columnas x 142 mm
Aviso 5 color medidas 4 columnas x 142 mmOmar Ro Do
 
MASW academic writing orientation 2016
MASW academic writing orientation 2016MASW academic writing orientation 2016
MASW academic writing orientation 2016Martin McMorrow
 
1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full
1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full
1512a CSIRO & ENA - Network Transformation Roadmap - IPR FullMark Paterson
 
El espinal-tolima-disfrutalo-en-familia
El espinal-tolima-disfrutalo-en-familiaEl espinal-tolima-disfrutalo-en-familia
El espinal-tolima-disfrutalo-en-familiametodos de estudio
 
Guida introduttiva a Facebook
Guida introduttiva a Facebook Guida introduttiva a Facebook
Guida introduttiva a Facebook Ulixe CRM
 
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29John "Charlie" Keracik
 
Presentazione "Da Vinci - De Giorgio" - Istituto Professionale
Presentazione "Da Vinci - De Giorgio" -  Istituto ProfessionalePresentazione "Da Vinci - De Giorgio" -  Istituto Professionale
Presentazione "Da Vinci - De Giorgio" - Istituto Professionalegdanton
 
Seminario Mexico Italia
Seminario Mexico ItaliaSeminario Mexico Italia
Seminario Mexico Italiacusimano
 

Destaque (11)

Blooming Families
Blooming FamiliesBlooming Families
Blooming Families
 
Aviso 5 color medidas 4 columnas x 142 mm
Aviso 5 color medidas 4 columnas x 142 mmAviso 5 color medidas 4 columnas x 142 mm
Aviso 5 color medidas 4 columnas x 142 mm
 
Sql dasar
Sql dasarSql dasar
Sql dasar
 
MASW academic writing orientation 2016
MASW academic writing orientation 2016MASW academic writing orientation 2016
MASW academic writing orientation 2016
 
1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full
1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full
1512a CSIRO & ENA - Network Transformation Roadmap - IPR Full
 
El espinal-tolima-disfrutalo-en-familia
El espinal-tolima-disfrutalo-en-familiaEl espinal-tolima-disfrutalo-en-familia
El espinal-tolima-disfrutalo-en-familia
 
Guida introduttiva a Facebook
Guida introduttiva a Facebook Guida introduttiva a Facebook
Guida introduttiva a Facebook
 
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29
Experimental Study of the Pyrolysis of Eagle Ford Oil Shale act3_JH %281%29
 
Presentazione "Da Vinci - De Giorgio" - Istituto Professionale
Presentazione "Da Vinci - De Giorgio" -  Istituto ProfessionalePresentazione "Da Vinci - De Giorgio" -  Istituto Professionale
Presentazione "Da Vinci - De Giorgio" - Istituto Professionale
 
Diapositiva impoconsumo
Diapositiva impoconsumoDiapositiva impoconsumo
Diapositiva impoconsumo
 
Seminario Mexico Italia
Seminario Mexico ItaliaSeminario Mexico Italia
Seminario Mexico Italia
 

Semelhante a 「LESS」ことはじめ

すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google ChromeEigoro Yamamura
 
レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪Junko Nukaga
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみようJunko Nukaga
 
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜圭輔 大曽根
 
LESS楽しいれす(^q^)
LESS楽しいれす(^q^) LESS楽しいれす(^q^)
LESS楽しいれす(^q^) taiju higashi
 
Can you say the same words even in oss
Can you say the same words even in ossCan you say the same words even in oss
Can you say the same words even in ossN Masahiro
 
「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasualSATOSHI TAGOMORI
 
WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能Odyssey Eightbit
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回Satoru Mikami
 
セプテーニさんでのセミナー
セプテーニさんでのセミナーセプテーニさんでのセミナー
セプテーニさんでのセミナーTokusei Noborio
 
はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2Sadaaki HIRAI
 
第7回ゆるふわ勉強会
第7回ゆるふわ勉強会第7回ゆるふわ勉強会
第7回ゆるふわ勉強会horike37
 
NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版Koichiro Nishijima
 
{LESS}をちょっと拡張してみた
{LESS}をちょっと拡張してみた{LESS}をちょっと拡張してみた
{LESS}をちょっと拡張してみた洸人 高橋
 
よんでよんでよまれてよんで
よんでよんでよまれてよんでよんでよんでよまれてよんで
よんでよんでよまれてよんでEigoro Yamamura
 
Falconjsの始め方 (share)
Falconjsの始め方 (share)Falconjsの始め方 (share)
Falconjsの始め方 (share)Jun Funakura
 

Semelhante a 「LESS」ことはじめ (20)

すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google Chrome
 
About Sass
About SassAbout Sass
About Sass
 
レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪
 
DevSap20121117
DevSap20121117DevSap20121117
DevSap20121117
 
Code Anything
Code AnythingCode Anything
Code Anything
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜
HTML5を用いたセマンティックな文書作成【TechBuzz】第8回HTML5開発技術勉強会 〜先行事例紹介/交流会〜
 
LESS楽しいれす(^q^)
LESS楽しいれす(^q^) LESS楽しいれす(^q^)
LESS楽しいれす(^q^)
 
Can you say the same words even in oss
Can you say the same words even in ossCan you say the same words even in oss
Can you say the same words even in oss
 
Heroku入門
Heroku入門Heroku入門
Heroku入門
 
「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual
 
WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回
 
セプテーニさんでのセミナー
セプテーニさんでのセミナーセプテーニさんでのセミナー
セプテーニさんでのセミナー
 
はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2
 
第7回ゆるふわ勉強会
第7回ゆるふわ勉強会第7回ゆるふわ勉強会
第7回ゆるふわ勉強会
 
NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版
 
{LESS}をちょっと拡張してみた
{LESS}をちょっと拡張してみた{LESS}をちょっと拡張してみた
{LESS}をちょっと拡張してみた
 
よんでよんでよまれてよんで
よんでよんでよまれてよんでよんでよんでよまれてよんで
よんでよんでよまれてよんで
 
Falconjsの始め方 (share)
Falconjsの始め方 (share)Falconjsの始め方 (share)
Falconjsの始め方 (share)
 

Mais de Eigoro Yamamura

Kotlin勉強会 in ehime
Kotlin勉強会 in ehimeKotlin勉強会 in ehime
Kotlin勉強会 in ehimeEigoro Yamamura
 
コストエクスプローラーをつかいこなそう
コストエクスプローラーをつかいこなそうコストエクスプローラーをつかいこなそう
コストエクスプローラーをつかいこなそうEigoro Yamamura
 
はじめてのクラウドサーバー AWSとGCEを使い比べてみた
はじめてのクラウドサーバー AWSとGCEを使い比べてみたはじめてのクラウドサーバー AWSとGCEを使い比べてみた
はじめてのクラウドサーバー AWSとGCEを使い比べてみたEigoro Yamamura
 
Twitter bootstrapのススメ
Twitter bootstrapのススメTwitter bootstrapのススメ
Twitter bootstrapのススメEigoro Yamamura
 
CMSについておさらいしてみよう
CMSについておさらいしてみようCMSについておさらいしてみよう
CMSについておさらいしてみようEigoro Yamamura
 
すだちハッカソン発表資料
すだちハッカソン発表資料すだちハッカソン発表資料
すだちハッカソン発表資料Eigoro Yamamura
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたEigoro Yamamura
 

Mais de Eigoro Yamamura (7)

Kotlin勉強会 in ehime
Kotlin勉強会 in ehimeKotlin勉強会 in ehime
Kotlin勉強会 in ehime
 
コストエクスプローラーをつかいこなそう
コストエクスプローラーをつかいこなそうコストエクスプローラーをつかいこなそう
コストエクスプローラーをつかいこなそう
 
はじめてのクラウドサーバー AWSとGCEを使い比べてみた
はじめてのクラウドサーバー AWSとGCEを使い比べてみたはじめてのクラウドサーバー AWSとGCEを使い比べてみた
はじめてのクラウドサーバー AWSとGCEを使い比べてみた
 
Twitter bootstrapのススメ
Twitter bootstrapのススメTwitter bootstrapのススメ
Twitter bootstrapのススメ
 
CMSについておさらいしてみよう
CMSについておさらいしてみようCMSについておさらいしてみよう
CMSについておさらいしてみよう
 
すだちハッカソン発表資料
すだちハッカソン発表資料すだちハッカソン発表資料
すだちハッカソン発表資料
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみた
 

「LESS」ことはじめ

  • 1. 『LESS』事はじめ Creator’s village in Ehime 〜 2012 初夏 〜 12年12月17日月曜日
  • 2. 自己紹介! アイムービックで Webシステム作ってます。 四国GTUG所属。 骨折り損のくたびれもうけ http://blog.bornknow.com/ @bornknow108 12年12月17日月曜日
  • 3. 今日のお話 CSS拡張メタ言語について LESSの導入方法 LESSの書きかた まとめ 12年12月17日月曜日
  • 4. CSS拡張メタ言語 について 12年12月17日月曜日
  • 6. メタ言語 → 言語を定義するための言語 何?意味がわからない 12年12月17日月曜日
  • 7. 例えば、Zen-coding Zen-coding input:text HTML <input type=”text”/> HTMLという言語を定義するための Zen-codingという言語 12年12月17日月曜日
  • 8. じゃあ、あらためて CSS拡張メタ言語をご紹介 12年12月17日月曜日
  • 10. Sass(Syntactically Awesome Stylesheets) SCSS(Sassy CSS) Rubyで実装されたコンパイラ SassはHAML形式で記述 SCSSはCSS形式で記述 12年12月17日月曜日
  • 11. ちなみにHAML形式ってこんなの HTML/XHTMLを生成するための マークアップ言語 インデントや簡略構文によって記述 !!! %html %head %title Hello, Haml! %body #header %h1 Hello, Haml! #content 12年12月17日月曜日
  • 13. 今回お話するやつ JavaScriptで実装された コンパイラ CSS形式で記述 詳細はのちほど 12年12月17日月曜日
  • 15. node.js版Sassの作者が 開発 node.jsで実装された コンパイラ CSS形式で記述 12年12月17日月曜日
  • 16. この他にも、TASS(JavaScript)とか PCSS(PHP)などがあります。 12年12月17日月曜日
  • 17. いろいろあるよね どうして LESSなの? 12年12月17日月曜日
  • 18. Googleトレンド 人気がある 12年12月17日月曜日
  • 19. CSS形式だから ぱっと見て 分かりやすい! 12年12月17日月曜日
  • 20. JavaScriptで動く! 環境構築しなくても 大丈夫! 12年12月17日月曜日
  • 21. 人 気 :大 学習コスト:低 導入コスト:低 だから、 LESS!! 12年12月17日月曜日
  • 24. JavaScript 変換用のJavaScriptファイル を読み込むだけ 12年12月17日月曜日
  • 26. ここから ダウンロード 12年12月17日月曜日
  • 27. 使用例 <!-- LESSファイルを指定する --> <link rel="stylesheet/less" type="text/css" href="styles.less"> <!-- コンパイラを読み込む --> <script src="less.js" type="text/javascript"></script> 12年12月17日月曜日
  • 28. メリット 導入が簡単 12年12月17日月曜日
  • 29. デメリット つねに変換が発生するため 重い クライアントの負荷が上がる 納品がless形式になる 12年12月17日月曜日
  • 30. node.js node.jsのlesscを使ってCSSに 変換する 12年12月17日月曜日
  • 31. node.js 日本ユーザー グループ 12年12月17日月曜日
  • 33. 使用例 通常 # lessc hogehoge.less > hogehoge.css CSSを圧縮する場合 # lessc --compress hogehoge.less > hogehoge.css 12年12月17日月曜日
  • 34. メリット Web上で読み込むのはCSSに なる クライアントの負荷が下がる 12年12月17日月曜日
  • 35. デメリット 導入が大変 (LESSのうまみが減る) 環境によっては別途サーバー が必要 修正ごとに変換が必要する 12年12月17日月曜日
  • 36. アプリ アプリを使って変換する Windows winless Mac LESS.app 12年12月17日月曜日
  • 37. http:// incident57.com/ less/ 12年12月17日月曜日
  • 38. http:// winless.org/ 12年12月17日月曜日
  • 39. LESSファイルを 指定 12年12月17日月曜日
  • 41. CSSファイルが 生成される 12年12月17日月曜日
  • 42. メリット Web上で読み込むのはCSSに なる クライアントの負荷が下がる LESSからの変換を意識しない でいい 12年12月17日月曜日
  • 43. デメリット とくになし 12年12月17日月曜日
  • 45. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 46. LESS @color: #4D926F; #header { color: @color; } h2 { color: @color; } 12年12月17日月曜日
  • 47. CSS #header { color: #4D926F; } h2 { color: #4D926F; } 12年12月17日月曜日
  • 48. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 49. LESS .rounded-corners (@radius: 5px) { border-radius: @radius; -webkit-border-radius: @radius; -moz-border-radius: @radius; } #header { .rounded-corners; } #footer { .rounded-corners(10px); } 12年12月17日月曜日
  • 50. CSS #header { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; } #footer { border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; } 12年12月17日月曜日
  • 51. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 52. LESS .box-shadow (@x: 0, @y: 0, @blur: 1px, @color: #000) { box-shadow: @arguments; -moz-box-shadow: @arguments; -webkit-box-shadow: @arguments; } #header { .box-shadow(2px, 2px); } #footer { .box-shadow(2px, 5px, 2px); } 12年12月17日月曜日
  • 53. CSS #header { box-shadow: 2px 2px 1px #000; -moz-box-shadow: 2px 2px 1px #000; -webkit-box-shadow: 2px 2px 1px #000; } #footer { box-shadow: 2px 5px 2px #000; -moz-box-shadow: 2px 5px 2px #000; -webkit-box-shadow: 2px 5px 2px #000; } 12年12月17日月曜日
  • 54. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 55. LESS #header { h1 { font-size: 26px; font-weight: bold; } p { font-size: 12px; a { text-decoration: none; &:hover { border-width: 1px } } } } 12年12月17日月曜日
  • 56. #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; } 12年12月17日月曜日
  • 57. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 58. LESS @base-border : 1px; @base-color : #111111; #header { border-top: @base-border; border-left: @base-border * 2; border-right: @base-border * 2; border-bottom: @base-border * 3; } #footer { color: @base-color + #003300; } 12年12月17日月曜日
  • 59. CSS #header { border-top: 1px; border-left: 2px; border-right: 2px; border-bottom: 3px; } #footer { color: #113311; } 12年12月17日月曜日
  • 60. 変数 ミックスイン その1 ミックスイン その2 ネスト 演算 関数 12年12月17日月曜日
  • 61. LESS @red : #842210; #footer { border-color: desaturate(@red, 10%); } 12年12月17日月曜日
  • 62. CSS @red : #842210; #footer { border-color: #7D2717; } 12年12月17日月曜日
  • 63. // @colorより10%明度が高くする lighten(@color, 10%); // @colorより10%明度を低くする darken(@color, 10%); // @colorに10%の彩度を追加する saturate(@color, 10%); // @colorから10%の彩度を削除する desaturate(@color, 10%); // @color1 と @color2 をミックスする mix(@color1, @color2); 12年12月17日月曜日
  • 64. // @colorから10%透明度を高くする fadein(@color, 10%); // @colorから10%透明度を低くする fadeout(@color, 10%); // @colorの50%の透明度にする fade(@color, 50%); // @colorから10度色相が大きくする spin(@color, 10); // @colorから10度色相が小さくする spin(@color, -10); 12年12月17日月曜日
  • 65. // @colorの色相チャネルを取得する hue(@color); // @colorの彩度チャネルを取得する saturation(@color); // @colorの明度チャネルの値を取得する lightness(@color); // @colorの透明度チャネルの値を取得する alpha(@color); 12年12月17日月曜日
  • 66. 他にもいくつか できることがあります。 12年12月17日月曜日
  • 69. Twitter Bootstrap 12年12月17日月曜日
  • 73. LESSに限らず、 CSSメタ拡張言語は便利! 作業を効率化するならぜひ できればチームで統一してね! 12年12月17日月曜日
  • 74. バグに ちょっとだけ 気をつけて。 12年12月17日月曜日
  • 75. ご清聴 ありがとうございました。 12年12月17日月曜日