昨日書いたjQueryのメニューの
Horizontal Slide Out Menuという
横に飛び出るcssメニューですが、
デフォルトではIEで表示が崩れて
います。これをIEでも実装出来る
ようにします。
メールを頂いたので以下のjQuery+cssメニューをIEに対応させる方法を。
Horizontal Slide Out Menu
Horizontal Slide Out Menuはこの記事の一番下です。IEだとこのように表示が崩れています。
デフォルトでは以下のようにli aにfloatが指定されています。
.mh_wrapper ul li a{ text-decoration:none; cursor:pointer; display:block; float:left; margin:0px; text-indent:0px; padding:0px 10px 0px 3px; line-height:40px; height:40px; text-indent:10px; letter-spacing:1px; color:#ddd; background-color:#525252; text-shadow:1px 1px 1px #000; border:1px solid #333; border-left:none; }
これだけだとIEではうまく表示されないのでliに直接floatを指定。
cssに以下を追加します。
.mh_wrapper ul li{ float:left; }
IE6のキャプチャです。↓
jQueryプラグインを使いたいけど、IEで確認したら、動くは動くけど表示が崩れてた、というケースは非常に多く見かけますが、cssで対応できる場合も多々あります。
以前、CSS-TRICKSのStart/Stop Sliderというプラグインを使用する機会があったのですが、これも以下のようにIE6だけ表示が崩れていました。
この場合はデフォルトでは以下のようになっている部分
#mover{ width: 2880px; position: relative; }
IE6だけ崩れているのでcssハックを使います。
#mover{ width: 2880px; position: relative; _width: auto; _position: absolute; }
これで以下のように、IE6の表示が直ります。
IEで表示が崩れるのはある意味当たり前なので、jsは動作するようでしたら、諦めずに挑戦してみるといいかもしれません。僕のようにjsの知識が乏しくても何とかなるケースもありますし、やはり使いたいですしね。