Modern 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%;
}
ป.ล. : ในการทำสิ่งที่เทียบเท่าปก / บรรจุในแบบ "เก่า" อย่างสมบูรณ์แบบไดนามิก (ดังนั้นคุณจะไม่ต้องสนใจเรื่องล้น / อัตราส่วน) คุณจะต้องใช้จาวาสคริปต์เพื่อตรวจหาอัตราส่วนสำหรับคุณและตั้งค่าขนาดตามที่อธิบายไว้ ..