Menampilkan batas bagian dalam tabel css. Perbatasan dan bingkai

Tujuan pelajaran: Keakraban dengan properti tabel dan prinsip tata letak tabel CSS


Mari kita lihat properti tabel CSS dasar

berbatasan

Sebuah properti dipertimbangkan dalam satu dan mencakup beberapa properti pada saat yang sama:

  • GAYA BATAS
  • LEBAR BATAS
  • BATAS-WARNA

Ada juga aturan kolektif:

table.collapse (border-collapse: collapse;) table.separate (border-collapse: terpisah;)

Hasil:

lebar dan tinggi
(tinggi dan lebar meja)

Nilai:

Contoh:

perataan teks
(kesejajaran horizontal)

Nilai:

  • tengah (terpusat)
  • kiri (rata kiri)
  • kanan (rata kanan)
  • membenarkan (lebar)

vertikal-align
(penjajaran vertikal)

Nilai:

  • dasar (baseline)
  • sub (sebagai subindeks)
  • super (sebagai superskrip)
  • atas (atas)
  • tengah (tengah)
  • bawah (tepi bawah)
  • % (dari ketinggian spasi baris)

Contoh:

lapisan
(pelapis meja)

latar belakang-warna (latar belakang)
warna (warna teks)

Tata letak tabel CSS

Karena banyaknya properti tabel dan variasi dalam desainnya, tabel lama adalah beberapa standar untuk tata letak halaman web. Jika Anda membuat batas tabel tidak terlihat, maka Anda dapat menggunakan sel individualnya sebagai blok halaman yang terpisah: header, menu, footer, dll.

Tapi ini tidak sepenuhnya benar, karena setiap tag memiliki tujuannya sendiri, dan tabel tidak seharusnya berfungsi untuk tata letak halaman. Namun, kurangnya alternatif mendorong para desainer untuk menggunakan metode tata letak jenis ini.

Sekarang ada cara lain - menggunakan lapisan, yang secara bertahap menggantikan tabel dalam pekerjaan seperti ini dengan halaman web. Namun, bahkan saat ini, beberapa desainer berhasil menggunakan tata letak tabel.

Tata letak spreadsheet dua kolom

