CSS3 modern (direkomendasikan untuk masa depan & mungkin solusi terbaik)
.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. */
}
Max. meregang tanpa pemangkasan atau deformasi (mungkin tidak memenuhi latar belakang) : background-size: contain;
Peregangan mutlak paksa (dapat menyebabkan deformasi, tetapi tidak ada pemangkasan) : background-size: 100% 100%;
"Old" CSS "selalu berfungsi"
Gambar pemosisian absolut sebagai anak pertama dari induk (posisi relatif) dan membentangkannya ke ukuran induk.
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!-- some other content -->
</div>
Setara dengan CSS3 background-size: cover;
:
Untuk mencapai ini secara dinamis, Anda harus menggunakan kebalikan dari alternatif metode berisi (lihat di bawah) dan jika Anda perlu memusatkan gambar yang dipotong, Anda akan memerlukan JavaScript untuk melakukannya secara dinamis - misalnya menggunakan jQuery:
$('.selector img').each(function(){
$(this).css({
"left": "50%",
"margin-left": "-"+( $(this).width()/2 )+"px",
"top": "50%",
"margin-top": "-"+( $(this).height()/2 )+"px"
});
});
Contoh praktis:
Setara dengan CSS3 background-size: contain;
:
Yang ini bisa sedikit rumit - dimensi latar belakang Anda yang akan meluap-luap induknya akan memiliki CSS yang disetel ke 100% yang lainnya ke otomatis.
Contoh praktis:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
/* -- OR -- */
/* width: auto;
height: 100%; */
}
Setara dengan CSS3 background-size: 100% 100%;
:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
NB: Untuk melakukan persamaan sampul / penampung dengan cara "lama" sepenuhnya secara dinamis (sehingga Anda tidak perlu peduli dengan luapan / rasio), Anda harus menggunakan javascript untuk mendeteksi rasio untuk Anda dan menyetel dimensi seperti yang dijelaskan. ..