background-size: cover
หากคุณสามารถใช้ภาพพื้นหลังและชุด สิ่งนี้จะทำให้พื้นหลังครอบคลุมองค์ประกอบทั้งหมด
CSS
div {
background-image: url(path/to/your/image.png);
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: cover;
}
หากคุณติดกับการใช้ภาพอินไลน์มีตัวเลือกน้อย อย่างแรกคือ
วัตถุพอดี
สถานที่แห่งนี้ทำหน้าที่ในภาพวิดีโอและวัตถุอื่น ๆ background-size: cover
ที่คล้ายกับ
CSS
img {
object-fit: cover;
}
น่าเสียดายที่การสนับสนุนเบราว์เซอร์ไม่ค่อยดีนักกับ IE จนถึงเวอร์ชัน 11 ไม่สนับสนุนเลย ตัวเลือกถัดไปใช้ jQuery
CSS + jQuery
HTML
<div>
<img src="image.png" class="cover-image">
</div>
CSS
div {
height: 8em;
width: 15em;
}
ปลั๊กอิน jQuery ที่กำหนดเอง
(function ($) {
$.fn.coverImage = function(contain) {
this.each(function() {
var $this = $(this),
src = $this.get(0).src,
$wrapper = $this.parent();
if (contain) {
$wrapper.css({
'background': 'url(' + src + ') 50% 50%/contain no-repeat'
});
} else {
$wrapper.css({
'background': 'url(' + src + ') 50% 50%/cover no-repeat'
});
}
$this.remove();
});
return this;
};
})(jQuery);
ใช้ปลั๊กอินเช่นนี้
jQuery('.cover-image').coverImage();
มันจะถ่ายภาพตั้งเป็นภาพพื้นหลังในองค์ประกอบ wrapper ของภาพและลบimg
แท็กออกจากเอกสาร สุดท้ายคุณสามารถใช้
CSS บริสุทธิ์
คุณอาจใช้สิ่งนี้เป็นทางเลือก ภาพจะขยายใหญ่ขึ้นเพื่อปกปิดภาชนะบรรจุ แต่จะไม่ลดขนาดลง
CSS
div {
height: 8em;
width: 15em;
overflow: hidden;
}
div img {
min-height: 100%;
min-width: 100%;
width: auto;
height: auto;
max-width: none;
max-height: none;
display: block;
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
หวังว่านี้จะช่วยให้ใครสักคนมีความสุขการเข้ารหัส!