Warpっぽくいこう

#Counter
File #07 (XUL -- XML User-interface Language)

Contents :
List #01 :まずは Style Sheets
List #02 :CSSの続き
List #03 :段組み

段組み -- 2004-04-06, 09, 19

table要素をレイアウト目的に使っちゃダメ ! … そんな発言を耳にしたことはないだろーか。 「table」ってくらいなんだから, (名前の通り)ソレは表を作るためのものであって, 文章を縦や横に配置する目的のブツじゃないってことだね。

ほかに blockquote要素だとか, fieldset要素だとか, それらは名前と一致しない用途に使われやすいかもだけど, そんなことばっかしだと, セマンティック・ウェブを考え出したとたん破綻してしまうカモよ, みたいな。 (table要素を「表」とみなす とか, そこまではしないかもだけど, 意味を合わせておいた方が後々便利かも)
参考: 「正しい HTML 」 = 「正しい日本語」outsider reflexより

てことで, ページの右側 あるいは左側に, メニューやらいろんな情報を表示したりする段組についてだお。
比較的簡単な方法は, position プロパティーを使う方法かも。 ここで必要なことは, ブロック("block-level")要素であることと, だから, その幅(=width)と高さ(=height)が決まっていること, カナ。 つっても, 他のプロパティーを元に算出できたりするから, そんなときはソレで構わないんだけどね。

もう一つの方法は, floatを使うもの。 画像をページ内の(どこかの)端に配置して, その周りにテキストを流し込むような, そんなアレだね。 船とか茶わんを浮かべるとその体積分を水が避けるよーな感じ。 で, 実際には画像の替わりにテキストを使ったりするんだけど。 でも, コレが少しやっかいだったりする。

画像の周りにテキストを流し込むばーいは, 画像のサイズは決まってるから比較的単純で, あとは マージンを取ることで調整できるってくらいカナ。 「浮かべる」のがテキストだと, 幅(=width)とかマージンが問題になったりして。 つーのも, 文字列だと (そしてソレが折り返さないばーい)何ピクセル分だ, みたいに固定できる訳じゃないし, 文字数で計算するにも更新が大変だから。 width: auto てことで, 自動的に計算してくれるとありがたいんだけどね。

で, 幅とかマージンの計算 [w3.org] によると, "shrink-to-fit" みたいなんだけど, ソレは CSS 2.1での話。 2.0にはそんな記述無くって, 互換性をアレするばーい悩みのタネかも。

他にも Floats には, 流し込まれるコンテント(=content) の overflowプロパティーによって, マージンが変化したりだとか (そしてソレも CSS2と CSS21で違ったり)するにょ。 使いこなせば便利だけど, 思ったよーにレイアウトできない可能性が高いカモね。あはは。


CSSの続き -- 2004-03-22, 23

では, 簡単にスタイルシートを試してみよー。 たとえば, こんな記述で。

<style type="text/css"><!--
body { background-color: yellow; color: navy; }

--></style>

コレを head Element(=要素)の中に入れれば OK。
{ 〜 } の前の部分(今回のコレでは body)は Selector(=選択子) てゆー部分。

上記のばーい, body要素に対しての指定なんだけど, たとえば div要素の中(に含まれる分)の em要素に対しての指定とか, そーゆーのも いろんなパターン で指定できたりする。 んで, ここで使われている用語は HTMLでも一般的なアレだけど, その意味を合わせてないと何にもならないかも。(意味が通じないかもだし)

で, ちょっとしたアレだけど … CSS2の構文では 見やすさのためどこで改行しても構わないかも。 もちろん ひとつのトークンを二つに分割してしまうよーなのはダメだけど。 たとえば, (↓)こんなのもダメ。
(つーか, このばーいShorthand properties(=簡略記述プロパティー)がよいかもネ)

body {
  background-
       color: yellow;
  color: navy;
}

