IE6 で float させると親要素の border が消える CSS バグ
2008/02/04 Mon [Edit]
Windows の IE6 に CSS で float を指定した際、その float 指定した要素の親要素に指定された左右の border が消えるバグがあるようです。
私が上記のバグに気が付いたのは ul 要素内の li 要素を並列させる為に、li 要素に float:left; と指定しボタンを作成した時に気が付きました。
以下、その時のサンプルソースです。(※ボタンは3つを並列させているとお考えください。)
ul {
width : 99%;/* IE6 の為に指定 */
text-align : center;
list-style-position : inside;
border-left : solid 1px #ccc;
overflow : auto;
}
ul li {
float : left;
width : 33%;
height : 30px;
line-height : 30px;
list-style-type : none;
border-top : solid 1px #ccc;
border-bottom : solid 1px #ccc;
border-right : solid 1px #ccc;
}
上のソースの赤い部分のように、親要素に width を指定すると border が表示されます。
ちなみに IE7 では親要素に width を指定しなくても border は表示されていました。
●結論
IE6 の親は子供が浮かれると甘くなりがち。
Comments
Track Backs
TB URL




