Điều này có vẻ tầm thường nhưng sau tất cả các nghiên cứu và mã hóa, tôi không thể làm cho nó hoạt động. Điều kiện là:
- Kích thước cửa sổ trình duyệt không xác định. Vì vậy, vui lòng không đề xuất một giải pháp liên quan đến kích thước pixel tuyệt đối.
- Kích thước ban đầu của hình ảnh là không xác định và có thể đã hoặc chưa vừa với cửa sổ trình duyệt.
- Hình ảnh được căn giữa theo chiều dọc và chiều ngang.
- Tỷ lệ hình ảnh phải được bảo toàn.
- Hình ảnh phải được hiển thị toàn bộ trong cửa sổ (không cắt xén.)
- Tôi không muốn thanh cuộn xuất hiện (và chúng sẽ không xuất hiện nếu hình ảnh phù hợp.)
- Hình ảnh tự động thay đổi kích thước khi kích thước cửa sổ thay đổi, để chiếm tất cả không gian có sẵn mà không lớn hơn kích thước ban đầu của nó.
Về cơ bản những gì tôi muốn là:
.fit {
max-width: 99%;
max-height: 99%;
}
<img class="fit" src="pic.png">
Vấn đề với đoạn mã trên là nó không hoạt động: pic chiếm tất cả không gian dọc mà nó cần bằng cách thêm một thanh cuộn dọc.
Theo ý của tôi là PHP, Javascript, JQuery nhưng tôi muốn giết cho một giải pháp chỉ CSS. Tôi không quan tâm nếu nó không hoạt động trong IE.