ホームページ >ウェブフロントエンド >jsチュートリアル >IE6がmax-widthとmax-heightをサポートしていない問題をJSを使用して解決する方法

IE6がmax-widthとmax-heightをサポートしていない問題をJSを使用して解決する方法

PHPz
PHPzオリジナル
2016-05-16 17:05:461338ブラウズ

この記事では主にie6がmax-widthとmax-heightをサポートしていない問題をJSを使って解決する方法を紹介します。困っている友達はここに来て参考にしていただければ幸いです。

今日、ie6 が max-width と max-height をサポートしていない問題を js を使用して解決するという問題が発生しました。jQuery を使用して実装し始めましたが、CSS で値を取得できませんでした。例:

  if($.browser.msie && $.browser.version == 6.0)
  {
    var maxWidth = parseInt($('.viewBigPic img').css('max-width'));
    $('.viewBigPic img').each(function(){
      if ($(this).width() > maxWidth)
        $(this).width(maxWidth);
    });
  }

理由はわかりませんが、CSS で最大値を取得できないため、それを実現するにはネイティブ JS を使用するしかありません

js コードは次のとおりです。

<script type=&#39;text/javascript&#39;>
function setPhotoSize(elem, width, height) {
<!--[if IE 6]>
try{
var image=new Image();
image.src=elem.src;
if(image.width>0 && image.height>0){
var rate = (width/image.width < height/image.height)? width/image.width : height/image.height;
if(rate <= 1){
elem.width = image.width*rate;
elem.height = image.height*rate;
}
else {
elem.width = image.width;
elem.height = image.height;
}
}
}catch(e){}
<!--[endif]--> 
}
</script>

部分の HTML コードは次のとおりです。

<p class="viewBigBox">
  <p class="viewBigPic">
     <p><img id="imgid" onload="setPhotoSize(this,730,470)" src="images/viewShow.jpg" alt=""/></p>
  </p>
</p>

css スタイルは次のとおりです: 上記の

.viewBigBox{ border:1px solid #e3e3e3; background-color:#ffffff; padding:1px;  margin-top:18px;}
.viewBigPic{ background-color:#f7f7f7;padding:20px 14px;}
.viewBigPic p{display:table-cell;width:730px; line-height:470px; overflow:hidden; vertical-align:middle; text-align:center; height:470px;*font-size:390px;}
//实现图片垂直居中,主要运用了font-size与height的比例
.viewBigPic p img{ vertical-align:middle; max-height:470px; max-width:730px;}

この章の内容は以上です。その他の関連チュートリアルについては、JavaScript ビデオ チュートリアル を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。