Saya pernah membaca di suatu tempat bahwa <img>
elemen berperilaku seperti keduanya. Jika benar, dapatkah seseorang menjelaskan dengan contoh?
163
Memang benar, keduanya - atau lebih tepatnya, mereka adalah elemen "inline block". Ini berarti bahwa mereka mengalir inline seperti teks, tetapi juga memiliki lebar dan tinggi seperti elemen blok.
Di CSS, Anda dapat mengatur elemen display: inline-block
untuk membuatnya mereplikasi perilaku gambar *.
Gambar dan objek juga dikenal sebagai elemen "diganti", karena mereka tidak memiliki konten sendiri, elemen tersebut pada dasarnya digantikan oleh data biner.
* Perhatikan bahwa browser secara teknis menggunakan display: inline
(seperti yang terlihat pada alat pengembang) tetapi mereka memberikan perlakuan khusus untuk gambar. Mereka masih mengikuti semua sifat inline-block
.
img
unsur-unsur bukaninline-block
tetapi sebenarnyainline
unsur. Anda dapat memeriksanya di peramban modern dengan mengklik kanan gambar, mengeklik "Periksa elemen", lalu melihat gaya yang dihitung, yang akan ditampilkandisplay: inline
. Tidak ada konteks blok yang terjadi di dalam tag, jadi tidak benar untuk menyebutnyainline-block
. Untuk informasi lebih lanjut tentang elemen inline yang diganti lihat jawaban Quentin dan artikel MDN ini .img
unsur-unsur sebaris - perangkat Google Chrome dev menunjukkanimg
unsur-unsur sebagai sebaris. Posting ini adalah satu-satunya tempat yang saya temukan sejauh ini yang mengatakan bahwa merekainline-block
sebaliknya. Menariknya, saya belum menemukan otoritas yang mengatakan merekainline
juga. Apakah cara memperlakukan tag bergantung pada implementasi, mungkin?display:inline-block
.Suatu
img
elemen adalah elemen inline yang diganti .Berperilaku seperti elemen inline (karena itu), tetapi beberapa generalisasi tentang elemen inline tidak berlaku untuk
img
elemen.misalnya
Generalisasi: "Lebar tidak berlaku untuk elemen sebaris"
Apa yang dikatakan oleh spec : "Berlaku untuk: semua elemen kecuali elemen inline, baris tabel, dan grup baris yang tidak diganti"
Karena gambar adalah elemen inline yang diganti, itu berlaku.
sumber
Elemen IMG sebaris, artinya kecuali mereka melayang mereka akan mengalir secara horizontal dengan teks dan elemen sebaris lainnya.
Mereka adalah "blok" elemen yang memiliki lebar dan tinggi. Tetapi mereka berperilaku lebih seperti "inline-block" dalam hal itu.
sumber
Untuk hampir semua tujuan menganggapnya sebagai elemen inline dengan set lebar. Pada dasarnya Anda bebas menentukan bagaimana Anda ingin gambar ditampilkan menggunakan CSS. Saya biasanya menetapkan beberapa kelas gambar seperti ini:
sumber
Setiap kali Anda menyisipkan gambar, ia hanya membutuhkan lebar seperti aslinya. Anda dapat menambahkan elemen html lain di sebelahnya dan Anda akan melihat bahwa itu akan mengizinkannya. Itu menjadikan gambar elemen "inline".
sumber
Memang benar, keduanya - atau lebih tepatnya, mereka adalah elemen "inline block". Ini berarti bahwa mereka mengalir inline seperti teks, tetapi juga memiliki lebar dan tinggi seperti elemen blok.
sumber