give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

妻のパン屋のWebサイトを四苦HackしてIE対応した話

はじめに

昨日公開した「第一回 プログラマ向けデザイン勉強会の内容を参考にして妻のパン屋のWebサイトをリニューアルしてみた」の続編を書きます。
今回は僕が苦労したIE6〜8対応のお話です。


実はIE8ユーザーの割合はIE9に次いで第2位!


MacChromeIE使


WebIE9IE812


f:id:JunichiIto:20130118050521p:plain

8IE6




IE対応を全く考慮していないとこうなる


IE


Chrome
f:id:JunichiIto:20130118052032p:plain

IE8
f:id:JunichiIto:20130118052127p:plain


f:id:JunichiIto:20130118052344p:plainf:id:JunichiIto:20130118052354p:plain






IE6〜8をHTML5に対応させるJavaScript


IE68HTML5
navsectionHTML5使


html5.jsJavaScript
<head>
<!--[if lt IE 9]>
  <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
</head>

) [if lt IE 9][endif]IE9



f:id:JunichiIto:20130118053612p:plainf:id:JunichiIto:20130118053623p:plain

Information
f:id:JunichiIto:20130118081525p:plain


半透明の背景色や角丸をIEで実現するPIE


CSS3
使RGBaIE68


div {
  /* rgbaはIE6〜8では使えない */
  background: rgba(255, 255, 255, 0.5);
}


PIE
div {
  background: rgba(255, 255, 255, 0.5);
  /* この使い方はイメージです。詳しくはネットの情報を確認してください。 */
  -pie-background: rgba(255, 255, 255, 0.5);
  behavior: url("/PIE.htc");
}



div {
  /* 角丸のCSSはIE6〜8では使えない */
  border-radius: 4px;
  /* PIEを導入するとIE6〜8でも角丸が実現できる */
  behavior: url("/PIE.htc");
}


IE68使
f:id:JunichiIto:20130118063639p:plain

PIE使box-shadowIE
()



IE6、7で縦並びになったメニューを修正する


OK
IE67
f:id:JunichiIto:20130118064624p:plain

IE67調



lidisplay: inline-block
IE67


li {
  display: inline-block;
  /* For IE6,7 */
  *display: inline;
  *zoom: 1;
}


f:id:JunichiIto:20130118065433p:plain





(補足)「*display」の「*」はIE向けCSSハック

IECSS
h1 {
  color: red;
  /* 値の末尾に\9を入れるとIE6〜8でのみ有効 */
  color: black\9;
  /* セレクタの先頭に*を入れるとIE6、7でのみ有効 */
  *color: blue;
  /* セレクタの先頭に*を入れるとIE6でのみ有効 */
  _color: yellow;
  /* 注: 上のハックはIE5以下でどうなるかは未確認です */
}


CSSIE



IE6でのロゴ画像をキレイに表示させる


IE68IE6
f:id:JunichiIto:20130118072413p:plain


()



position: relative;


img {
  margin-bottom: -8px;
  /* For IE6 */
  position: relative;
}

 

IE6PNG
調


pngFixjQuery
JavaScriptpng
<!--[if lte IE 6]>
<script src="/jquery.pngFix.js" type="text/javascript"></script>
<script>
  //<![CDATA[
    $(document).ready(function(){
        $(document).pngFix();
    });
  //]]>
</script>
<![endif]-->



f:id:JunichiIto:20130118073531p:plain ) IETester使


IE68



IEでの表示を確認するためのツール

さて話は前後しますが、そもそもIE6〜8での表示をどうやって確認すれば良いでしょうか?
僕の場合はこんなツールを使って確認しました。


VirtualBox + Windows 7 + IETester

MacWindows
VirtualBox使Windows
VirtualBoxWindows 7
IE9


IE68WindowsIETester便



ブラウザキャプチャサービス

IETesterIETesterpngFix使
f:id:JunichiIto:20130120042918p:plain

IETester

http://www.cman.jp/BrowserCapture/index.html


リモートのIEを操作できるアプリケーション/オンラインサービス


IE


Mac OS XWinIE6/7/8/9/10 -Sauce | 


BrowserStack | 100SHIKI






まとめ


IE68/





Web
()


IE



あわせて見たい・読みたい

Coupé Baguette クープ バゲット
というわけで、苦労してIE対応した店のWebサイトがこちらです。
IE6〜8でご覧下さいw


「第一回 プログラマ向けデザイン勉強会」の内容を参考にして妻のパン屋のWebサイトをリニューアルしてみた - give IT a try
IEうんぬんの話は抜きにして、デザイン面の話題に特化したのがこちらのエントリです。


妻のパン屋のWebサイトのソースコードと、サイトで活用したRails/Heroku関連の技術的なトピック - give IT a try
Rails/Herokuデベロッパ向けの技術情報をまとめました。


妻のパン屋のWebサイトで対応した問題や開発上のTips等々 - give IT a try
開発時に遭遇した問題や、開発上のTips等を書いてます。