Gambar Responsif: Trik CSS Yang Menghemat Waktu

Jika Anda terlibat dalam pengembangan web, kemungkinan besar Anda akrab dengan dua monster, yang akan dibahas dalam artikel, terjemahan yang kami terbitkan hari ini. Kita berbicara tentang gambar dan tenggat waktu. Terkadang, karena alasan tertentu, gambar tidak ingin pas dengan tempat tata letak halaman yang dirancang untuk mereka, dan Anda tidak dapat menghabiskan beberapa jam untuk mengetahuinya.



Penulis materi ini mengatakan bahwa ia sering menghadapi masalah yang sama, dan tabrakan ini mengajarkan sesuatu kepadanya. Di sini dia ingin berbicara tentang lima pendekatan untuk mengelola ukuran gambar yang paling dia sukai.

Pendekatan No. 1: gambar latar belakang


Jumat Jam lima sore. Anda harus segera menyelesaikan halaman tertentu. Semuanya sudah siap, satu-satunya masalah adalah gambar, yang tidak sesuai di mana mereka seharusnya. Jika ini terjadi pada Anda - ini adalah salah satu alat ajaib yang akan membantu Anda:

.myImg {  background-image: url("my-image.png");  background-size: cover; } 

Terlihat familier? Kita semua pernah melakukan ini. Apakah ini menunjukkan penipuan kepada Anda?

Menggunakan properti background sangat berguna, mereka hanya melakukan apa yang diharapkan dari mereka. Namun, perlu diingat bahwa mereka harus digunakan hanya untuk gambar-gambar yang bukan bagian dari konten utama halaman, untuk gambar yang menggantikan teks, dan dalam beberapa kasus khusus .

Pendekatan # 2: objek-fit


Bagaimana jika saya mengatakan bahwa properti object-fit berlaku untuk elemen <img> ? Omong-omong, ini juga berfungsi dengan video.

 .myImg { object-fit: cover; width: 320px; height: 180px; } 

Itu saja. Perhatikan bahwa properti object-fit dapat diatur contain .

Dukungan supportObject-fit


Sayangnya, object-fit tidak akan berfungsi di IE dan di versi Safari yang lebih lama, namun, untuk kasus seperti itu ada polyfill .

Berikut adalah informasi dukungan yang diambil dari sini .


Dukungan untuk browser desktop yang sesuai objek

Ini adalah contoh menggunakan objek-fit

Pendekatan # 3: Penggunaan Netflix


Apa yang baru saja kita bicarakan mungkin tampak menarik, tetapi di browser yang ketinggalan zaman, tanpa polyfill, ini tidak akan berfungsi. Jika Anda membutuhkan sesuatu yang universal, mungkin apa yang akan kita bicarakan sekarang tepat untuk Anda. Metode ini, salah satu favorit saya, bekerja di mana saja.

Terdiri dari fakta bahwa gambar harus ditempatkan di elemen induk, properti position yang diatur ke relative , dan properti padding diatur dalam persentase. Akibatnya, gambar akan menempati seluruh area bebas dari elemen induk. Ini terlihat seperti ini:

 .wrapper { position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ } img { position: absolute; left: 0; top: 0; width: 100%; height: auto; } 

Di sini Anda mungkin berpikir bahwa itu terlalu rumit. Namun, setelah Anda memahami arti teknik ini, Anda menyadari bahwa itu sangat sederhana dan nyaman. Selain itu, teknik ini banyak digunakan , misalnya di Netflix.


Lihatlah nama-nama kelas

Berikut adalah contoh penerapan teknik ini

Pendekatan No. 4: tinggi badan


Di sini, untuk mengontrol ukuran gambar, gunakan height: auto properti height: auto , dan, di samping itu, properti max-width . Mungkin Anda sudah tahu teknik ini:

 img { height: auto; width: 100%; /*  max-width,     */ max-width: 720px; } 

Pendekatan ini berlaku dalam banyak kasus, ketika tata letak Anda tidak terlalu rumit.

Ini sebuah contoh

Pendekatan # 5: Manajemen Gambar dan Kinerja


Yang dimaksud dengan "kinerja" adalah waktu pemuatan halaman. Gambar besar dapat memakan waktu sangat lama untuk dimuat, yang memberi pengguna kesan bahwa halaman Anda lambat, terutama jika halaman ini dilihat pada perangkat seluler.

Apakah Anda tahu bahwa di browser modern Anda dapat mengubah sumber gambar tergantung pada lebar halaman? Itulah sebabnya atribut srcset .

Atribut serupa dapat digunakan dalam tag HTML 5 . , , <img> . , , <img> :

 <picture> <source media="(max-width: 799px)" srcset="elva-480w.jpg"> <source media="(min-width: 800px)" srcset="elva-800w.jpg"> <img align="center" src="elva-800w.jpg"> </picture> 

Ini sebuah contoh

Ringkasan


Untuk meringkas:

  • Jika gambar Anda bukan bagian dari konten halaman, gunakan background-image .
  • Jika dukungan IE tidak menarik bagi Anda, gunakan object-fit .
  • Teknologi wadah berbasis Netflix dengan padding khusus berfungsi di mana-mana.
  • Dalam kebanyakan kasus, untuk menyelesaikan masalah dengan gambar, cukup menggunakan height: auto properti height: auto di CSS;
  • Jika Anda ingin mengurangi waktu pemuatan halaman, gunakan atribut srcset untuk mengunduh gambar yang lebih kecil di perangkat seluler.

Kami berharap bahwa pendekatan untuk bekerja dengan gambar yang dibahas di sini akan bermanfaat bagi Anda.

Source: https://habr.com/ru/post/id420619/


All Articles