IE6はRichFacesのSkinスタイルを思いっきり無視するので要注意。
特にcommandButtonとcheckBoxは「ただのinput」とみなされ、色もマージンも妙なコトになる。
theme.cssをみると
input, textarea {
border: 1px solid #BBBBBB;
font-size: 12px;
background: #F0F8FF;
color: black;
}
input[type="submit"], input[type="button"],.hinput {
background: #4477AA;
color: white;
margin: 5px;
padding: 2px; border-color: gray;
}
こうなっている。
つまり
1.input指定でinput要素全てに対してスタイルを設定。
2.input[type=""]で、特定の要素(ここではbotton、submit)のスタイルをオーバーライド。
という流れ。
つまり、IE6は2のinput[type=""]を無視するわけだ。
しかし、様々なCSSハックを行っても何故か状況は変わらず…(通常のHTMLではうまくいった)。
結局faceletsに
<style>
.input_class {
border: 1px solid #BBBBBB;
font-size: 10px;
background: #F0F8FF; color: black;
}
.check_class {
background-color: transparent;
border: none;
margin-left: 5px;
margin-right: 5px;
}
.button_class {
background: #4477AA;
color: white;
margin-left: 5px;
margin-right: 5px;
padding: 2px;
border-color: gray;
}
</style>
のようにべた書きして、各要素でstyleClassを使って強制指定することで、ようやく解決した。
う~ん…Vistaがずっこけたので、企業ではいまだにXPがほとんど。
アップデートを意図的に抑制している企業も多くて、IE6はまだ無視出来ない。
PHPやHTML開発でもそうだがIE6には、もうウンザリ。
いつまでWEB開発者は、こんな無駄な時間を浪費せざるおえないのだろうか…。