Salah satu metode tata letak yang paling umum adalah dua kolom, mis. halaman dibagi menjadi dua bagian.

  • Biasanya sisi kiri adalah menu dan elemen tambahan, dan sisi kanan adalah yang utama untuk konten utama.
  • Dalam hal ini, lebar sisi kiri diatur nilai tertentu, yaitu keras, dan sisi kanan mengambil sisa halaman.
  • Dalam hal ini, Anda perlu mengatur lebar total seluruh tabel (tag tabel) dalam persen melalui properti lebar (100%), dan untuk sel pertama (tag td) atur lebar (juga properti lebar) dalam piksel atau persen.
  • Contoh: atur bingkai utama halaman dalam dua kolom: yang pertama - dengan ukuran tetap, yang kedua - untuk sisa area browser. Jalankan tugas menggunakan gaya CSS ()


    Pertunjukan:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "kanan"> 2</ td> </ tr> </ meja> ...

    1
    ...

    Hasil:

  • Sekarang mari kita coba untuk memisahkan dua kolom tabel secara visual satu sama lain.
  • Contoh: mengatur latar belakang sel yang berbeda (untuk memisahkan dua kolom satu sama lain) dan mengatur jarak antar kolom (pemisah)


    Pertunjukan:
    Mari tambahkan properti gaya baru:

    / * untuk sel kiri * / td # kiri (lebar: 200px; latar belakang: #ccc; batas: 1px hitam pekat; / * tandai batas untuk sementara * /) / * untuk sel kanan * / td # kanan (latar belakang: # fc3; perbatasan: 1px hitam pekat; / * untuk sementara menunjukkan batas * /) / * untuk pemisah * / #razdel (lebar: 10px; / * Spasi antar kolom * /)

    Bersama:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "razdel"> <td id = "kanan"> 2</ td> </ tr> </ meja>

    1

    Sel baru telah ditambahkan untuk pemisah.
    Hasil:

  • Anda juga dapat membuat pemisah antar kolom menjadi kurang menonjol. Untuk melakukan ini, kita akan menggunakan gaya perbatasan.
  • Contoh: buat pemisah antar kolom tabel menggunakan garis putus-putus batas sel yang berdekatan


    Pertunjukan:
    Mari tambahkan properti perbatasan baru untuk sel:

    / * untuk sel kiri * / td # kiri (lebar: 200px; latar belakang: #ccc; / * Warna latar belakang kolom kiri * / / * baru * / batas-kanan: 1px putus-putus # 000; / * Opsi batas putus-putus kanan * / )

    Bersama:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "kanan"> 2</ td> </ tr> </ meja>

    1

    Hasil:

    Tata letak spreadsheet tiga kolom

    Ada konsep tata letak tetap atau "cair".

    CSS tata letak tetap

    • Menggunakan tata letak tetap lebar seluruh tabel diatur dalam piksel, lalu, terlepas dari resolusi monitor dan jendela browser, tabel akan selalu memiliki lebar yang sama.
    • Pada kasus ini lebar kolom yang tersisa juga harus diperbaiki.
    • Dimungkinkan untuk tidak menentukan lebar satu sel, maka itu akan dihitung secara otomatis berdasarkan dimensi sel yang tersisa dan seluruh tabel.

    Contoh: buat template halaman dengan tiga kolom. Gunakan tata letak tabel tetap:

    • kolom kiri - 150 piksel;
    • kolom tengah - 400 piksel;

    Pertunjukan:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "pusat"> 2</ td> <td id = "kanan"> 3</ td> </ tr> </ meja>

    1 2

    Hasil:

    Mockup karet

    • Lebar Meja saat menggunakan desain "karet" atur dalam% dari lebar jendela browser... Itu. ketika jendela browser berubah, ukuran tabel juga berubah.
    • Lebar semua sel bisa dipasang dalam persen.
    • Pilihan kedua adalah ketika lebar beberapa sel didirikan dalam persen, A beberapa dalam piksel.

    Penting: Jumlah lebar semua kolom harus 100%, terlepas dari lebar tabel.


    Contoh:

    • kolom kiri - 20%;
    • kolom tengah - 40%;
    • kolom kanan - 40%;

    Atur latar belakang untuk kolom dan pisahkan kolom secara visual dengan batas.

    Pertunjukan:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "pusat"> 2</ td> <td id = "kanan"> 3</ td> </ tr> </ meja>

    1 2

    Hasil:

    Pertimbangkan opsi kedua, ketika lebar kolom tengah dipilih secara otomatis oleh browser; contohnya adalah gambar :

    Contoh: buat template halaman dengan tiga kolom. Gunakan tata letak tabel yang cair:

    • kolom kiri - 150 piksel;
    • kolom tengah - 40%;
    • kolom kanan - 200 piksel;

    Atur latar belakang untuk kolom dan pisahkan kolom secara visual dengan batas.


    Pertunjukan:

    </ kepala> <tubuh> <tabel id = "maket" cellpacing = "0"> <tr> <td id = "kiri"> 1</ td> <td id = "pusat"> 2</ td> <td id = "kanan"> 3</ td> </ tr> </ meja>

    1 2

    Hasil:
    Hasilnya akan kurang lebih sama, hanya "peregangan" yang akan terjadi karena kolom tengah.

    Menggunakan tabel bersarang dalam tata letak yang lancar

    Jika lebar dua kolom diatur dalam persentase dan yang ketiga dalam piksel, Anda tidak akan bisa bertahan dengan satu tabel. Jadi, jika lebar seluruh tabel adalah 100 persen, kolom pertama adalah 200 piksel, dan kolom yang tersisa adalah 20 persen, maka perhitungan sederhana menunjukkan bahwa ukuran kolom pertama adalah 60 persen. Dalam hal ini, browser tidak akan menerima nilai yang ditentukan dalam piksel, dan ukurannya akan diatur dalam persen.

    • Tabel asli dibuat dengan dua sel. Lebar tabel diatur sebagai persentase.
    • Untuk sel kiri(kolom pertama) lebar diatur dalam piksel.
    • Lebar sel kanan(dasar untuk pembicara lain) tidak ditentukan... Tabel kedua disisipkan di dalam sel ini, juga terdiri dari dua sel.
    • Lebar sel tabel bersarang ditetapkan sebagai persentase..
    • Lebar meja bagian dalam harus diatur ke 100 persen sehingga tabel ini mengambil semua ruang kosong di tabel luar.
    • Lebar kolom tengah dan kanan dihitung relatif terhadap lebar sel, bukan tabel luar secara keseluruhan.

    Contoh: buat template halaman dengan tiga kolom. Gunakan tata letak yang lancar dengan tabel bersarang:

    • kolom kiri - 150 piksel;
    • kolom tengah - 60%;
    • kolom kanan - 40%;

    Mengatur latar belakang untuk kolom.

    Pertunjukan:

    Anda hanya dapat menerapkan satu properti CSS, warna latar belakang, tetapi Anda tidak dapat secara langsung mengatur warna latar belakang pada hover (kelas semu: hover) pada elemen ini. Dalam contoh ini, kita akan melihat cara menyorot kolom tabel hanya menggunakan CSS.

    Contoh menyorot kolom dan baris tabel di hover
    1
    2

    Atribut tag cellpadding dan cellpacing diperlukan di sini, sehingga tidak ada "celah" di antara tabel.
    Hasil:

    Jadi, kami paling banyak belajar denganmu tindakan sederhana yang dapat diimplementasikan dengan batas tabel. Dan sekarang meja terlihat jauh lebih estetis. Namun, pengisian sel secara langsung bertumpu pada batas. Anda dapat dengan mudah memperbaikinya hanya dengan membuat indentasi sel di tabel HTML. Dan kemudian teks di dalam bingkai, di dalam sel, akan lebih mudah dibaca.

    Untuk membuat indentasi dalam sel, gunakan atribut bantalan sel untuk tanda

    ... Namun, ada opsi lain yang lebih disukai: CSS.

    Dalam hal ini, indentasi diatur menggunakan properti lapisan... Dengan bantuannya, tidak akan sulit untuk membuat indentasi jika perlu, yaitu, atas, kanan, bawah atau kiri, masing-masing menggunakan salah satu properti ini: padding-top, padding-kanan, padding-bottom dan padding-kiri.

    Anda dapat mengatur berapa banyak piksel yang harus diindentasi. Berikut adalah contoh di mana margin bawah akan 20 piksel, dan sisanya akan menjadi 10 ... Seperti CSS-kode akan terlihat seperti ini:

    Td (padding: 10px; padding-bottom: 20px;)

    Dan kode gaya lengkap pada tahap ini:

    Tabel (border: solid 1px blue; border-collapse: collapse;) td (border: solid 1px blue; padding: 10px; padding-bottom: 20px;)

    Hasil di browser:

    Lekukan antar sel

    Biasanya, tugas yang terkait dengan pembuatan tabel dapat diselesaikan menggunakan tag, atribut, dan properti yang memungkinkan Anda membuat batas, indentasi dalam sel, dan juga mengatur latar belakang warna sel itu sendiri.

    Indentasi dalam tabel tidak hanya di dalam sel. Mereka juga dapat hadir di antara sel-sel itu sendiri.

    Ada dua cara untuk membuat indentasi antar sel:

    1. menggunakan atribut jarak sel untuk tanda
    .
  • menggunakan CSS-properti spasi-batas.
  • Harus ditekankan bahwa spasi-batas ditulis untuk tabel secara keseluruhan, sedangkan properti lapisan meresepkan langsung untuk sel.

    Mari kita lihat sebuah contoh:

    Tabel (border: solid 1px blue; border-collapse: terpisah; border-spacing: 5px;) td (border: solid 1px blue; padding: 10px; padding-bottom: 20px;)

    Dan hasil yang dihasilkan:

    Mari kita tetapkan segera bahwa Anda tidak boleh mencoba membuat indentasi seperti itu menggunakan perbatasan-runtuh: runtuh... Memang, saat menggunakan opsi ini, sel "menempel" satu sama lain.

    Dan untuk memisahkannya satu sama lain, Anda harus menggunakan border-collapse: terpisah... Penting untuk dipahami bahwa nilai ini adalah default. Dan itu hanya digunakan untuk menunjukkan dengan jelas bagaimana masalah ini diselesaikan. Jika kita menghapus baris ini, maka hasil dalam bentuk sel yang terletak terpisah satu sama lain akan disimpan.

    CSS memungkinkan Anda untuk mengatur tidak hanya gaya batas tabel, tetapi juga gaya batas sel individual. Karena setiap sel memiliki batasnya sendiri, batas antara sel yang berdekatan menjadi dua kali lipat. Tetapi dimungkinkan untuk menggabungkan batas sel tetangga menjadi satu. Ada properti border-collapse untuk ini. Ini mengambil nilai-nilai:

    border-collapse: terpisah - setiap sel memiliki batasnya sendiri (default)

    border-collapse: runtuh - perbatasan umum

    border-collapse: mewarisi - nilainya diambil dari elemen induk

    Misalnya, mari buat tabel dan atur bingkai untuk sel semua tabel yang akan ada di halaman. Pertama, jangan mengubah apa pun untuk melihat bagaimana tabel akan terlihat:

    Gaya:

    dan dan gaya mereka.

    Contoh penyorotan kolom tabel

    1
    2
    3
    4
    5
    6

    Halaman
    NamaNama belakang
    Homersi simpson
    Pinggiransi simpson

    NamaNama belakang
    Homersi simpson
    Pinggiransi simpson


    Mencoba "

    Ukuran meja

    Setelah menambahkan bingkai ke sel tabel, terlihat bahwa isi sel terlalu dekat dengan tepi. Anda dapat menggunakan properti padding untuk menambahkan spasi putih di antara tepi sel dan isinya:

    Th, td (padding: 7px;) Cobalah"

    Ukuran meja tergantung pada isinya, tetapi situasi sering muncul ketika meja terlalu sempit dan perlu diregangkan. Lebar dan tinggi tabel dapat diubah menggunakan properti lebar dan tinggi, mengatur dimensi yang diinginkan baik ke tabel itu sendiri atau ke sel:

    Tabel (lebar: 70%;) th (tinggi: 50px;) Cobalah "

    Perataan teks

    Secara default, teks di sel header tabel rata tengah, dan teks di sel normal rata kiri, menggunakan properti perataan teks Anda bisa mengontrol perataan horizontal teks.

    Properti CSS perataan vertikal memungkinkan Anda untuk mengontrol perataan vertikal konten teks. Secara default, teks disejajarkan secara vertikal ke tengah sel. Perataan vertikal dapat diganti dengan salah satu nilai untuk properti perataan vertikal:

    • atas: teks disejajarkan dengan bagian atas sel
    • tengah: menyelaraskan teks ke tengah (default)
    • bawah: teks disejajarkan dengan bagian bawah sel
    Nama dokumen
    NamaNama belakang
    Homersi simpson
    Pinggiransi simpson


    Mencoba "

    Mengganti warna latar belakang baris tabel

    Saat memindai tabel besar yang berisi banyak baris dengan jumlah besar informasi, mungkin sulit untuk melacak data mana yang termasuk dalam baris tertentu. Untuk membantu pengguna menavigasi, Anda dapat menggunakan dua warna latar belakang yang berbeda secara bergantian. Untuk membuat efek yang dijelaskan, Anda dapat menggunakan pemilih kelas, menambahkannya ke setiap baris kedua tabel:

    Nama dokumen

    NamaNama belakangPosisi
    Homersi simpsonayah
    Pinggiransi simpsonibu
    Bartsi simpsonseorang anak
    Lisasi simpsonanak perempuan


    Mencoba "

    Menambahkan atribut kelas ke setiap baris kedua adalah tugas yang membosankan. Pseudo-class: nth-child telah ditambahkan di CSS3 untuk menyelesaikan masalah ini cara alternatif... Efek pergantian sekarang dapat dicapai secara eksklusif melalui CSS tanpa harus mengubah markup HTML dokumen. Dengan pseudo-class: n-child dimungkinkan untuk memilih semua baris tabel ganjil atau genap menggunakan salah satu dari kata kunci: genap (genap) atau ganjil (ganjil):

    Tr: anak ke-n (ganjil) (warna latar: # EAF2D3;) Coba"

    Ubah latar belakang garis saat melayang

    Cara lain untuk meningkatkan keterbacaan data tabular adalah dengan mengubah warna latar belakang baris ketika Anda mengarahkan kursor mouse ke atasnya. Ini akan membantu menyoroti konten tabel yang diinginkan dan meningkatkan persepsi visual data.

    Menerapkan efek ini sangat sederhana, untuk ini Anda perlu menambahkan: hover pseudo-class ke pemilih baris tabel dan mengatur warna latar belakang yang diinginkan:

    Tr: hover (background-color: #E0E0FF;) Cobalah"

    Perataan tengah meja

    Menyejajarkan tabel HTML ke tengah hanya dimungkinkan jika lebar tabel kurang dari lebar elemen induknya. Untuk menyelaraskan tabel di tengah, Anda perlu menggunakan properti margin, mengaturnya setidaknya dua nilai: nilai pertama akan bertanggung jawab untuk margin luar tabel di bagian atas dan bawah, dan yang kedua - untuk perataan tengah otomatis :

    Tabel (margin: 10px otomatis;) Cobalah"

    Jika Anda memerlukan margin yang berbeda di bagian atas dan bawah tabel, maka Anda dapat mengatur properti margin ke tiga nilai: yang pertama akan bertanggung jawab untuk margin atas, yang kedua untuk perataan horizontal, dan yang ketiga untuk margin bawah:

    Tabel (margin: 10px otomatis 30px;)

    Kami telah mempertimbangkan banyak metode elemen penataan gaya pada halaman seperti informasi teks, tautan, gambar, judul, tetapi semua ini belum cukup. Dalam artikel saya, saya sering menggunakan elemen HTML seperti tabel, karena dalam kebanyakan kasus mereka adalah membantu mensistematisasikan informasi penting dan mempermudah penyajiannya.

    Dalam artikel ini, saya akan memperkenalkan Anda pada seluk-beluk penataan tabel HTML, dan Anda akan mempelajari properti CSS baru yang dirancang untuk mencapai tujuan ini.

    HTML Hypertext Markup Language memberi kami sejumlah besar peluang untuk mengikat gaya CSS ke sepuluh tag unik yang dirancang untuk bekerja dengan tabel, saya sarankan untuk mengulanginya sebelum mempelajari lebih lanjut:

    ("Footer" dari tabel) warna latar belakang - karang, untuk elemen ("Header" dari tabel) mengatur warna latar belakang perak.
  • Untuk item
  • yang ada di dalam elemen (isi tabel) mengatur perubahan warna latar belakang saat melayang (kelas semu: melayang) c putih per warna dril(seluruh baris disorot).

    Hasil dari contoh kita:

    Beras. 153 Contoh Penataan Baris dalam Tabel

    Contoh berikut menunjukkan cara menerapkan pembulatan sudut ke sel tabel (properti).

    Contoh pembulatan sudut sel
    MenandaiKeterangan
    .
    Mendefinisikan isi tabel.
    Menentukan nama tabel.
    Mendefinisikan sel header tabel.
    Mendefinisikan baris dalam sebuah tabel.
    Mendefinisikan sel data tabel.
    Digunakan untuk memuat judul grup dalam tabel (tabel heading).
    Digunakan untuk memuat "tubuh" tabel.
    Digunakan untuk memuat “footer” dari tabel (footer).
    Mendefinisikan properti kolom yang ditentukan untuk setiap kolom dalam tag
    Mendefinisikan sekelompok kolom dalam sebuah tabel.

    Bekerja dengan indentasi tabel

    Menggunakan padding dalam tabel
    Indentasi tabel
    1 2 3 4
    2
    3
    4


    Dalam contoh ini, kami:

    • Tempatkan meja di tengah menggunakan teknik perataan horizontal margin(margin: 0 otomatis).
    • Untuk nama tabel (tag
    ) kami mengatur padding bawah menjadi 19 piksel. Saya harap Anda tidak bingung dengan angka yang tidak rata :)

    Hasil dari contoh kita:

    Jarak antar sel

    Setelah contoh di atas, Anda mungkin telah memperhatikan bahwa kami memiliki celah di antara semua sel dalam tabel. Mari kita lihat cara menghilangkan celah di antara sel tabel, atau menambahnya.

    Untuk mengatur jarak antara batas sel yang berdekatan, Anda harus menggunakan properti CSS - spasi batas.

    Ubah jarak antar tabel
    spasi batas: 30px 10px;
    1 2 3
    2
    3
    spasi-batas: 0;
    1 2 3
    2
    3
    spasi perbatasan: 0.2em;
    1 2 3
    2
    3


    Dalam contoh ini, kami:

    • mengambang: kiri). Jika Anda melewatkan topik elemen mengambang, maka Anda selalu dapat kembali ke tutorial ini - "".
    • Selain itu, kami mengatur padding tabel di sebelah kanan ke 30px dan mengatur perataan vertikal tabel (bagian atas elemen sejajar dengan bagian atas elemen tertinggi). Kami akan kembali ke properti ini secara rinci dalam artikel ini.
    ) - berani.
  • Untuk sel tabel (tajuk dan sel data), kami menetapkan batas padat 1 piksel dengan # F50 heksadesimal dan mengatur padding ke 19 piksel untuk semua sisi.
  • Untuk meja pertama dengan kelas .pertama kita atur jarak antar sel tabel (properti border-spacing) menjadi 30px 10px, untuk tabel kedua dengan kelas .kedua sama dengan nol, untuk tabel ketiga dengan kelas .ketiga sama dengan 0.2em.
  • Saya menarik perhatian Anda pada fakta bahwa jika hanya satu nilai panjang yang ditentukan dalam properti border-spacing, maka itu menunjukkan jarak, baik secara horizontal maupun vertikal, dan jika dua nilai panjang ditentukan, maka yang pertama menentukan jarak horizontal , dan vertikal kedua. Jarak antara batas sel yang berdekatan dapat ditentukan dalam satuan CSS (px, cm, em, dll.). Nilai negatif tidak diperbolehkan.

    Hasil dari contoh kita:

    Tampilkan batas di sekitar sel tabel

    Anda dapat mengatakan: - jadi, kita menghilangkan jarak antar sel menggunakan properti border-spacing dengan nilai 0, tapi mengapa kita sekarang memiliki batas sel yang berpotongan?

    Batas ganda terbentuk karena fakta bahwa batas bawah satu sel ditambahkan ke batas atas sel yang ada di bawahnya, situasi serupa terjadi di sisi sel dan ini logis dari sudut pandang tampilan tabel, tapi untungnya ada cara untuk memberitahu browser bahwa kita tidak ingin melihat perilaku nakal seperti batas sel.

    Untuk melakukan ini, Anda perlu menggunakan properti CSS border-collapse. Anehnya, menggunakan properti border-collapse dengan nilai collapse adalah jalan terbaik bagaimana Anda dapat menghilangkan celah di antara sel dan tidak mendapatkan batas ganda di antara mereka.

    Pertimbangkan perbandingan perilaku border saat menggunakan properti border-spacing dengan nilai 0 dan properti border-collapse dengan nilai collapse:

    Contoh menampilkan batas di sekitar sel tabel
    spasi-batas: 0;
    1 2 3
    2
    3
    border-collapse: runtuh;
    1 2 3
    2
    3


    Dalam contoh ini, kami:

    • Buat tabel kita mengapung dan rata kiri (float: left), atur padding kanannya ke 30px.
    • Tetapkan untuk nama tabel (tag
    ) - berani.
  • Untuk sel tabel (tajuk dan sel data), kami menetapkan batas padat 5px dengan # F50 hex dan menetapkan lebar tetap 50px dan tinggi 75px.
  • Untuk meja pertama dengan kelas .pertama kami mengatur jarak antar sel tabel menjadi nol (border-spacing: 0;), dan untuk tabel kedua dengan kelas .kedua atur properti border-collapse menjadi collapse, yang menggabungkan batas sel menjadi satu jika memungkinkan.
  • Hasil dari contoh kita:

    Perilaku sel kosong

    Menggunakan CSS, Anda dapat mengatur apakah akan menampilkan batas dan latar belakang sel kosong dalam tabel atau tidak. Properti sel kosong bertanggung jawab atas perilaku ini, yang secara default, seperti yang mungkin Anda perhatikan dari contoh sebelumnya, menampilkan sel kosong.

    Mari kita beralih ke sebuah contoh:

    Contoh menampilkan sel tabel kosong
    sel kosong: tampilkan;
    1 2 3
    2
    3
    sel kosong: sembunyikan;
    1 2 3
    2
    3


    Untuk memahami cara kerja properti sel kosong dari contoh ini sangat sederhana, jika disetel untuk disembunyikan, maka sel kosong dan latar belakang di dalamnya akan disembunyikan, jika disetel untuk ditampilkan (default), maka akan ditampilkan.

    Lokasi tajuk tabel

    Mari kita lihat properti sederhana lainnya untuk menata tabel - sisi keterangan, yang mengatur posisi keterangan tabel (di atas atau di bawah tabel). Secara default, properti sisi teks diatur ke atas, yang menempatkan teks di atas tabel. Untuk menempatkan judul di bawah tabel, Anda perlu menggunakan properti dengan nilai bawah.

    Mari kita lihat contoh penggunaan properti ini:

    Contoh penggunaan properti sisi teks
    Judul di atas meja
    NamaHarga
    Seekor ikan350 rubel
    Daging250 rubel

    Judul di bawah tabel
    NamaHarga
    Seekor ikan350 rubel
    Daging250 rubel


    Dalam contoh ini, kami telah membuat dua kelas yang mengontrol posisi header tabel. Kelas satu ( .topKeterangan) menempatkan judul tabel di atasnya, kami menerapkannya ke tabel pertama, dan kelas kedua ( .keterangan bawah) menempatkan judul tabel di bawahnya, kami menerapkannya ke tabel kedua. Kelas .topKeterangan memiliki properti sisi teks default dan dibuat untuk tujuan demonstrasi.

    Hasil dari contoh kita:

    Perataan horizontal dan vertikal

    Dalam kebanyakan kasus, saat bekerja dengan tabel, Anda perlu menyesuaikan perataan konten di dalam sel header dan data. Properti perataan teks digunakan untuk perataan horizontal yang serupa dengan informasi teks apa pun. Kami membahas penggunaan properti ini untuk teks sebelumnya di artikel "".

    Untuk mengatur perataan konten dalam sel, Anda perlu menggunakan kata kunci khusus dengan properti perataan teks. Mari kita perhatikan penerapan kata kunci dari properti ini dalam contoh berikut.

    Contoh perataan horizontal dalam sebuah tabel
    ArtiKeterangan
    kiriMeratakan teks sel ke kiri. Ini adalah default (jika arah teks dari kiri ke kanan).
    BaikMeratakan teks sel ke kanan. Ini adalah default (jika arah teks dari kanan ke kiri).
    TengahMeratakan teks sel ke tengah.
    membenarkanPeregangan garis sehingga setiap garis memiliki lebar yang sama (meregangkan teks sel agar sesuai dengan lebar).


    Dalam contoh ini, kami telah membuat empat kelas, yang mengatur perataan horizontal yang berbeda dalam sel dan menerapkannya ke baris tabel. Nilai dalam sel cocok dengan nilai properti perataan teks

    Hasil dari contoh kita:

    Selain perataan horizontal, Anda juga bisa menentukan perataan vertikal di sel tabel menggunakan properti perataan vertikal.

    Harap dicatat bahwa saat bekerja dengan sel tabel, hanya nilai * berikut dari properti ini yang digunakan:

    * - Nilai sub, super, text-top, text-bottom, length, dan% yang diterapkan ke sel tabel akan berperilaku seolah-olah menggunakan nilai dasar.

    Mari kita lihat contoh penggunaan:

    Contoh perataan vertikal dalam sebuah tabel
    ArtiKeterangan
    garis dasarMenyejajarkan garis dasar sel dengan garis dasar induknya. Ini adalah default.
    atasMenyejajarkan konten sel secara vertikal ke atas.
    TengahSejajarkan isi sel secara vertikal di tengah.
    bawahMeratakan isi sel secara vertikal ke bawah.


    Dalam contoh ini, kami telah membuat empat kelas, yang mengatur perataan vertikal berbeda dalam sel dan menerapkannya ke baris tabel. Nilai dalam sel cocok dengan nilai properti perataan vertikal yang diterapkan ke baris tersebut.

    Algoritma untuk menempatkan tata letak tabel oleh browser

    CSS menggunakan algoritma tata letak tabel otomatis browser secara default. Pada kasus ini lebar kolom diatur oleh konten sel tanpa putus terluas. Algoritma ini bisa lambat dalam beberapa kasus, karena browser harus membaca semua konten dalam tabel sebelum menentukan tata letak akhirnya.

    Untuk mengubah jenis tata letak tabel oleh browser dengan otomatis pada tetap, Anda harus menggunakan properti CSS tata letak tabel yang disetel ke tetap.

    Dalam hal ini, penempatan horizontal hanya bergantung pada dari lebar tabel dan lebar kolom, dan bukan dari isi sel. Browser mulai menampilkan tabel segera setelah baris pertama diterima. Akibatnya, algoritme tetap memungkinkan Anda membuat tata letak tabel seperti itu lebih cepat daripada menggunakan versi otomatis. Saat bekerja dengan tabel besar, Anda dapat menggunakan algoritme tetap untuk meningkatkan kinerja.

    Mari kita lihat penerapan properti ini dengan contoh berikut:

    Contoh penggunaan properti table-layout
    tata letak tabel: otomatis;
    Nama 2009 2010 2011 2012 2013 2014 2015 2016
    Gandum 125 215 2540 33287 695878 1222222 125840000 125
    tata letak tabel: tetap;
    Nama 2009 2010 2011 2012 2013 2014 2015 2016
    Gandum 125 215 2540 33287 695878 1222222 125840000 125


    Dalam contoh ini, kami:

    Menata baris dan kolom tabel

    Kami telah menyentuh sebagian metode penataan baris dan kolom tabel dalam artikel "". Dalam artikel ini, kita melihat penggunaan kelas semu grup yang memungkinkan Anda untuk mengganti gaya baris dalam tabel menggunakan nilai bahkan (jujur) dan aneh (aneh), atau dengan dasar rumus matematika.

    Mari kita tinjau kembali teknik sebelumnya dan jelajahi cara baru untuk menata baris dan kolom dalam tabel. Mari kita beralih ke contoh.

    Contoh penggunaan pseudo-class: nth-child dengan tabel
    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    2
    3
    4


    Dalam contoh ini, kami:

    Hasil dari contoh kita:

    Mari beralih ke contoh berikutnya, di mana kita akan melihat opsi untuk menata baris tabel.

    Contoh penataan baris dalam tabel
    MelayaniHarga
    Jumlah 15 000
    1 1 000
    2 2 000
    3 3 000
    4 4 000
    5 5 000


    Dalam contoh ini, kami:

    • Atur lebar tabel menjadi 100% dari lebar elemen induk, atur header dan sel data ke batas padat 1px.
    • Dipasang untuk item
    1 2 3 4 5


    Dalam contoh ini, kami:

    • Pusatkan tabel dengan bantalan, atur lebar dan tinggi sel header menjadi 50px, ditentukan transparan berbatasan 5 piksel.
    • Ditemukan bahwa ketika melayang (kelas semu: melayang) di atas sel tajuk, itu mendapat latar belakang biru warna, jeruk warna teks, batas jeruk warna 5 piksel dan radius 100%.
    • perbatasan transparan diperlukan untuk memesan ruang untuk perbatasan, yang akan ditampilkan saat melayang, jika ini tidak dilakukan, tabel akan "melompat".

    Hasil dari contoh kita:

    Contoh berikut menyentuh penggunaan elemen HTML

    Nomor aplikasiMelayaniharga, gosok.Total
    1Nyanyian 6 000 6 000
    2mencuci 2 000 2 000
    3Pembersihan 1 000 1 000
    4Terus-menerus 1 500 1 500
    5Membaca 3 000 3 000


    Dalam contoh ini, kami:

    Hasil dari contoh kita:

    Nah, dan contoh terakhir, yang cukup sulit untuk dipahami dan membutuhkan pengetahuan lanjutan tentang CSS, karena menyentuh topik masa depan yang direncanakan untuk studi terperinci dalam kerangka kursus ini.

    Dalam contoh sebelumnya, kami menyadari bahwa dengan elemen HTML

    Nomor aplikasiMelayaniharga, gosok.Total
    1Nyanyian 6 000 6 000
    2mencuci 2 000 2 000
    3Pembersihan 1 000 1 000
    4Terus-menerus 1 500 1 500
    5Membaca 3 000 3 000


    Dalam contoh ini, kami:

    • Kami mengatur tabel kami untuk menempati 100% dari elemen induk, sel tabel menempati 25% dari elemen induk dan memiliki batas solid hijau 1 piksel, header dan sel data setinggi 45px. Kami menghapus celah antara sel menggunakan properti border-collapse dengan nilai .
    • Jadi, menggunakan :: setelah elemen semu, tambahkan konten setelah setiap elemen. pada melayang. :: setelah elemen semu harus digunakan bersama dengan properti konten, berkat itu kami memasukkan elemen blok yang memiliki warna latar belakang hutan hijau dan memiliki posisi mutlak.
    • Pemosisian absolut di sini diperlukan untuk mengimbangi elemen relatif terhadap tepi yang ditentukan dari leluhurnya, sedangkan leluhur harus memiliki nilai posisi selain statis default, jika tidak, penghitungan akan relatif terhadap tepi yang ditentukan dari jendela browser, untuk alasan ini kami mengatur untuk meja posisi relatif(relatif).
    • Kami menetapkan untuk blok yang kami hasilkan properti atas, yang menunjukkan arah offset elemen yang diposisikan dari tepi atas, dan properti bawah, yang menunjukkan arah offset elemen yang diposisikan dari tepi bawah. Untuk kedua properti, nilai 0 ditentukan, sehingga blok akan sepenuhnya menempati elemen dari bawah dan atas tabel, lebar blok ini diatur ke 25%, nilai ini sesuai dengan lebar sel itu sendiri.
    • Dan properti terakhir yang kita tetapkan untuk blok ini: indeks-z dengan nilai "-1" menentukan urutan elemen yang diposisikan dengan sumbu Z... Properti ini diperlukan agar teks berada di depan blok ini, dan bukan di belakangnya, jika Anda tidak menetapkan nilai kurang dari nol, maka blok akan menutup teks.

    Hasil dari contoh kita:

    Jika pada tahap studi ini Anda tidak memahami proses elemen pemosisian, maka jangan berkecil hati, ini adalah topik yang sulit untuk dipahami, yang juga tidak kami pertimbangkan, tetapi kami pasti akan mempertimbangkannya di artikel berikutnya dari artikel ini. tutorial "Memosisikan elemen dalam CSS".

    Pertanyaan dan tugas tentang topik

    Selesaikan Kegiatan Praktik sebelum melanjutkan ke topik berikutnya:


    Jika Anda mengalami kesulitan menyelesaikan latihan, Anda selalu dapat membuka contoh di jendela terpisah dan memeriksa halaman untuk melihat CSS apa yang digunakan.


    2016-2020 Denis Bolshakov, Anda dapat mengirim komentar dan saran tentang pekerjaan situs ke situs [email protected]