■構造
「壊χ」は、左右分割の2カラム構成になっている。
レイアウトの制御は全てCSSで行っている。htmlソースは4.01 Trandisionalに準拠(JAVAは組み込んでおらず、loose.dtdは指定していない。理由は後述)。
左のカラムは固定し、width、height値は共にpxで指定。
右カラムは擬似フレームとし、リキッドレイアウトとする(そのため、カラムにwidth属性は組み込んでいない。Operaではウインドウが文章量に応じて変動するが、IEやFirefoxやSafariでは問題なし)。
frameによる分割にしなかったのは、言うまでもなくSEOを意識してのこと。
■左カラム
position:fix(IEはCSSハックでabsoluteに指定)で固定。
bodyで指定したoverflow:hiddenが継承されているため、スクロールバーが出ないようになっている。
■右カラム
カラム本体は、position:fix(IEはCSSハックでabsoluteに指定)で固定。
メイン表示部分にのみoverflow:autoを指定してやることで、擬似インラインフレームが実現する(JAVAなしでloose.dtdを指定すると、この効果が現れない)。
左カラムをfloat:leftで左寄せにしても同じ効果は現れるが、ブラウザの大きさを変化するとカラム落ちが生じるので不採用。
画面左上を基準座標とし、そこから右に280px移動させて表示している。
margin-left:280pxでも同じ表示になるが、左カラムのナビゲーションバーが反応しない(反応するが、バー全体にhoverの効果が現れない)不具合が生じる。
これは、右カラムのボックスが左カラムに重なっていると解釈されることによる現象と思われる。
この干渉を防ぐため、left:280pxで右カラムを移動させている、というわけである。
また、IEではheight:100%でメイン表示部分を問題なく表示できるが、firefoxやoperaではウインドウが画面下にはみ出し、スクロールが効かない現象がおこる。そのため、:rootハックを利用し、height:90%に指定することでこの現象を回避させている。
■文字サイズ
bodyでfont-size:62.5%を指定。
実際の文字サイズは、emで指定。
これにより、1em=10pxとなり、サイズの指定がしやすくなる。
右カラムは、margin、padding共にem値で指定。
ゆくゆくは、文字サイズに応じて画像の大きさも変動するようにする予定(これは、imgのwidth数値をemで指定してやることで実現する)。
■色
基本色は、黒(背景)、白(文字)、オレンジ(ボーダー)。
��そのため、将来カテゴリーを拡張したくても、6種類までしか設定できない、ということになる。classを使えば問題は解決するのだが)
水平線は、濃紅色と灰色の二種類。状況に応じて使い分けている。
■リンクアクション
・左カラムのナビゲーションバーは、擬似クラスhoverでのみ背景色ならびに右ボーダー色が変わるように設定。
aタグにdisplay:blockとwidth数値を指定してやることで、バーのどこにカーソルを乗せてもロールオーバー効果が出るようになっている。
バーの上下余白は、line-heightで調整。
・メイン表示部はアンダーラインあり、文字色は表示色に同じである。擬似クラスhoverにのみ、文字色を赤くするプロパティを盛り込んである。
・強調したいリンクは、オレンジないしは黄色にしている。hoverについては上項と同じ。
■パンくず
各ページにおいて、パンくずリストをメイン表示部上部に表示。
ただし、リンクは設定していないので、ユーザビリティの面で不満である。
■その他
メールアドレスは、スパム対策のため画像で表示。
サイトバナーは88×31サイズ。
ファビコンを使用。
基本的に、divによるmargin調整は、ネストで判定処理している(サイト更新の利便性を慮って)。