Kevin Yank「CSSフレームワークとセマンティックなClass名」
sitepointのエントリ
CSS Frameworks and Semantic Class Names
cssフレームワークのデメリットを解決しつつcssフレームワークを利用する、という主旨
但しプログラミングの知識が必須。
以下斜め読んだ内容
- cssフレームワーク。例。blueprint css、YUI Grid、960.gs
- cssフレームワークはセマンティックなマークアップと両立しない
- よくある態度。便利さと引き換えの必要悪として受け入れるという態度
- cssフレームワークとセマンティックなマークアップは両立できる
- 2つ紹介
- 解決1。スクリプトで案件ごとに自動置換(ex.compress.rb)
- compress.rbはBlueprint CSSが最近リリース。
- compress.rbはBlueprint CSSに同梱されてるrubyスクリプト
- YAMLファイル(settings.yml)にデフォルトのclass名を自分が付けたい(=セマンティックな)class名を付ける。これが設定情報になる
- compress.rbを実行するとsettings.ymlの内容に基づいて置換される。
- 少し敷居高
- 要rubyがインストール
- 要subversionがインストール
- 当然プログラミングの知識
- 参考。compress.rbの使い方ページ(Blueprint's compress.rb: A Walkthrough)
- 解決2。サーバーサイドで解決(サーバーサイドCSS framework)
settings.yml書き方例↓
demo: path: /Users/kyank/Documents/myproject semantic_classes: ".header, .footer": ".span-24, div.span-24" ".content": ".span-18, div.span-18" ".sidebar": ".span-6, div.span-6, .last, div.last"
Scaffoldの記述の例↓
@grid { column-width:30; column-count:24; right-gutter-width:20; baseline:20; unit:px; } .header, .footer { +columns(24); } .content { +columns(18); } .sidebar { +columns(6); +last; }