2010-01-04 37 views
10

Có cách nào để sửa tỷ lệ khung hình của hình ảnh có chiều rộng nhỏ hơn bằng css không? Có lẽ bằng cách sử dụng jQuery/javascript?Giữ tỷ lệ khung hình với chiều rộng hình ảnh trong css

Cảm ơn!

+1

xin vui lòng gửi đánh dấu của bạn/css –

+0

Tò mò như thế nào câu hỏi này (và câu trả lời được chấp nhận) áp dụng đối với HTML canvas. Tất cả mọi thứ đã đi bơi (họ hành động như hình ảnh vì vậy tôi chỉ có thể phong cách một chiều) cho đến khi tôi nhận thấy IE9 không tuân theo quy tắc này và bóp méo tỷ lệ khía cạnh –

Trả lời

18

Với CSS đơn giản, bạn có thể thiết lập chỉ có một kích thước của hình ảnh, hoặc width hoặc height và thiết lập khác như auto, ví dụ:

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

Các hình ảnh sẽ có một 200px chiều rộng cố định, và chiều cao sẽ phụ thuộc vào tỷ lệ khung hình.

+0

đẹp nhất. không biết điều này :) – jrharshath

+0

Điều này sẽ ngừng thu nhỏ hình ảnh từ pixelating? – Jackson

+3

Điều này không hoạt động ... – lnostdal

2

Dưới đây là giải pháp 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

Chào mừng bạn đến với SO! Tôi đã chỉnh sửa câu hỏi của bạn để phản ánh thực tế đây là một giải pháp jQuery. X làm gì? Điều gì sẽ cho phép * làm trong mỗi trường hợp (tôi đoán nó làm gì nhưng ý kiến ​​của tác giả sẽ tốt hơn). Tại sao 80? Bất kỳ ví dụ sử dụng? (dummyimage.com sẽ không hoạt động nữa nhưng placekitten.com là một sự thay thế tốt) – FelipeAls

Các vấn đề liên quan