CSSで画像を表示幅に適応させる

1594 ワード

ウェブサイトを作る时よく出会うことができて、ニュースの展示など、ユーザーのアップロードするピクチャーは大きすぎて自分でまた調停に行かないで、展示する时ピクチャーが大きすぎて広げて、ページの表示を难しくさせます.ここではCSS属性を利用して,ピクチャを表示の幅を超えた後,ピクチャに表示最大の幅を設定する.
widthプロパティで表示サイズを強引に設定するのはスマートではないようです.幸いFirefox/Opera/IE 7はmax-widthプロパティのサポートを提供しています.
画像の表示幅が500ピクセルを超えないことを想定すると、CSSは以下のようになります.
以下は参照の内容です.
fit-image{ 

  border  :0; 

  max-width:500px; 

} 

 
私を痛恨させたIE 6はmax-width属性をサポートしていないが、IE独自のexpression属性を利用して迂回的にこの問題を解決することができる.
 
.fit_image

{

    border:0;

    max-width:700px;

    width:expression( 

   function(img){ 

    img.onload=function(){ 

     this.style.width=''; 

     this.style.width=(this.width>700)?"700px":this.width+"px" 

    }; 

    return '700px'

   }(this) 

  );

}

 
のonloadイベントを使用してピクチャのロードが完了すると、そのサイズが計算され、500ピクセルを超えると500ピクセルと表示され、そうでないとデフォルトの幅が表示されます. 
expressionはWEB基準に合致するやり方ではなく、推奨しない限り使用してはならない.しかし、IEの多くの拡張が良いことを認めないわけにはいきません.IEは軽視されるべきではありません.