The Trap of Web Design

Opera で fieldset を使うと

legend つけて display:none してたんですが、そのスタイル指定が効かないみたい。普段 IE でやることのある font-size: 1px line-height: 0 なんてやってついでに text-indent: -9999px で消したけど、汚いなぁ。

ちなみに fieldset はブロックレベル要素ですから、その中身の input 要素等のスタイル制御に便利なので使うのです。ボーダーがでるから使うのではない。自分の場合はボーダーを消すことのほうが多い。その上 legend も表示上消すのだったら最初から使わなくていいじゃんという話もあります。が、複数のフォームが並ぶような場合のグループ化は構造の上では便利ですからスタイル云々ではなくて、スタイル指定切った場合の状態で必要に応じて利用するわけです。


Opera は自分は普段は殆ど使いません。なにが良いのかよく分からない。基本は標準準拠だから大丈夫とタカをくくっていると今回みたいにヘンな非対応箇所があって困ります。

まぁ Opera でなくてもフォーム関連はスタイルが思う様にいかないので、スタイルシート使いにも上級テクニックなんてことになるんでしょう。だいたい、もともとフォームはその先にスクリプトやプログラムが絡むので、そういう関係によるスタイル制御をキッチリやれればユーザビリティに直結するものです。色を変更したり、サイズを指定したり、ということによってユーザーが扱いやすい状況を生み出すものでなければならない。ただブラウザによってその反映状態が異なる面も多いので苦労しますね。

スタイル指定の難解さというより、だからこそフォーム絡みはなるったけシンプルに済ませて、スクリプトやプログラムの動作にへんな影響を与えないようにするほうが無難だと考えてますが、上記理由からそういう箇所だからこそスタイル指定をしたくなるわけで、困ったもんです。

2006-07-28 11:40 | CSS | ichiro | permalink


Comments

コメントはまだありません


Portfolio

Stagemind

▲ 珍しくカバーアニメーションとか