當然,生成縮略圖這個(gè)工作如果交給程序來(lái)完成,效果會(huì )好很多,但是有時(shí)出于某種因素,例如服務(wù)器不支持GD之類(lèi)的,難免就要請CSS代勞。
把一副大圖片按比例縮小到某個(gè)尺寸,對于現代瀏覽器,直接使用max-width和max-height兩條CSS屬性即可。
對于IE 6.0及以下版本,以上兩條CSS屬性均不會(huì )被理會(huì )。之前處理這種事情,我們往往會(huì )借助Javascript,然后為圖片加上onload事件。例如:
- <imgsrc="..."alt="..."onload="resizeImage(this)"/>
- <script type="text/javascript">
- functionresizeImage(obj){
- obj.width=obj.width>50&&obj.width>obj.height?50:auto;
- obj.height=obj.height>50?50:auto;
- }
- </script>
這固然能解決問(wèn)題,但是對以后頁(yè)面的升級會(huì )帶來(lái)麻煩——隨著(zhù)瀏覽器對CSS支持的完善,我們遲早會(huì )把圖片上的onload事件統統去除。該是Expression的Show Time了,既然IE支持通過(guò)Expression在CSS中放置一些腳本,而這段腳本又只是提供給IE 6.0及以下版本使用,那么把它寫(xiě)到Expression中再合適不過(guò)。
最終,把一副大圖片按比例縮小到50px*50px以?xún)?,可以參照以下這段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);
- }
至于圖片是如何保持其高寬比例的,這張圖片可以解釋?zhuān)?br>

標簽(Tag): WEB標準 CSS同比例縮小圖片
聯(lián)系客服