2012-08-27 6 views
8

Tôi có bốn kích thước bằng nhau của div thiết lập như thế này:Background-size: bao gồm không nhân rộng hình ảnh trong div

<div id="top-left"></div> 
<div id="top-right"></div> 
<div id="bottom-left"></div> 
<div id="bottom-right"></div> 

Mỗi là 50% chiều rộng của trang và vị trí hoàn toàn. Như thế này, ví dụ:

#top-right { 
position: absolute; 
top: 0px; 
left: 50%; 
width: 50%; 
height: 50%; 
} 

Vấn đề là khi tôi cố gắng chia tỷ lệ hình ảnh lớn (lớn) qua bìa CSS3. Đây là hình ảnh nền css tôi có cho đến nay:

background: #000 url('DSC01992.jpg') center center fixed no-repeat; 
background-size: cover; 
-moz-background-size: cover; 
-o-(etc.) 

Dưới đây là một ví dụ sống: http://jsfiddle.net/TqQv7/

Nếu bạn mở hình ảnh giữ chỗ ở đây: http://placekitten.com/2000/1000 bạn sẽ thấy rằng hình ảnh không được thu nhỏ lại một cách chính xác.

Tôi có thiếu gì đó không?

+0

Tôi nhận được một 502 vào liên kết thứ hai của bạn, người đàn ông – MalSu

+0

Cả hai đều đang làm việc cho tôi ... – Connor

+0

Nó đang được nhân rộng, nhưng bìa làm cho hình ảnh BG càng lớn càng tốt. Hành vi dự định của bạn là gì? – Kyle

Trả lời

16

Xóa background-positionbackground-attachment các phần trong tuyên bố ngắn background ngắn tay của bạn sẽ cung cấp cho bạn kết quả mong muốn.

Thay đổi:

background: #000 url('http://placekitten.com/2000/1000') center center fixed no-repeat; 

Để:

background: #000 url('http://placekitten.com/2000/1000') no-repeat; 

Đây là một bản demo: http://jsfiddle.net/TqQv7/1/

Sử dụng background-positionbackground-attachment cùng với background-size : cover được chống trực quan, bạn đang nói trình duyệt thực hiện hai việc khác nhau ở đó và có vẻ như các trình duyệt hiện đại vẫn mặc định theo phương pháp cũ hơn là các phương pháp mới.

Để biết thêm thông tin về hãy cẩn thận về background-size trả phòng các tài liệu MDN: https://developer.mozilla.org/en-US/docs/CSS/background-size

+0

Hoàn hảo. Cảm ơn ... Tôi sẽ chấp nhận ngay khi SO cho phép tôi. – Connor

+2

Tôi nghĩ rằng bạn có thể giữ 'center center', nó chỉ là' fixed' mà nó làm cho nó mở rộng kích thước cửa sổ, thay vì kích thước div container – andrewtweber

+2

xác minh, chỉ cần xóa 'cố định' "cố định" vấn đề: D –