さて, 色やフォントをアレする以外に, もっと劇的にレイアウトを変更できたりする。 そんなときに(そうでなくても) 重要なのが, Box model (=ボックス・モデル) ってヤツかも (kanzaki.comでのボックスモデル)。
border (=ボーダー: 枠)に線を引くことができて, その内側を padding (=パディング: 詰め物), 外側を margin (=マージン: ふち, へり, 周辺)なんて表現したりするだよ。 んで, コレは XULでも同じ (だけど, もっと Boxしてる)かも。

んで, そのために 知っておかなければダメなのかも, ってのがあったりする。 すべての Element(=要素)は大きく分けて 2つ, ブロックレベル要素とインライン要素 に分類できるカモってこと。 コレさえ理解してればボックスモデルは完ぺきかも。 … たぶん。

そして もうひとつ, 視覚フォーマットモデル。 HTMLでの (body要素の中の) 2種類の要素, "block-level" (=ブロックレベル) 要素と, それから "inline"(あるいは "text level") (=インライン, 行内) 要素, その特徴を押さえておいて 位置決めとか指定すると, なんかもー 思う存分, 自由自在に修飾できるって感じカモ。

てことで劇的なサイトかも。


まずは Style Sheets -- 2004-03-09

Warpとは直接には関係ないんだけど, Webについて, かな。 ってゆーか Style Sheets (スタイルシート), Document Object Model (DOM), JavaScriptなどについてまとめてみよーかと思うのら。

まずは参考になるところから …

ごく簡単なHTMLの説明 [kanzaki.com] (「スタイルシート」の項目)
初心者向けに書かれているのかも。そんな感じなんだけど, キッチリ・カッチリしていて 間違いがないっつーか。 それに, その技術の根本的な考え方とか, そーゆーのも書いてあって, 初心者でなくとも一度は目を通してみるとよいかも。 HTML以外にも CSS, XHTMLも記されてたりするし。
using CSS1 with HTML [Ks Resource!]
「スタイルシートWebデザイン」とゆー本(ISBN4-7741-0622-4 C3055)の元データらしいだよ。 すべてを読み通すのは大変かもだけど, ある程度ソレを把握してる人なら大丈夫かも。そーでない人だったら ぐっすり眠れるかも。
段階スタイルシート水準2
W3CCascading Style Sheets (CSS)の, Cascading Style Sheets, level 2 (CSS2)の邦訳ページだお。 仕様のページって訳だね。 CSS2.1とか CSS3ってのも (まだだとは思うけど)そのうちアレするかもなので, ソレを踏まえておくのもよいかも。
CSSブラウザー対応表
Style Sheetsを覚えて使いこなそうにも, ブラウザーによってはサポートされていないこともあるかも。 てなことで, どんな項目がサポートされているか, とかそんな一覧表。(googleでアレした)
他に, 参考になるとこ
Mozilla あるいは Web標準普及プロジェクト から 娘娘飯店しるきぃうぇぶ から Personnel から HTML鳩丸倶楽部 から
他の情報
「HTML 4.01仕様書」スタイルシート
The Quick Color Table (日本語), The Quick Color Table (英語)

んで, 立ち読みした程度だけど, 本はやめた方がよいかも, とか思ったりして。 小手先の技術(?)に終始していて, 本質について書かれてるのが見当たらなかったりするから。ま, 中にはよい本もあるのかもだけど。

紹介されてる本, あるいは Webサイトは, 参考にしない方がよいってゆーもの。 何がどーダメなのか, 知っておいて損はないかも。

てゆーのも, 本にしろ Webサイトにしろ, 間違ってる情報を元にしてソレらを覚えてしまうと, 結局, 正しい結果を得るために 遠回りになっちゃうかもだから。 一度 勘違いしたまま覚えてしまうと, (変な)先入観が抜けないかもだし。あはは。

たとえば, 検索してみると「とほほ」のサイトも上位にあったりするけど, いろいろ問題アリみたいな感じだし, 参照するのなら他のサイトの情報と照らし合わせるのがよいかも。