小熊泡泡

          常用鏈接

          統計

          最新評論

          如何用CSS使圖片自適應顯示寬度 (轉載)

          ?

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

          如果用 width 屬性強行設定顯示尺寸似乎太不智能。幸好 Firefox/Opera/IE 7 都提供了 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不應該被輕視! PermaLink

          posted on 2006-07-08 21:39 小熊泡泡 閱讀(395) 評論(1)  編輯  收藏 所屬分類: html-css

          評論

          # re: 如何用CSS使圖片自適應顯示寬度 (轉載) 2013-05-07 13:47 薩提亞

          很好啊  回復  更多評論   

          主站蜘蛛池模板: 南川市| 施秉县| 营口市| 黄陵县| 绍兴市| 宜良县| 通山县| 麦盖提县| 伊宁市| 揭东县| 绥宁县| 周至县| 开鲁县| 措美县| 峨边| 正蓝旗| 香格里拉县| 习水县| 海伦市| 固阳县| 潼关县| 巴南区| 常熟市| 林甸县| 芜湖县| 阿鲁科尔沁旗| 阿瓦提县| 尉犁县| 隆德县| 大同县| 都安| 荥阳市| 大悟县| 宁河县| 枣阳市| 罗田县| 班戈县| 昌图县| 崇明县| 揭西县| 葵青区|