Sassy CSS 環境設定できた!

Apr 28, 2011 at 18:13 in フレーバー » CSS | トラックバック (0) | コメント (0)

オープンソースソフトウェアとかウェブ技術とか 「 Ubuntu 10.10 で Sass/Compass を使う(環境設定編)」

 Sassy CSS(SCSS) を使ってみたく ruby も知らない haml も知らない輩が、 先般、チャレンジした わけですが 見事に玉砕。
 何が悪いんだろうと、sass の チュートリアル(むろん 日本語訳 )を 熟読してみると SCSS のサポートは Sass 3.0 から サポートされた機能だと言うことに気がつきました。
sass -v
などしてみると表示されているのは 2.x 。
これか!と一瞬、どや顔になってアップデートを試みるも、 何度アップデートかけても最新版がインストールされているような表示がされます。
 で、しつこく調べた結果、当たったのが 上記の ドキュメント
 OS (Ubuntu) のせい やったんかい! orz

 Ubuntu 10.04LTS で rubyhaml を ( apt-get で) インストールしたどこかの時点で /usr/bin 以下に haml/sass のバイナリがあり、 gem でインストールされる haml /sass は /var/lib/gems/1.8/bin 以下にあったというオチ orz
 実際、最新 sass で てきとーにつくった SCSS ファイルをコンパイルしてみると…できるじゃな~い (^^)b

 ということで、ちょうど最近、Ellinikonblue.com 側の トップページを書き直そうとしていて、 その CSS を SCSS から書いているのですが、これがすごい。
 何がすごいって見渡せば、すぐに何が書いてあるかわかる。 伝わらないかも知れないですが、個人的には文明開化級のインパクトです… が、その話は成果諸共また後日。今回はトラブル解決まで。

Sassy CSS(SCSS)

Mar 21, 2011 at 23:19 in フレーバー » CSS | トラックバック (0) | コメント (0)

hail2u.net 「 Sass、そしてSassy CSS (SCSS) 」

 最近時間ができても、何か生産するという意欲が湧いてこず不抜けているので、 忘れないうちにメモっておく。

 CSS(Cascading Style Sheet) の文法を拡張するメタ言語 Sass … 砕いて言うと Sass で書いてコンパイルすると CSS になってくれるのだが、これの何が凄いというと、 CSS は単にスタイル定義の箇条書きにしかならないところが、 Sass で記述すると、 プログラム言語チックな意味をもたせた記述ができると言うこと。

 ちょっと個人的には文明開化級の代物に出会った気でいるのだが、 Linux で Ruby をインストールして haml gem をインストールしても動かねぇやん orz

 Ruby は全然知らねぇので、 あとでじっくり再チャレンジする。

Styleneat で美しい CSS を書く

Aug 01, 2010 at 18:12 in フレーバー » CSS | トラックバック (0) | コメント (0)

