web標準化製作:利用CSS按比例縮小圖片

來源:互聯網
上載者:User
css|web|web標準

當然,產生縮圖這個工作如果交給程式來完成,效果會好很多,但是有時出於某種因素,例如伺服器不支援GD之類的,難免就要請CSS代勞。

把一副大圖片按比例縮小到某個尺寸,對於現代瀏覽器,直接使用max-width和max-height兩條CSS屬性即可。

對於IE 6.0及以下版本,以上兩條CSS屬性均不會被理會。之前處理這種事情,我們往往會藉助Javascript,然後為圖片加上onload事件。例如:

<img src="..." alt="..."  />
<script type="text/javascript">
function resizeImage(obj) {
    obj.width = obj.width > 50 && obj.width > obj.height ? 50 : auto;
    obj.height = obj.height > 50 ? 50 : auto;
}
</script> 

這固然能解決問題,但是對以後頁面的升級會帶來麻煩——隨著瀏覽器對CSS支援的完善,我們遲早會把圖片上的onload事件統統去除。該是Expression的Show Time了,既然IE支援通過Expression在CSS中放置一些指令碼,而這段指令碼又只是提供給IE 6.0及以下版本使用,那麼把它寫到Expression中再合適不過。

最終,把一副大圖片按比例縮小到50px*50px以內,可以參照以下這段CSS:

.thumbImage {
    max-width: 50px;
    max-height: 50px;
}
* html .thumbImage {
    width: expression(this.width > 50 && this.width > this.height ? 50 : auto);
    height: expresion(this.height > 50 ? 50 : auto);

至於圖片是如何保持其高寬比例的,這張圖片可以解釋:



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.