CSS3を使うにあたって知っておきたいIE対策のまとめ


 

CSS3使 Internet ExplorerIECSS3使CSS3使

CSS3使IE
css3-ie678.png

1. CSS3の対応状況を確認する


IECSS3使
CSS3 & HTML5 Browser Support
CSS3Properties-check.png
CSS3

2. CSS3


Selectivizr.jsCSSCSS3CSS3
Selectivizr.js
selectivizr02.png
selectivizr.jsJavaScriptCSS3IE68
<script type="text/javascript" src="[JSライブラリ]"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
<![endif]-->

使jQuery使selectivizr.js


jQuery

Dojo

Prototype

YUI

MooTools

DOMAssistant

NWMatcher



jsGoogle Libraries API

Google Libraries APIjQuery使
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>


CSS

SelectivizrCSSheadCSS



Selectivizr1jQuery使

3. CSS3


CSS3使

使2
CSS3 PIE: CSS3 decorations for IE
CSS3 PIE
使


border-radius

box-shadow

border-image

multiple background images使

linear-gradient as background image


show CSSPIE.htc
.sample {
  border-radius:10px;
  box-shadow:0px 2px 3px #666;
  border-image: url("img/sample.png") 15 round;
  behavior: url(PIE.htc);
}

border-radiusbox-shadowborder-image5PIE.htcbox-shadowinset

-pie-
.sample {
  background: -webkit-gradient(linear, 0 0, 0 bottom, from(#EEFF99), to(#66EE33));
  background: -webkit-linear-gradient(#EEFF99, #66EE33);
  background: -moz-linear-gradient(#EEFF99, #66EE33);
  background: -ms-linear-gradient(#EEFF99, #66EE33);
  background: -o-linear-gradient(#EEFF99, #66EE33);
  background: linear-gradient(#EEFF99, #66EE33);
  -pie-background: linear-gradient(#EEFF99, #66EE33);
  behavior: url(PIE.htc);
}


.sample {
  background: url(../img/bg.png) no-repeat center top, url(../img/bg2.png) repeat left top;
  -pie-background: url(../img/bg.png) no-repeat center top, url(../img/bg2.png) repeat left top;
  behavior: url(PIE.htc);

使1使
cssSandpaper  a CSS3 JavaScript Library
csssandpaper2.png
4

使


-sand-transform

text-shadow

-sand-box-shadow

-sand-gradient

opacity

RGBA, HSL, HSLA 


transformbox-shadowgradient-sand-

text-shadow使textshadow.js


CSS32

4. IE


IECSS3IECSS3使
transform


CSS
.rotate {
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}

SafariChromeFirefoxIE21490
【サンプル】
このように要素が丸ごと回転します。

実際180度はあまり使いどころもないかもしれませんが、90度や270度はレイアウトのちょっとしたアクセントに使えそうです。

ボックスに影をつけるbox-shadow

指定するボックスに影をつけます。

CSS
.box-shadow {
  -moz-box-shadow: 2px 2px 3px #969696;
  -webkit-box-shadow: 2px 2px 3px #969696;
  filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696', Direction=145, Strength=3);
}

SafariChromeFirefoxIE

colordirectionstrength
【サンプル】このようにボックスに影がつきます。
要素の透明度を指定するopacity

指定したところの透明度を指定することができます。

CSS
.opacity {
  opacity:0.7;
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
}
【サンプル】


 01
IE 0100 

RGBAカラーモデルで色を指定する

RGBAカラーモデルは、RGBカラーモデルのred・green・blueに、alphaが加わったもので、alphaは色の透明度を表します。

CSS
.rgba{
  background: rgba(51, 102, 153, 0.4);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#88336699', endColorstr='#88336699');

IEでは#AARRGGBBの最初のAAは00(透明)~ ff(不透明)の範囲で透明度を指定し、RRGGBBは色を指定します。本来gradient()はグラデーションとして使うものです。

【サンプル】RGBAカラーモデルで背景を指定しています。

5.IEは諦めて違うスタイルを適用する


IE

IE1
#header a{
  color : #fff;
  font-size : 26px;
  font-weight : bold;
  text-decoration: none;
  color : #fff;
}
#header a:hover{
  text-shadow: 0px 0px 1px #ffffff,
      0px 0px 10px #FFD700,
      0px 0px 20px #FFD700,
      0px 0px 30px #FFD700,
      0px 0px 40px #FFD700;
  text-decoration: underline\9;
}

CSSIE8IEIE
ie-hack-css3.png

#sample {
 color: red; /* 初期設定 */
 color : green\9; /* IE8以下のみに適応 */
 *color : yellow; /* IE7以下に適応 */
 _color : orange; /* IE6のみに適応 */
}

CSS使


CSS3使IE

IEInternet Explorer 6 Countdown 20123IE66.1%

10IE6CSS3使


フィードやTwitterで最新情報をチェック
follow us in feedly
この記事に付いているタグの最新記事一覧
loading...
コメント









※コメントはご意見ご感想や間違いのご指摘等にしていただけますようお願いいたします。コメントを確認する時間がなく、技術的なご質問をいただいても答えできません。申し訳ございませんがご理解のほどお願いいたします。

Recent Entry

Popular Entry

  • このエントリーをはてなブックマークに追加