2016-09-18 32 views
5

Tôi có mã sau tại https://jsfiddle.net/ncrcfduz và hình nền tại https://s21.postimg.org/iq2mtjaiv/bg_boardwalk.jpg. Tôi cần phải làm cho hình ảnh nền rescale để phù hợp trong div, ưa thích để hiển thị hầu hết các "trung tâm" nội dung trong hình ảnh. Đoạn mã sau chỉ hiển thị góc trên cùng bên trái của hình ảnh.Hình nền CSS - thu nhỏ để vừa với kích thước cố định div

.container { 
 
    background: url(https://s21.postimg.org/iq2mtjaiv/bg_boardwalk.jpg) no-repeat fixed; 
 
    -webkit-background-size: cover; 
 
    -moz-background-size: cover; 
 
    -o-background-size: cover; 
 
    background-size: cover; 
 
    height: 150px; 
 
    width: 300px; 
 
}
<div class="container"> 
 
</div>

+0

Ý anh là gì bởi "trung tâm" nội dung? –

+1

Sử dụng kích thước nền: chứa thay thế. – kinakuta

+0

Đây là phần bổ trợ: http://stackoverflow.com/questions/21786272/css-background-size-cover-background-attachment-fixed-clipping-background-im với hình ảnh 'tệp đính kèm nền: hình ảnh cố định' có kích thước tương đối so với khung nhìn, không chứa phần tử. –

Trả lời

13

Bạn đang tìm kiếm background-size: contain (see the css-tricks' entry), không cover. Để có được ví dụ của bạn để làm việc, bạn sẽ phải thả background-attachment: fixed. Sử dụng background-position: center để căn giữa nền trong div của bạn.

.container{ 
 
    background: url(https://s21.postimg.org/iq2mtjaiv/bg_boardwalk.jpg) no-repeat center; 
 
    -webkit-background-size: contain; 
 
    -moz-background-size: contain; 
 
    -o-background-size: contain; 
 
    background-size: contain; 
 
    
 
    height: 150px; 
 
    width: 300px; 
 
}
<div class="container"> 
 
</div>

1

Bạn chỉ cần thay thế "cố định" bởi "trung tâm" về hướng dẫn "nền" của bạn.

Giống như rằng:

background: url(https://s21.postimg.org/iq2mtjaiv/bg_boardwalk.jpg) no-repeat center; 

JSFiddle đây: https://jsfiddle.net/ncrcfduz/2/

0

bạn nên sử dụng:

.container{ 
    background-size: 100%; 
} 
Các vấn đề liên quan