Đối với trang web di động của tôi, tôi muốn thể hiện hình ảnh khác nhau nhưng được biết đến chiều cao/chiều rộng với hai khó khăn:CSS Image layouting trước khi hình ảnh được tải
- Hình ảnh nên mất toàn bộ chiều rộng của browserview
- Các chiều cao cần được nhân rộng (xuống hoặc lên) phù hợp để giữ proportions
ngay sau khi trình duyệt sẽ tải hình ảnh, nó là rất dễ dàng với CSS sau đây:
<img src="myImageURl" style="width: 100%; height: auto;" />
Nhưng vì tải của hình ảnh mất một thời gian, tôi muốn trình duyệt để bố trí các hình ảnh trước khi nó tải về nó. Vì vậy, trình duyệt không cần phải đăng lại trang, khi anh ta lấy hình ảnh. Tôi đã thử các cách tiếp cận sau, không thành công:
// The image is not layouted before fetched
<img src="myImageURl" height="myImageHeight" width="myImageWidth" style="width: 100%; height: auto;" />
// The image is layouted, but wrong: height is not proportional to the width anymore
<img src="myImageURl" style="width: 100%; height: myImageHeight;" />
Tôi rất muốn được trợ giúp tại đây. Nhưng xin vui lòng trong CSS, tôi không muốn sử dụng Javascript/jQuery nếu tôi không phải.
CẬP NHẬT
Tôi đoán Tôi không phải là người duy nhất với vấn đề này: https://graphicdesign.stackexchange.com/questions/3274/fluid-images-how-to-set-width-and-height
bạn không thể làm điều này trừ khi bạn sử dụng một số loại ngôn ngữ kịch bản - trình duyệt không biết kích thước của hình ảnh cho đến khi nó đã được tải về nó, do đó bạn sẽ cần phải làm một phép tính thủ công nếu bạn đã biết kích thước hình ảnh – Pete
Trên thực tế, trình duyệt KHÔNG biết kích thước hình ảnh.Ít nhất tôi biết kích thước hình ảnh trước khi hình ảnh được tải và tôi đã cố gắng "nói" trình duyệt với các thuộc tính chiều cao và chiều rộng của . Nhưng cách tiếp cận đó không hiệu quả. –
yeah nhưng bạn không nói với nó chiều cao thay đổi kích thước - bạn đang nói với nó chiều cao ban đầu mà nó sẽ mất không gian cho đến khi nó đã được tải và các cú đá css trong – Pete