サポートの切れたWindowsOSの標準ブラウザを無視し、モダンブラウザを対象にCSS3を記述するのであれば、下記の対応はいらないと思います。(2016年9月現在)
古いIEに対応する必要がある方は参考にしてみてください。
– – – – – – – – – – – –
古いIE(Internet Explorer 6~9)でもCSS3のプロパティを反映させようと思った場合、『CSS3 PIE』というものを使います。
今のところ対応しているプロパティは少ない(角丸、グラデーション、ボックスの影など)ですが、使えないよりマシと思えば利用してみるのもいいと思います。
ダウンロードしてきたzipファイルを解凍し、『PIE.htc』をサーバーにアップロードします。
例えば、http://hogehoge.com/であれば、http://hogehoge.com/PIE.htc という位置にアップすればいいと思います。
例えば、角丸にしようとした場合、次のように記述します。
.kadomaru { -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; behavior: url("/PIE.htc"); }
上記のように最後の行にPIE.htcへのパスを指定します。この時、PIEファイルへのパスは絶対パスで指定するのが無難です。
例えば、http://hogehoge.com/PIE.htcにファイルがあるとすれば、url(“/PIE.htc”)と指定します。
※相対パスで指定できないこともないのですが、適用させたいファイル(htmlなど)からの相対パスで指定しなければならず、階層が変わるファイルから共通のCSSファイルを参照する場合は問題が起こるため、通常は絶対パスで記述します。
1.PIE.htcファイルのパスを確認する
http://~はじまるURLで指定していたり、相対パスになっていませんか?
2.position:relativeを一緒に指定してみる
この記述を加えることでうまくいく場合があるようです。
3..htaccessに記述を加える
WEBサーバーによっては下記の記述を加える必要があるようです。
AddType text/x-component .htc
私が実際に動かなかった時に確認したところ、一部の環境で上記「2」と「3」が当てはまりました。
今年(2014年)の4月にWindows XPのサポートが終了するため、IE8以下のブラウザは切り捨てたいところです。個人的にもすでにIEを使っていない(表示確認くらい)ので。しかし、まだまだ利用している人もいるため、サイト内容によっては泣く泣く対応しなければならない状況です。
Windowsのアップグレード料金を安くしてくれるとスムーズに移行が進みそうなんですけどね(愚痴)