百式 「 スタイルシートをすっきりと見やすくしてくれる『 styleneat 』」

 なかなかすっきり美しく書けない CSS 。
 そんな CSS をきれいに書き換えてくれるのが この Styleneat
 ちょっと前に 百式 さんちで知りまして、 Faves に埋もれてました orz

 フレーバー いじりをしていたときに思い出して探し回った次第 (_ _;>  今度は忘れずにメモっておく。。。

フレーバ改装工事日報 #2: li 要素の再定義

Aug 10, 2008 at 23:40 in フレーバー » CSS | トラックバック (0) | コメント (0)

 すでにこれだけ日が開くと、日報もないような気もしますが…

 YUI Reset CSS を使用したのち、各要素を再定義していく中で、 手こずったのは li 要素の再定義で、
li { list-style: inherit; }
ul { list-style: disc none outside; }
ol { list-style: decimal none outside; }
とすると、少なくとも Firefox では ul, ol ブロックで指示した文字・記号が行頭にでるようになりますが、 Internet Explorer では うまく行きません。
 IE では、
li { list-style: inherit; }
ul li { list-style: disc none outside; }
ol li { list-style: decimal none outside; }
と明示的に ul, ol ブロック中の li 要素に対して 明示的に再定義する必要があります。 しかし、逆にこのようにだけ指定すると、 今度は Firefox で うまくいかなくなります。

 さらにもう一つ問題があって、 ul ブロック中の中の ol ブロック、またその逆、 加えて ul, ol ブロック中の二階層目の ul, ol ブロック中での li 要素の行頭文字を一階層目と違うものにしたい場合の 定義も別途必要になります。

 と言うことで、真の正解はこれ。
li { list-style: inherit; }
ul, ul li { list-style: disc none outside; }
ol, ol li { list-style: decimal none outside; }
ul ul, ul ul li { list-style: circle none outside; }
ol ol, ol ol li { list-style: lower-alpha none outside; }
ul ol, ul ol li { list-style: decimal none outside; }
ol ul, ol ul li { list-style: disc none outside; }
 三階層目はやめましょう (^^;>

 自分でもあまり美しい方法ではないように思うんですが、 これ以外の解を見つけられませんでした。
 より美しい解をご存じの方、是非教えてください m(_ _)m

フレーバ改装工事日報 #1: YUI Reset CSS 適用後のスタイル再設定

Jul 15, 2008 at 00:22 in フレーバー » CSS | トラックバック (0) | コメント (0)

 先般から始めております フレーバー の全面改装工事ですが、表向きには何とか改装前と変わらないレベルにはなりました。
 ここまでで、エラスティックレイアウトの採用、 The Yahoo! User Interface Library (以下、 YUI )から Reset CSS/Font CSS の導入までは終わっています。

 エラスティックレイアウトとは、ちょっと調べてもらったらわかりますが、 Yahoo! JAPAN のトップページでも採用される ユーザがブラウザで文字の大きさを変更しても崩れない 「伸び縮みするレイアウト」のことです。
 実際このページの文字サイズを大きくしてもらうとわかりますが、 どんなに大きくしても基本的なレイアウトは崩れません(のはずです f^^; )。
 昨今、ブラウザ側に画像を含めてまるごと拡大縮小する機能が実装されるに至って、 今後どれほど意味があるかはわかりませんが、 興味を持ったので取り入れてみました。
 原理は簡単です。基本、幅などの指定を em 単位で行っただけのことです(今のところは…)。 今後グラフィカルな要素を入れ込むとまた一思案しなければならなくなりますが、 それはまたいずれ…と言うことで。

 次に YUI Reset CSS/Font CSS ですが、 一時、話題になったのでご存じの方は多いと思います。 様々なブラウザがデフォルトで持っている設定を、最小の手数でリセットする (要はどんなタグを指定しても装飾されず、またどのブラウザでも同じに見える状態にする) CSS です。
 しかし、知っているのと使ってみるのとでは大違い。
 初期設定を無効にすると言うことは、すべて自分で定義し直すと言うことです。 これが言うが易く行うは難し。
 Google さんに聞いてみても、 「こんな CSS があるよ」はそれこそ星の数ほど引っかかるのですが、 ではこの CSS を使って再定義はこうすると言う情報はほとんど皆無 (私の能力では探しきれなかった可能性も大 orz )。

 まずやっかいだったのは li 要素のスタイル再定義。
 YUI Reset CSS をかますと、 行頭文字が何も表示されなくなるので、これを再定義しなければなりません。 ということで、単純に
li { list-style: disc none outside; }
とかしてしまうと、ul ブロックであろうが ol ブロックであろうが、 disc になってしまい、かといって
ul { list-style: disc none outside; }
とかしてもそもそも Reset CSS で li 要素で none と指定されているので、 効力を発揮しません。
 正解はこれ…
li { list-style: inherit; }
ul { list-style: disc none outside; }
ol { list-style: decimal none outside; }
だと思うでしょう? f^O^;

 確かに Firefox であれば これで(万事ではないんですが)おっけーなんですが、 IE では これではだめなんです。
 真の正解は…(つづく m(_ _)m )