用CSS使圖片自適應顯示寬度_Web標準教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      公司的項目中需要顯示由用戶提供URI鏈接的圖片,可是預先無法獲知圖片的尺寸大小,如果圖片尺寸過大將會影響頁面布局。最理想的解決方案自然是自動生成縮略圖,涉及的后臺工作較為復雜,用CSS進行控制是一個可以接受的捷徑。

      如果用width屬性強行設定顯示尺寸似乎太不智能。幸好Firefox/Opera/IE7都提供了max-width屬性支持。

      假定希望圖片顯示寬度不超過500像素,CSS可能如下:

      以下為引用的內容:
      fit-image{ 
        border  :0; 
        max-width:500px; 
      }

      讓我痛恨的IE6不支持max-width屬性,但是利用IE獨有的expression屬性可以迂回的解決這個問題。

      以下為引用的內容:
      fit-image{ 
        border  :0; 
        max-width:500px; 
        width:   expression( 
         function(img){ 
          img.onload=function(){ 
           this.style.width=’’; 
           this.style.width=(this.width>500)?"500px":this.width+"px" 
          }; 
          return’120px’ //加載時顯示寬度為120px 
         }(this) 
        ); 
      }

      利用<img>的onload事件使圖片加載完成后計算其尺寸大小,如果超過500像素就顯示為500像素,否則顯示其默認寬度。 

      expression不是符合WEB標準的做法,不到萬不得以不建議使用。但是不能不承認IE的很多擴展是不錯的,IE不應該被輕視!

      來源:模板無憂//所屬分類:Web標準教程/更新時間:2008-04-14
      相關Web標準教程