潜在意識として、
デザイナー視点では、Sassは不要に感じている。
プログラマー視点では、CSSは貧弱に感じている。
Sassは、CSSをより強力にするための言語で、Rubyでできている。
と聞くとRubyに無知な自分にとっては、難しいイメージだが恐れるに足らず。従来のCSSの書き方で問題ない(Sass バージョン3から)。
拡張子は、.sass or .scss
↓ コンパイル(変換)
.css
ほかにも、less / stylus とかもあるけど、なぜSass?
コンパイル後のCSSを想像してSassを書く
コンパイル後のCSSが汚い場合は、Sassの書き方に問題あるということ
なぜSass? → ラクに書けるから
複数ファイルが一つのファイルになるのは、すごい!
色の微修正、いいね!グラデとかもできて、反転とかもできるといいな。
Sassだけではできない機能がセットになっている。
その他のたくさんの機能はCompass Helpersで確認。
CSS Spriteとdata URI schemeはとくに感動したッ!これだけでCompassを取り入れる価値あるッ!
導入方法は、他サイトや教則本を参考にするとして、衝撃だったのは、その手軽さ。セミナー内で環境をインストールし、コンパイルしてCSSファイルを出力できた!
かわいいからすべて許せる内容でした。
お友達になりたいわー。
いずれにせよディレクションのお話
原則として納品する
回避方法がある。
ネストが深すぎると・・・これはひどい
ネストは3階層まで、とルール付けをして制限をつけるといい。
運用面で破綻してしまいがち・・・これはひどい
クラスやmixinをつかう
ただし、mixinは、extendとは違いサイズ要領が大きくなるので、扱い注意。
そもそもそんなにセレクターを書いている時点で設計がまずい。
レスポンシブルなWebデザインを容易に作る Bootstrap / Foundation /Bem
バージョン管理 bundler
Gruntでもっと便利に(Compassより柔軟)
LINE株式会社での導入事例をサンプルに、職種や環境、技術レベルの異なる複数の作業者がかかわる環境で、どのように導入し、運用を続けているかを、紹介していただいた。
2011年6月から実用できるかを検査が始まり、実用できると判断後はチーム全体で導入の開始が始まり、現在は問題点のフィードバックとライブラリへの反映を行っているとのこと。
詳細はLINEのエンジニアブログに紹介されていて大変興味深い。 LINE Engineers' Blog NAVERでのSassの使い方
compassを導入する際には、設計をしっかりしておく必要がある。そうしないと運用が破綻しかねないので注意が必要だ。
そんな中で3つの概念モデルを紹介していただいた。
オブジェクト指向っぽく考えて整理しよう。
レイアウトに依存したCSSはダメ(なぜなら上書き合戦となるから、もしくはコピーしなければいけないから)
↓
レゴみたいに考える
↓
スキン(共通項目を一つのモジュールに)
BEMというワードは、いろんなケースで使われその意味が変化するが、ここではクラス名のこととして説明。BEMでは、クラス名の命名規則を厳格にしているのが特徴。
ややこしく、クラス名が長くなるデメリットがあるが、設計思想 / ルールの統一ができるのは大きなメリット。これを導入することで得られる4つのポイント。
CSSルールを5つに分ける
| Base | サイトのデフォルトスタイルを定義する |
|---|---|
| Layout | サイトレイアウトの枠組み、およびそれを調節するための仕組み |
| Module | レイアウトの中にモジュールをいれていくサブクラス(OOCSSのスキン) |
| State | 状態ルール(BEMのクラス名ルールと同じ) |
| Theme |
もともとSASSに対しては、現状にまったく問題がないのに、なんでCSSファイルを生成するためのSCSSというステップを踏む意味があるのか、そもそもSASSを使うための学習は無駄ではないのか、という否定的な考えでした。
そんな中で「絶対便利だから」と言われただけでは納得できなかったので、今回だまされたと思って、このセミナーに参加することに決め、その分、とても楽しみにしていたセミナーでした。
実際に参加してみて、SASSのメリットしているところに懐疑的になる部分もありましたが、圧倒的に便利な部分もありました。すなわち導入した方がいいッ!という結論に至りました。LINEでの導入実例を参考に、まずは個人レベルから始めたいと思います。
この書籍の中で、ライティングのユーザビリティについて触れている項目があり、激しく共感する部分だったので、ここで備忘録としてピックアップする。 ・・・
この書籍は、I部 リサーチ、II部 デザイン、III部 インプリメンテーションと三部構成になっている。この記事では、その中から、I部 リサーチ、・・・
これを知ったときはマジか!と飛び跳ねた。あらためて思い返してみると、確かに公式チュートリアルでも触れていたことをうっすら思い出す。そしてそのときとやり方がなん・・・
試したことはまだないけど、Macで編集時と書き出し後で色味が変わって困ったときのために備忘録。 プロジェクト設定 > 「カラーマネジメント・・・
プロジェクト設定と環境設定について詳しく解説されている情報がなかなか見つからないので、要所要所で知り得た情報を更新していきます。 プロジェクト設定 ・・・
Clipyが超絶便利そうだったので、macOS Big Sur にインストール&再起動して使ってみた。ところが、command + c を複数の箇所で行い、c・・・
requestAnimationFrame をはじめて見たので調べていたら、setTimeout や setInterval は requestAnimati・・・
6年ぶりに読み返したが、今なおハッとさせられることが多く見つかる。 この本で忘れないようにしたい項目をピックアップするだけでも役に立ちそ・・・
この記事では、以前に読んだ際に付箋を付けていたが、その部分だけを備忘録としてピックアップするため、本の要約ではない。実際は、何倍も濃い内容で、練・・・
もう一回、全部読み返したいところだが、書籍がありすぎるので、当時付箋紙をつけていたところだけをピックアップ。書籍内ではより具体的な説明があるので・・・
アクセシビリティの観点から文字サイズは固定しない方がいい。 ただ、IE以外のモダンブラウザではフォントサイズを固定しても、実際にはブラウザで拡大表示が可能だ。更・・・
もはや他ブラウザでも問題ないようにクロスブラザ対応だけでなく、スマートフォンやタブレット端末などマルチデバイスに対応できるようになっておかなければ、という時代に・・・
前回、「入力フォームを自由にカスタマイズできる「Advanced Custom Fields」」で基本的なフィールド名を出力方法を紹介したが、今度は条件分岐に関・・・
「2点間 距離 取得 javascript」でググるとそのまま利用できる記事がたくさん見つかる。 いろいろ試したが、どれも数メートルの誤差はあるものの、似通った・・・
Ajax、Asynchoronous JavaScript + XMLの略。非同期通信を行ってJavascriptからXMLデータやテキストデータを取得し、その・・・
スマホやタブレットの普及で、現在地を取得するような位置サービスの需要が多くなるのは用意に想像がつく。 そこで、WebブラウザでJavaScriptを使って現在地・・・
inputタグ要素の属性、maxlengthが指定されたテキストの文字数について、ちょっと調べてみた。 調査ポイントは2つ。半角英数と全角でmaxlength値・・・
サイトマップ作成(ツリー構造やディレクトリ構成、ページ間のリンク構造を明記) 情報の収集(コンセプトに応じた収集の方針を立てる) 情報の分類(位置、50音順・・・
表示させるにはキーワードを変更するか単価を上げてください。」ってメッセージがよく出てしまう。 これを改善するにはどうしたらいいか? アナウンス通りに単価を吊り上・・・
「CGI」という言葉だけで、まだ拒否反応が起きる。 でもどうしても「mt-config.cgi」を修正したくなった。 ただ、config.cgiを修正する際の注・・・
「test」
「>ころころさん コメントありがとうございます! 確かに、APIドキュメント見ましたが、ライブに関する情報は今のところ取得できないようですね。 インスタライ・・・」
「SIGMAから超軽量で明るい単焦点レンズが2本発売になりましたので、リストにレンズ情報追加しました!」
「>名無しさん ご指摘、ありがとうございます! 記事冒頭の「まずはサンプル」のサンプルが動いていませんでしたので修正しました。」
「>前田さん コメントありがとうございます。 環境は分かりかねますが、修正したいファイルのパーミッションを604や644に変更すると書き込みできるようになります(・・・」
「アバターを取得する「get_avatar」についても追記しました!」
「「値をクリアする」を追加しました。チェックボックスやラジオボタンの値を何も選択していない状態に戻すときについて触れています。」
「>匿名さん コメントありがとうございます。 サンプルでは、beforeは何も処理していないので期待する表示にならない、で正解です。 クリックした後が、対応・・・」
「(匿名)さん コメントありがとうございます。何も設定変更していないのに、それまで使用できていたサーバーが突然使えなくなるのは辛いですよね、、。 ここで紹介したや・・・」
「コメントありがとうございます! そもそもできるかはわかりませんが、ソースを書き換える必要はあります。 下記記事などが参考になるかもしれません。 illustra・・・」
思考と学び参加セミナー・イベントSass(CSS Nite LP32) | シンプルシンプルデザイン