โหลดภาพเป็นพื้นหลังสำหรับ div
แทน:
<img id='logo' src='picture.jpg'>
ทำ
<div id='logo' style='background:url(picture.jpg)'></div>
เบราว์เซอร์ทั้งหมดจะครอบตัดส่วนของรูปภาพที่ไม่พอดี
สิ่งนี้มีข้อดีหลายประการในการห่อองค์ประกอบที่มีส่วนเกินซ่อนอยู่:
- ไม่มีมาร์กอัปพิเศษ div เพียงแค่แทนที่ img
- จัดกึ่งกลางหรือตั้งค่ารูปภาพเป็นออฟเซ็ตอื่นได้อย่างง่ายดาย เช่น.
url(pic) center top;
- ทำซ้ำภาพเมื่อมีขนาดเล็กพอ (ตกลงไม่รู้ทำไมคุณถึงต้องการแบบนั้น)
- กำหนดสี bg ในคำสั่งเดียวกันนำภาพเดียวกันไปใช้กับหลายองค์ประกอบได้อย่างง่ายดายและทุกอย่างที่ใช้กับภาพ bg
อัปเดต: คำตอบนี้มาจากก่อนวัตถุพอดี ตอนนี้คุณควรใช้ object-fit / object-position
ยังคงมีประโยชน์สำหรับเบราว์เซอร์รุ่นเก่าสำหรับคุณสมบัติพิเศษ (เช่นการทำซ้ำพื้นหลัง) และสำหรับกรณีขอบ (ตัวอย่างเช่นแก้ไขข้อบกพร่องของ Chrome ที่มี flexbox และตำแหน่งวัตถุและ FF (เดิม?) ปัญหากับเส้นกริด + ความสูงอัตโนมัติ + วัตถุ - พอดี. Wrapper divs ในกริด / เฟล็กบ็อกซ์มักให้ ... ผลลัพธ์ที่ไม่ใช้งานง่าย)