object-fit: cover
akan melakukan apa yang Anda butuhkan.
Tapi itu mungkin tidak berfungsi di IE / Edge. Ikuti seperti yang ditunjukkan di bawah ini untuk memperbaikinya dengan hanya CSS untuk bekerja di semua browser .
Pendekatan yang saya ambil adalah memposisikan gambar di dalam wadah dengan absolut dan kemudian meletakkannya tepat di tengah menggunakan kombinasi:
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
Setelah itu di tengah, saya berikan pada gambar,
// For vertical blocks (i.e., where height is greater than width)
height: 100%;
width: auto;
// For Horizontal blocks (i.e., where width is greater than height)
height: auto;
width: 100%;
Ini membuat gambar mendapatkan efek dari Object-fit: cover.
Berikut ini adalah demonstrasi dari logika di atas.
https://jsfiddle.net/furqan_694/s3xLe1gp/
Logika ini berfungsi di semua browser.
Gambar asli
Dipotong Secara Vertikal
Dipotong Secara horizontal