Сучасний CSS3 (рекомендується в майбутньому і, мабуть, найкраще рішення)
.selector{
background-size: cover;
/* stretches background WITHOUT deformation so it would fill the background space,
it may crop the image if the image's dimensions are in different ratio,
than the element dimensions. */
}
Макс. розтягнення без обрізання або деформації (може не заповнити фон) : background-size: contain;
примусовий абсолютний розтягнення (може спричинити деформацію, але не обрізати) : background-size: 100% 100%;
"Старий" CSS "завжди працює" спосіб
Абсолютне позиціонування зображення як першої дитини (відносно розташованого) батька та розтягування його на батьківський розмір.
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!-- some other content -->
</div>
Еквівалент CSS3 background-size: cover;
:
Щоб досягти цього динамічно, вам доведеться використати протилежний методу містять альтернативу (див. Нижче), і якщо вам потрібно центрувати вирізане зображення, вам потрібен JavaScript, щоб зробити це динамічно - наприклад, використовуючи jQuery:
$('.selector img').each(function(){
$(this).css({
"left": "50%",
"margin-left": "-"+( $(this).width()/2 )+"px",
"top": "50%",
"margin-top": "-"+( $(this).height()/2 )+"px"
});
});
Практичний приклад:
Еквівалент CSS3 background-size: contain;
:
Це може бути дещо складним - розмір вашого фону, який переповнюватиме батьків, матиме CSS, встановлений на 100%, а інший - для автоматичного.
Практичний приклад:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
/* -- OR -- */
/* width: auto;
height: 100%; */
}
Еквівалент CSS3 background-size: 100% 100%;
:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
PS: Щоб зробити еквіваленти обкладинки / містити "старим" способом повністю динамічно (так що вам не доведеться піклуватися про переливи / співвідношення), вам доведеться використовувати javascript для виявлення для вас співвідношень і встановлення розмірів, як описано. ..