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%);
}
หวังว่านี้จะช่วยให้ใครสักคนมีความสุขการเข้ารหัส!