いいえ。抜けてしまっているわけではありませんし、 要素テンプレートを修正する必要もありません。
HTML_QuickForm_Renderer_Tableless を使用するには、HTML_QuickForm >= 3.2.6 がインストールされていなければなりません。 それ以前のバージョンでは要素テンプレートが正常に動作せず、 ふたつのエラーブロックがあらわれてしまいます。
PEAR インストーラを使用すると、将来このような問題が発生することを防げます。 インストーラが、パッケージ間の依存性をきちんと考慮してくれるからです。
確かに不思議に感じるかもしれません。というのも、hidden 要素はもともと明らかに非表示のはずだからです。 このようにしている理由は、妥当な XHTML を作成するためです。
XHTML では、input 要素はブロック要素の内部でしか記述できません。 form はブロック要素ではありませんが div はブロック要素です。 そこで、このような記述をすることで、妥当な XHTML にしているのです。
リリース 0.4.3 で、この問題が修正されています。 スタイルシートの "form fieldset li" ブロックから、 スタイル "height: 1px;" を削除しました。
警告: この変更により、Firefox 1.x との互換性が失われます (Firefox 2.0 は期待通りに動作します)。 この次の質問に、Firefox 1.x との互換性問題の解決方法があります。
スタイルシートの "form fieldset li" ブロックに、スタイル "float: left;" を追加する必要があります。さらに、 以下のふたつのブロックをスタイルシートに追加する必要があります。
* html form fieldset li {
float: none;
}
*+html form fieldset li {
float: none;
} |
Windows Internet Explorer 7 との互換性を気にしないでいい場合は、 このような CSS のハックは不要です。単に、スタイルシートの "form fieldset li" ブロックに (再び) "height: 1px;" を追加すればいいのです。