2012-01-09 28 views
10

Tôi không thực sự cần nó bây giờ, nhưng chỉ vì tò mò ...ảnh rộng với CSS

Giả sử chúng ta có một chất lỏng bố trí trang web hoạt động hoàn hảo tốt trên 1920px hiển thị và trên điện thoại thông minh nhỏ. Bây giờ chúng ta hãy nói rằng chúng tôi có hình ảnh ở đó và rõ ràng (rõ ràng?), Chúng tôi muốn quy mô chúng. Chúng tôi đã tải lên hình ảnh 2560px trên máy chủ (vì ai quan tâm đến băng thông hiện nay) và đặt thuộc tính width: 100% cho thẻ img. Vì vậy, chúng tôi có hai người dùng: một lập trình viên với màn hình 1920px, hãy gọi anh ấy là Jo và một nữ sinh với điện thoại thông minh, hãy gọi cô ấy là Nancy (vì mọi thứ tốt hơn với Nancy, phải không?).

Jo và Nancy rất vui vì kế hoạch của chúng tôi với việc chia tỷ lệ hình ảnh bằng cách sử dụng width: 100% hoạt động, nhưng điều gì sẽ xảy ra nếu chúng tôi quyết định hiển thị hình ảnh nhỏ, chiều rộng 400px? Nancy sẽ không nhận thấy bất cứ điều gì, nhưng đối với Jo nó sẽ là một thảm họa.

Vì vậy, câu hỏi đặt ra là: chúng ta có thể làm cho Jo và Nancy vui vẻ mà không cần sử dụng JavaScript không?

+3

Điều gì đủ điều kiện làm cho họ hài lòng? Ngoài ra, phục vụ hình ảnh 2560px cho điện thoại thông minh là một ý tưởng khủng khiếp. –

+0

Họ sẽ hạnh phúc nếu hình ảnh của chúng tôi sẽ mở rộng ở điện thoại thông minh của Nancy và Jo sẽ thấy hình ảnh 400px mà không cần mở rộng quy mô. –

+0

Bạn có nghĩa là bạn đã đặt thuộc tính chiều rộng của hình ảnh thành 100% như trong ' '? – MrMisterMan

Trả lời

22

Tại sao không thay thế cho số max-width: 100%?

Điều này sẽ để lại tất cả các hình ảnh nhỏ hơn chiều rộng của màn hình và những hình ảnh rộng hơn màn hình sẽ được thay đổi kích thước quá 100%. Vấn đề được giải quyết, mọi người đều hạnh phúc!

+0

Điều này chắc chắn là cách truyền thống để làm hình ảnh trong thiết kế web đáp ứng. –

+0

Bởi vì nó sẽ là quá dễ dàng, tất nhiên! Trên thực tế, bạn trả lời câu hỏi của tôi, tôi đã không bao giờ sử dụng 'max-width' với hình ảnh nhưng tôi đã thử bây giờ và nó hoạt động tốt. Cảm ơn. –

+6

Tôi sẽ thêm rằng bạn dường như cần phải thêm 'chiều cao: tự động' vào hình ảnh để ngăn tỷ lệ khung hình bị xiên (ít nhất là trên trình duyệt di động mà tôi đang sử dụng ...) –

2

Nếu bạn muốn gửi hình ảnh khác nhau cho các màn hình khác nhau dựa trên độ rộng của chúng, bạn nên đi sâu vào các truy vấn phương tiện có điều kiện mà chúng tôi tiếp tục nghe.
Đây là một trang web đẹp: http://webdesignerwall.com/tutorials/css3-media-queries

+0

Cảm ơn, tôi đã sử dụng chúng hầu như ở khắp mọi nơi. Tôi chỉ nghĩ nếu có một tình huống mà tôi sẽ không thể sử dụng những bức ảnh khác nhau. –

1

tôi đã sử dụng max-width: 100% như Filip đã đề cập đến, nhưng tôi cũng cần phải bao gồm:

height:auto

Nếu chiều cao sẽ không quy mô.

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