Content-Length: 455375 | pFad | https://www.slideshare.net/slideshow/sass-14212266/14212266#21
実践Sass 前編 | PPT実践Sass 前編
- 17. Scout
• 無償
• Compassも対応
• サイトからDLできるver.ではconfig.rbが読めない
• githubの最新版は、config.rbとSass3.2対応
• Sass3.2の対応が遅かった
(一昨日ようやくリリース)
- 31. • 納品先がCSSを編集する場合
• 修正や追加で戻ってきた時には
Sassが使えない…
• Sassを入れろ、とは言いえない
➡ Sass管理外のCSSで対応できる
- 34. こうなる
:
/* line 301, ../sass/core/_utility.scss */
.fuga {
clear: both;
}
/* line 60, ../sass/style.scss */
.hoge {
color: red;
}
:
- 42. 変換例
//変換されない
.hoge{ compiled
color: #000000;
}
CSS
//変換される
.hoge{
$color:#000000; color: #000000;}
.piyo{
color: $color; .piyo {
} color: black;}
- 44. 長くなる例
#fafad2 → lightgoldenrodyellow
#00fa9a → mediumspringgreen
#66cdaa → mediumaquamarine
#7b68ee → mediumslateblue
#48d1cc → mediumturquoise
#c71585 → mediumvioletred
#ffebcd → blanchedalmond
#6495ed → cornflowerblue
#556b2f → darkolivegreen
#778899 → lightslategrey
#b0c4de → lightsteelblue
#3cb371 → mediumseagreen
- 55. こんなCSS
.hoge {
display: inline-block;
*display: inline;
*zoom: 1;
width: 200px;
height: 300px;
overflow: hidden;
padding: 0;
border: none;
background: url(hoge.png) no-repeat 0 0;
text-align: left;
text-indent: -9999px;
*text-indent: 0;
*line-height: 9999px;
*word-wrap: normal;
-webkit-box-shadow: 1px 0 1px #000;
-moz-box-shadow: 1px 0 1px #000;
box-shadow: 1px 0 1px #000;
border: 1px solid #000;
}
- 56. Sassではこう
.hoge{
@include img-replacement
(20px,30px,'hoge.png');
@include box-shadow
('1px 0 1px #000');
border:1px solid #000;
}
- 67. @extendのサンプル
.foo{
" border:1px solid black;
" color:red; compiled
}
:
.hoge{
" @extend .foo; CSS
} .foo,.hoge,.fuga{
.fuga{ " border:1px solid black;
" @extend .foo; " color:red;}
" margin:10px; :
} .fuga{margin:10px;}
- 73. NHN Japanでの運用
.extend-box{
" @include linear-gradient(top, #000, #fff);
" @include box-shadow(“0 0 1px #3cf”);
" border:1px solid red;
}
CSS
:
.hoge{ .extend-box,
" @extend .extend-box; .hoge{
" width:100px; " extend-boxのコード}
} :
.hoge{
compiled
width:100px;}
- 77. 不要なセレクタが出力される
.extend-box{
" border:1px solid red;
" @include box-shadow(“0 0 1px #3cf”);
" @include linear-gradient(top, #000, #fff);
}
CSS
:
.hoge{ .extend-box,
" @extend . extend-box; .hoge{
" width:100px; " extend-boxのコード}
} :
.hoge{
compiled
width:100px;}
- 79. Placeholder Selectorのサンプル
%box{
" border:1px solid red;
" @include box-shadow(“0 0 1px #3cf”);
" @include linear-gradient(top, #000, #fff);
}
: CSS
.hoge{ .hoge{
" @extend %box;
" %boxのコード}
" width:100px;
} :
.hoge{
compiled width:100px;}
Editor's Notes
- #2: \n
- #3: \n
- #4: 実践Sassのセッション\n
- #5: よむ\n
- #6: sassの入門書を共著した→\nepubの電子書籍だけどブラウザから見れる→\nアクセス ⌘tab\n
- #7: 前編は後編に分かれている\n読む\n
- #8: \n
- #9: よむ\n前置きはこのぐらいにして本編を始めます\n
- #10: 本編をはじめる前に、前置きをもう一点、 \n発表中に「Sass」や「Sassファイル」と言った場合、\nそれは「SCSS記法」で書かれた「.scss」ファイルを指しています。\n エスシーエスエスっていうのはなにせが発音しづらいので、\nサンプル説明などで、scssファイルについてサスファイルなどといった場合は任意で脳内補完をおねがいします。\n scss記法の他にsass記法というのがあって混乱しがちですが、\n今回はsass記法については触れませんので、\nsassといったらscssであるということでひとつよろしくおねがいします\nという感じで、前置きはこのぐらいにして、そろそろ本編を始めさせていただきたいと思います\n
- #11: \n
- #12: 弊社のMEの6,7割がmacをつかってます→\nエディタもvimやcoda、dwなどバラバラ→\nSassは全員CUIで導入した→\nただ全員が黒い画面を使いこなしてるわけではない\nwikiにインストール方法などをまとめて共有\n\n
- #13: Sassを導入してCSSから変わる点\nコンパイルが必要→\nよむ\nプロジェクトごとに変わってくる\n
- #14: なので、プロジェクトごとにwikiで共有しました→\nしかし人力なので忘れるなど\nヒューマンエラーもある\n
- #15: compassを使うともっと簡単に共有できる→\ncompassとは、\ncss3のミックスインなどがつまったライブラリと、\nSassにはない拡張機能が使えるようになるフレームワーク\n
- #16: compassにはconfig.rbという設定ファイルが必要です\nそこに対象ディレクトリや形式を書いておく\n\nそして、それをプロジェクトごとに\nルートにコミットしておきます\n
- #17: あとは\ncompass watchでOK→\n全プロジェクト共通でこのコマンドだけでよくなるため\n共有のミスなどは避けられます\n
- #18: 続きまして環境差異についてです\nさきほどご覧頂いたとおり、弊社のMEの環境はバラバラ\nそんな中でSassを使っていると→\nよむ\nあ\n
- #19: \n
- #20: 続きましてSassのツールについてです\nsassにはGUIツールもある\nMEでもCUIが苦手な人や、\nデザイナーディレクターにインスコしてもらいたい場合は\nGUIを使いましょう→\n混在しても問題はないので、心置きなく使って行きましょう\n次に、メジャーなGUIツールである\nscout、config.appについて軽く紹介します\n
- #21: 一つ目はスカウトです→\n無償で→コンパスにも対応しています→\nしかしサイトからDLできるバージョンは古くてconfigが読めない\nリンククリック\n→githubからDLしましょう。\nリンククリック\nこちらの最新版はconfigと3.2に対応済み\n戻る\n→ただ、無償ということもあるのかリリースが遅い\n
- #22: よむ\n最後にサイト開いてみせる\n以上が、導入時に気になったポイントです\n
- #23: 続きまして運用時のポイント\n
- #24: 弊社では複数MEでひとつのプロジェクト作業することがあります\n弊社に限らず規模がある程度のところではよくある話\n当然対策が必要になる\n
- #25: sassはこのように作業者ごとに\nファイルを分割して作業しました\n
- #26: ファイル分割コツは、\n分割ファイルはパーシャルで作成する→\nファイル名の最初にアンダーバーを\nつけるとパーシャルになります\n
- #27: パーシャルファイルとはなにかというと\nSassはコンパイル時に、sassディレクトリにある\nsassファイルと同名のCSSファイルを出力します\nこの際パーシャルのCSSは出力さません\n
- #28: ではどう使うか。\nインポート前提→\nコンパイル時にマージされてCSSに出力されます\n
- #29: 図で見るとこういう流れになります\n
- #30: 読む\nこのような形で、\n作業者が複数になる場合は対応していました\n
- #31: 続きまして、CSSを直接触りたい人がいる場合についてです\n例えばDがCSSをわかっていると、\nMEに依頼するまでもない細かい修正をDがやってしまうケース\nDもSassをインスコしているといいのですが、\n人数が増えれば増えるほど、全員にSassインスコの徹底は難しい\n
- #32: そんな状況に対応するため\nよむ\n
- #33: \n
- #34: \n
- #35: 自社案件でなく、受託開発の場合でも\nよむ\nかといってsassをインストールしてとはいいづらいです。\nそれよりも、このCSSに編集してくださいのほうが\n依頼しやすいかとおもいます\n\n頻繁に戻りがあるようなケースで相手方とコンセンサスがとれれば、\nひとつの方法としてはありかとおもいます\n
- #36: 続いて修正箇所の見つけ方です\nブラウザで問題箇所を見つけた時、\n辿れるのはCSSまでです\n問題がsassのどこにあるかはわかりません\nとくに複数ファイルにまたがっている場合、\nどこに書いてあるか探すのに手間取る\n
- #37: sassにはline-comentという出力がよういされています\nコンパイル時に指定することで、\nCSSにsassのどこにかいてあるかを出力してくれます\n具体的に見てみます\n
- #38: これはラインコメントで出力したCSSです\n左から行数、ファイルのパスをCSSに出力してくれる\n
- #39: \n
- #40: 次に、compressedの注意点についてです\n読む\n
- #41: \n
- #42: \n
- #43: 以上が運用全般でのポイントとなります\nつぎに、コーディング作業時の細かなポイントについて見てみます\n
- #44: \n
- #45: まずは色値の扱いです\nSassでは、\nよむ\n
- #46: 具体的に見ましょう\nCSSの形式でベタ書きしている場合は変換されませんが、\n変数に格納してしまうと、カラーネームに変換されてしまいます\n
- #47: この変換対象ですが、3.2になって激増しました。\n中には、色値より長いカラーネームも存在します\n
- #48: \n
- #49: 長くなってしまうのは歓迎できるものではありません\n混ざるのも気になります。\n出来れば変換しないで細しいですが\n困ったことに回避策が用意されていません\n
- #50: よむ\n
- #51: \n
- #52: 2つめは文字列型で管理する方法です\n色値をクォートすることで文字列型にしつつ、\nアンクォート関数により文字列型のままで\nクォートを取り除きます\n\n
- #53: アンクウォート関数は書くのが面倒なので\nハッシュマークを使ったこちらでも構いません\n
- #54: \n
- #55: \n
- #56: \n
- #57: \n
- #58: コードの保守性を上げるコツです。\n内容としてはmixin、extend、変数、Sassコメントなど、\nSassの機能を正しく使おう、というものです。\nこれらを上手に使っていく事で、\nCSSのコードの塊について、\nどのコードがどんな意図を持って書かれたものか、\n明確にしていくことができます\n
- #59: 例えばこんなCSSです。\nぱっと見長くて解読するのに骨が折れそうですが\n
- #60: Sassではこうできました。\nimg-replacementはNHN Japanのライブラリで、\nCSSの画像置換をミックスイン化したものです。\nこのように、ミックスインによって、\nこの要素は画像置換の他には\nborderとboxshadowがあるとすぐに分かる\n
- #61: よむ\n使いやすいものにできるし、\nそうしなければSassを使う意味が無いとも言える。\n
- #62: 変数を使っても同じように\nちょっとした保守性を高めることができます\n読む\n
- #63: \n
- #64: \n
- #65: \n
- #66: よむ\nこのように、Sassの機能をきちんとつかっていくことで、\n保守性の高いコードをつくることができます\n
- #67: Sass側のコードの保守性も重要ですが、\nコンパイル後、つまりCSSを意識したコーディングも重要\nたとえばmixin\n読む\n
- #68: \n
- #69: \n
- #70: コンパイルしたコードを減らす方法として、\nextendがある\nextendとは何かというと\n読む\n
- #71: .fooを、hogeとfugaがextend。\nコンパイルすると、右下のCSS。\nfooに、hogeとfugaが\nグループセレクタとして追加す\n
- #72: \n
- #73: \n
- #74: 運用のルールを決めておかずに使ってしまうと、→\nコードを修正する場合→\n常に、どこからかextendされているかもという\n危険がともなうことになります\n
- #75: まつ\nこれでは恐ろしくてうかつに修正もできません\n
- #76: そんな状況を回避するために、運用でカバーします\nNHNJapanでは、・・・読む\n
- #77: コードを見てみます。\n.extend-boxというextend用のルールセットを作り、\nそれをextendしています。\nこうすることで、\nどこかしらで修正作業が発生した場合も、\nextendされるものとそうでないものが明確なので\n影響範囲がわかりやすく、安心して作業できます\n
- #78: まって\n\n安心です\n
- #79: ただそれでもまだ問題がありました\nよむ\n
- #80: .extend-boxはどこからも\n@extendされていない\nCSSには出てしまう\n赤字の部分\n
- #81: extendしている場合も\nルールセットにHTMLからは指定しない\nextend-boxがでてしまう\n
- #82: \n
- #83: さきほどとほとんど同じですが、\nCSSの方に出力されていません。\n綺麗なコードを保つことができます\nまた、extend-と明示するまでもなく%はextend前提のため、\nクラス名のextend-を取っています・\n冗長だった@extend extend-の部分も綺麗になります\n\n
- #84: 読む\nネストやミックスインと比べて、使い始めの頃は今ひとつ使いにくく感じてしまうextendですが、非常に強力な機能ですので、是非使ってみてください。\n\n
- #85: 以上で前編の内容は終了となります。\n引き続き後半に映らせて頂きます\n
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: https://www.slideshare.net/slideshow/sass-14212266/14212266#21
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy