« Jan February 2012 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

アーカイブ
カテゴリー
タグ
CSS3 HTML・CSS JS スマートフォン

  • 株式会社ゼノフィ
  • 〒169-0073
  • 東京都新宿区百人町1-17-6
  • 成田ビル 305
03-6805-2904
営業時間(平日)AM:9:30-PM:6:30
KingSSLWebシール

当サイトでは、セキュリティ保護のため、KingSSLサーバ証明書を使用し、強度な暗号化通信を実現しています。

Webデザイン

CSS Expression

こんにちは、ゼノフィ渡部です。

CSS Expressionでmax-width、max-heightをIE6で使用する方法をご紹介いたします。

CSS ExpressionはCSS内にJavaScriptを記述できるCSSの拡張機能です。

プロパティの値にダイナミック・プロパティを書き入れてスクリプトを記述することがきます。

2行目から3行目はIE6以外のブラウザ、7行目から8行目はIE6用のプロパティです。通常、max-widthなどのプロパティはIE6が対応していないので効果がありませんが、IEの独自拡張であるCSS Expressionでそれらを可能にします。

1
2
3
4
5
6
7
8
9
div.expression img {
  max-width: 340px;
  max-height: 240px;
}
 
div.expression img {
  _width: expression(this.width > 340 ? 340: true);
  _height: expression(this.height > 240 ? 240: true);
}

通常の大きさと高さを持った画像とCSSで最大の幅と高さを指定したソースを記述しています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<p>
    通常の画像
</p>
 
<div>
    <img src="sky.jpg" alt="空" />
</div>
 
<p>
    max-width、max-heightを指定した画像
</p>
 
<div class="expression">
    <img src="sky.jpg" alt="空" />
</div>

CSS ExpressionのJavaScriptは強力ですが、パフォーマンスが落ちる、セキュリティホールができやすいなどのデメリットがあるため、多用はできません。 使用を避けられる状況にある場合は、Expressionの記述は控えた方がよいと思います。

サンプル

CSS

1
2
3
4
5
6
7
8
9
10
11
12
13
div {
  margin: 0 0 20px;
}
 
div.expression img {
  max-width: 340px;
  max-height: 240px;
}
 
div.expression img {
  _width: expression(this.width > 340 ? 340: true);
  _height: expression(this.height > 240 ? 240: true);
}

HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<p>
    通常の画像
</p>
 
<div>
    <img src="sky.jpg" alt="空" />
</div>
 
<p>
    max-width、max-heightを指定した画像
</p>
 
<div class="expression">
    <img src="sky.jpg" alt="空" />
</div>

PAGE TOP

Copyright © 2006-2012 Xenophy.CO.,LTD All rights Reserved.