Setiap elemen di halaman web adalah kotak persegi panjang. Properti tampilan di CSS menentukan bagaimana kotak persegi panjang itu berperilaku. Hanya ada sedikit nilai yang biasa digunakan:
div ( display: inline; /* Default of all elements, unless UA stylesheet overrides */ display: inline-block; /* Characteristics of block, but sits on a line */ display: block; /* UA stylesheet makes things like and block */ display: run-in; /* Not particularly well supported or common */ display: none; /* Hide */ )
Nilai default untuk semua elemen adalah sebaris. Sebagian besar "Lembar Gaya Agen Pengguna" (gaya default yang diterapkan browser ke semua situs) mengatur ulang banyak elemen untuk "diblokir". Mari kita bahas masing-masing ini, dan kemudian membahas beberapa nilai yang kurang umum lainnya.
Di barisan
Nilai default untuk elemen. Pikirkan elemen seperti ,,
atau dan bagaimana membungkus teks dalam elemen tersebut dalam string teks tidak merusak aliran teks.
Elemen sebaris akan menerima margin dan padding, tetapi elemen tersebut tetap sejajar seperti yang Anda harapkan. Margin dan padding hanya akan mendorong elemen lain menjauh secara horizontal, bukan vertikal.
Elemen sebaris tidak akan menerima height
dan width
. Itu hanya akan mengabaikannya.
Blok Sebaris
Elemen yang disetel ke inline-block
sangat mirip dengan sebaris karena akan disetel sejajar dengan aliran teks alami (di "garis dasar"). Perbedaannya adalah Anda dapat menetapkan width
dan height
mana yang akan dihormati.
Blok
Sejumlah elemen diatur block
oleh stylesheet UA browser. Mereka biasanya elemen wadah, seperti
, , dan
- . Juga ketik "blok" seperti
- MDN
dan
. Elemen level blok tidak duduk sejajar tetapi melewatinya. Secara default (tanpa menyetel lebar) mereka mengambil ruang horizontal sebanyak mungkin.
Run-in
Pertama, properti ini tidak berfungsi di Firefox. Dikatakan bahwa spesifikasi untuk itu tidak cukup didefinisikan dengan baik. Untuk mulai memahaminya, ini seperti jika Anda ingin elemen header duduk sejajar dengan teks di bawahnya. Mengambangnya tidak akan berfungsi dan begitu juga yang lain, karena Anda tidak ingin header menjadi anak dari elemen teks di bawahnya, Anda ingin itu menjadi elemen independennya sendiri. Di browser "pendukung", ini seperti ini:
Flexbox
The display
properti juga digunakan untuk metode tata letak ketinggalan jaman baru seperti flexbox.
.header ( display: flex; )
Ada beberapa versi sintaks flexbox yang lebih lama, jadi silakan baca artikel ini untuk mengetahui sintaks dalam menggunakan flexbox dengan dukungan browser terbaik. Pastikan untuk melihat panduan lengkap untuk Flexbox ini.
Flow-Root
Nilai flow-root
tampilan menciptakan "konteks pemformatan blok" baru, tetapi sebaliknya block
. BFC baru membantu dengan hal-hal seperti membersihkan float, menghilangkan kebutuhan akan peretasan untuk melakukannya.
.group ( display: flow-root; )
Data dukungan browser ini berasal dari Caniuse, yang lebih detail. Angka menunjukkan bahwa browser mendukung fitur pada versi tersebut dan yang lebih baru.
Desktop
Chrome | Firefox | YAITU | Tepi | Safari |
---|---|---|---|---|
58 | 53 | Tidak | 79 | 13 |
Ponsel / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 13.0-13.1 |
Kotak
Tata letak kisi pada awalnya juga akan ditetapkan oleh properti tampilan.
body ( display: grid; )
Berikut panduan kami tentang tata letak Grid, yang mencakup bagan dukungan browser.
Tidak ada
Menghapus sepenuhnya elemen dari halaman. Perhatikan bahwa meskipun masih ada di DOM, elemen tersebut dihapus secara visual dan dengan cara lain yang memungkinkan (Anda tidak dapat memberi tab padanya atau turunannya, itu diabaikan oleh pembaca layar, dll).
Nilai Tabel
Ada seluruh rangkaian nilai tampilan yang memaksa elemen non-tabel untuk berperilaku seperti elemen tabel, jika Anda membutuhkannya. Ini jarang terjadi, tetapi terkadang memungkinkan Anda menjadi "lebih semantik" dengan kode Anda sambil memanfaatkan kekuatan pemosisian unik tabel.
div ( display: table; display: table-cell; display: table-column; display: table-colgroup; display: table-header-group; display: table-row-group; display: table-footer-group; display: table-row; display: table-caption; )
Untuk menggunakan, cukup tiru struktur tabel normal. Contoh sederhana:
Gross but sometimes useful.