2010-01-04 187 views
10

有沒有辦法通過使用css來定義寬度較小的圖像的寬高比?也許通過使用jQuery/JavaScript?在css中保持寬高比與圖像寬度

謝謝!

+1

請發表您的標記/ CSS – 2010-01-04 04:19:03

+0

好奇這個問題(和接受的答案)如何應用到HTML畫布。一切都在順風順水(他們的行爲像圖像,所以我可以設計一個維度),直到我注意到IE9不遵循這個規則並扭曲縱橫比 – 2011-08-11 21:26:54

回答

18

帶滑動CSS,可以設置僅一個的圖像的尺寸,無論是widthheight,並設置另一個作爲auto,例如:

.thumb { 
    width:200px; 
    height:auto; 
} 

圖像將具有固定的200像素寬,並且高度將取決於寬高比。

+0

很好。不知道這個:) – jrharshath 2010-01-04 05:06:38

+0

這將停止像素化的縮小圖像? – Jackson 2010-01-05 05:17:00

+3

這不起作用... – lnostdal 2012-05-15 08:53:27

2

這裏是jQuery的解決方案;)

function fixImage(elm) { 
      elm = $(elm); 
      var x = elm[0]; 

      var allowedHeight = 80; 
      var allowedWidth = 80; 
      if (width > height) { 
       elm.css('width', allowedWidth + 'px'); 
       elm.css('height', 'auto'); 
      } 
      else { 

       elm.css('height', allowedHeight + 'px'); 
       elm.css('width', 'auto'); 

      } 
} 
+1

歡迎來到SO!我編輯了你的問題,以反映這是一個jQuery解決方案。 x做什麼?什麼將允許*在每種情況下做(我猜它做了什麼,但作者的評論會更好)。爲什麼80?任何使用示例? (dummyimage.com將不再工作,但placekitten.com是一個很好的替代品) – FelipeAls 2012-09-08 03:04:35