คุณสมบัติขนาดพื้นหลังคือ> = 9 เท่านั้น แต่ถ้าเป็นสิ่งที่ดีกับคุณคุณสามารถใช้ div ด้วยbackground-image
และตั้งค่าbackground-size: contain
:
div.image{
background-image: url("your/url/here");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
ตอนนี้คุณสามารถตั้งค่าขนาด div ของคุณเป็นสิ่งที่คุณต้องการและไม่เพียง แต่ภาพจะรักษาอัตราส่วนของภาพมันจะถูกรวมศูนย์ทั้งแนวตั้งและแนวนอนภายใน div อย่าลืมตั้งค่าขนาดใน css เนื่องจาก divs ไม่มีแอตทริบิวต์ width / height ในแท็กเอง
วิธีนี้แตกต่างจากคำตอบ setecs การใช้พื้นที่ภาพนี้จะคงที่และกำหนดโดยคุณ (เว้นช่องว่างทั้งแนวนอนหรือแนวตั้งขึ้นอยู่กับขนาด div และอัตราส่วนภาพ) ในขณะที่ setecs คำตอบคุณจะได้รับกล่องที่ ขนาดของภาพที่ปรับขนาด (ไม่มีช่องว่าง)
แก้ไข: ตามเอกสารขนาดพื้นหลัง MDNคุณสามารถจำลองคุณสมบัติขนาดพื้นหลังใน IE8 โดยใช้การประกาศตัวกรองที่เป็นกรรมสิทธิ์:
แม้ว่า Internet Explorer 8 ไม่รองรับคุณสมบัติขนาดพื้นหลัง แต่เป็นไปได้ที่จะเลียนแบบการทำงานบางอย่างโดยใช้ฟังก์ชัน -ms-filter ที่ไม่ได้มาตรฐาน:
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='path_relative_to_the_HTML_file', sizingMethod='scale')";