以下の問題はIE7、Firefox、Opera 9、Safari 3(Beta)に対応したフォームにCSS 2007でなんとか解決しました。
ADP: 検索フォームにCSSのふたつめのやりかた(がんばる妥協案)は、IE7だとうまくいかないという話を以前したと思う。このふたつめのやりかたとは、入力ボックスをborder-boxにあわせる方法だった。
content-boxとborder-box (280 by 176 pixels, 2.5KB)
OperaやSafariはもともと入力ボックスをborder-boxで解釈する。IE6は後方互換モード(標準準拠で解釈しないモード)で解釈させるとborder-boxになるので、XML宣言つきのXHTMLにする。Firefoxでは泣く泣く-moz-box-sizing: border-boxを使う。
これでオッケー、という説明だったのだが、IE7はXML宣言つきのXHTMLを普通に標準準拠で解釈し、そのときはcontent-boxになるので、同じ見た目にならなくなってしまったのだ。ざんねん。
で、なぜこの話をまた書くのかというと、こないだ入れたOpera 9で入力ボックスがなんとcontent-boxのほうになっていたからだ。ここで寝返ったかOpera!
Operaが寝返ったのでどうこう、とは言いにくいのだが、XML宣言つきのXHTMLを使う以上、IE6はborder-boxなわけだし、Safariはあいかわらずborder-boxなわけだし、ふたつめのやりかたは、ますます使いにくくなったことになる。
けっきょく、-moz-boxなんちゃら、みたいな標準でないやり方をして切り抜けようとすると、うまくいかなくなる危険性が高いわけですよ。と、いつもどおりの結論にしておく。
トラックバックURL: http://adp.daa.jp/cgi/mt2/mt-tb.cgi/565