2016-09-18 2 views
5

У меня есть следующий код на https://jsfiddle.net/ncrcfduz, а также фоновое изображение на https://s21.postimg.org/iq2mtjaiv/bg_boardwalk.jpg. Мне нужно сделать перемасштабирование фонового изображения, чтобы он поместился в div, предпочитая отображать большую часть «центрированного» содержимого на изображении. Следующий код показывает только верхний левый угол изображения.CSS background image - shrink to fit fixed size 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

Что вы имеете в виду под "центром" содержания? –

+1

Используйте фоновый размер: вместо этого используйте. – kinakuta

+0

Это релевант: http://stackoverflow.com/questions/21786272/css-background-size-cover-background-attachment-fixed-clipping-background-im с изображением «background-attachment: fixed» имеет размер относительно viewport, не содержащий элемент. –

ответ

13

Вы ищете background-size: contain (see the css-tricks' entry), не cover. Чтобы ваш пример работал, вам придется отказаться от background-attachment: fixed. Используйте background-position: center, чтобы центрировать фон в div.

.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

Вы просто должны заменить "фиксированным" на "центр" на свою "фоновую" инструкции.

Как что:

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

JSFiddle здесь: https://jsfiddle.net/ncrcfduz/2/

0

вы должны использовать:

.container{ 
    background-size: 100%; 
}