cari
Rumahhujung hadapan webtutorial cssMerekabentuk Jadual Lebih Baik: Menggunakan Popovers untuk Data Tambahan

Apabila bekerja dengan jadual data yang besar, memaparkan semua maklumat yang tersedia serentak selalunya boleh menjadikan jadual itu hebat dan sukar dibaca. Akibatnya, adalah perkara biasa untuk menyembunyikan maklumat sekunder dan menggunakan corak reka bentuk untuk mendedahkan lebih banyak butiran hanya apabila diperlukan.

Reka bentuk jadual data adalah penting kepada pengalaman pengguna (UX) yang baik, terutamanya apabila mengendalikan data volum tinggi atau kompleks. Menurut artikel seperti Mengapa UX reka bentuk jadual penting? dan Reka bentuk jadual data yang lebih baik, terdapat kata sepakat mengenai tiga cara utama untuk mengurus butiran tersembunyi ini:

  • Baris Boleh Dikembangkan – Kembangkan baris jadual sebaris untuk mendedahkan butiran tambahan.
  • Modal Views – Membuka dialog modal dengan maklumat yang lebih mendalam.
  • Pandangan Pantas (Bar Sisi) – Memaparkan butiran tambahan dalam bar sisi yang boleh meluncur masuk dari tepi.

Dalam artikel ini, saya akan menunjukkan kepada anda cara menyediakan tiga pilihan ini secara fleksibel, supaya anda boleh bertukar antara pilihan tersebut tanpa perlu menulis semula penanda jadual.

Untuk ini, kami akan menggunakan popovers, yang sesuai untuk melampirkan maklumat dengan mudah terus ke baris tertentu.


Menyediakan Jadual Asas

Untuk bermula, kami akan menggunakan penanda dan gaya yang sama seperti dalam Panduan Menggayakan Jadual:

Designing Better Tables: Using Popovers for Extra Data

Dalam sel terakhir, selepas kandungan teks, kami telah menambahkan butang mudah (ikon adalah daripada tabler), yang akan mencetuskan popover:

<button type="button" popovertarget="p1"></button>

Seterusnya, kami menambah popover di suatu tempat dalam dokumen untuk memaparkan kandungan tambahan apabila dicetuskan:

<div id="p1" popover>
  ... content ...   
</div>

Menggayakan Popover

Untuk penggayaan popover, kami akan menggunakan templat daripada Adam Argyle's Steal kod popover ini. Templat ini termasuk peralihan lancar untuk penampilan dan kehilangan popover:

.selector {
  &, &::backdrop {
    transition: 
      display .5s allow-discrete, 
      overlay .5s allow-discrete, 
      inset .5s,
      scale .5s,
      opacity .5s;
    opacity: 0;
  }

  &::backdrop {
    background: #0002;
  }

  &:popover-open {
    opacity: 1;
    &::backdrop {
      opacity: 0.5;
    }
  }

  @starting-style {
    &:popover-open,
    &:popover-open::backdrop {
      opacity: 0;
    }
  }
}

Pandangan Modal

Untuk reka letak modal, kami akan menambah kelas pengubah --modal untuk menentukan saiz modal dan memusatkannya pada skrin:

&.--modal {
  block-size: calc(100dvh - 2em);
  inline-size: calc(100dvw - 2em);
  inset-block-start: 1em;
  inset-inline: 1em;
  transform-origin: 50% 50%;

  @starting-style {
    &:popover-open{
      scale: 0;
    }
  }
}

Designing Better Tables: Using Popovers for Extra Data


Pandangan Pantas (Bar sisi)

Untuk mencipta bar sisi paparan pantas, kami akan menambah kelas pengubah suai baharu, --inline-start, pada popover. Bar sisi ini meluncur masuk dari sisi port pandangan dan boleh ditutup dengan animasi yang lancar. Berikut ialah persediaan:

&.--inline-start {
  --width: clamp(220px, 33vw, 350px);
  block-size: calc(100dvh - 2em);
  inline-size: var(--width);
  inset-block-start: 1em;
  inset-inline: 1em;

  @starting-style {
    &:popover-open {
      inset-inline: calc(0px - var(--width));
    }
  }
  &[popover]:not(:popover-open) { 
    inset-inline: calc(0px - var(--ui-width));
  }
}

Dengan persediaan ini, popover meluncur masuk dari kiri. Baris &[popover]:not(:popover-open) memastikan ia meluncur keluar semula apabila ditutup.

Designing Better Tables: Using Popovers for Extra Data

Kami boleh menggunakan pelarasan serupa untuk mencipta kesan slaid masuk dari kanan atau dari atas dan bawah:

Tamat Sebaris (--hujung sebaris)

Designing Better Tables: Using Popovers for Extra Data

Block End (--block-end)

Designing Better Tables: Using Popovers for Extra Data


Baris Boleh Dikembangkan

Dan akhirnya, mari lihat baris boleh kembang. Tidak seperti modal dan bar sisi, baris boleh dikembangkan berintegrasi terus dalam reka letak jadual. Secara tradisinya, pendekatan ini melibatkan

dengan merangkumi semua lajur dan fungsi JavaScript untuk menogol keterlihatannya.

Tetapi bolehkah kita menggunakan semula popover sedia ada untuk mengembangkan baris sebaris? Tidak secara langsung — tetapi kita boleh memalsukannya dengan meletakkan popover supaya muncul betul-betul di bawah baris, mencipta kesan yang serupa.


Mula-mula, kami melampirkan popover ke bahagian bawah sebelah kiri baris jadual dengan menetapkan nama sauh pada

dan menggunakan CSS berikut:
<button type="button" popovertarget="p1"></button>

Seterusnya, kami memerlukan dua ciri yang, malangnya, pada masa ini Chrome sahaja:

<div id="p1" popover>
  ... content ...   
</div>

Sifat bersaiz interpolasi membenarkan popover bernyawa dengan lancar ke ketinggian terakhirnya, manakala saiz sauh membolehkannya sepadan dengan lebar baris (atau ketinggian, menggunakan saiz sauh(tinggi)).

Designing Better Tables: Using Popovers for Extra Data

Setakat ini, sangat bagus — tetapi baris yang dikembangkan meliputi baris seterusnya.

Kita boleh membetulkannya dengan menambahkan ketinggian popover pada hujung blok padding sel jadual dalam baris yang dikembangkan:

Designing Better Tables: Using Popovers for Extra Data

Sejuk. Ilusi sudah lengkap!

Untuk menghidupkan ketinggian, kami akan menambah beberapa pengisytiharan tambahan pada CSS:

.selector {
  &, &::backdrop {
    transition: 
      display .5s allow-discrete, 
      overlay .5s allow-discrete, 
      inset .5s,
      scale .5s,
      opacity .5s;
    opacity: 0;
  }

  &::backdrop {
    background: #0002;
  }

  &:popover-open {
    opacity: 1;
    &::backdrop {
      opacity: 0.5;
    }
  }

  @starting-style {
    &:popover-open,
    &:popover-open::backdrop {
      opacity: 0;
    }
  }
}

Mengautomasikan Pelarasan Padding

Untuk mengelakkan mengemas kini padding secara manual, kami boleh menggunakan skrip yang mengemas kini padding secara dinamik berdasarkan ketinggian popover:

&.--modal {
  block-size: calc(100dvh - 2em);
  inline-size: calc(100dvw - 2em);
  inset-block-start: 1em;
  inset-inline: 1em;
  transform-origin: 50% 50%;

  @starting-style {
    &:popover-open{
      scale: 0;
    }
  }
}

Skrip ini mendengar acara togol popover, mengemas kini sifat tersuai secara dinamik, --row, untuk memadankan ketinggian popover apabila dibuka.


Demo

Anda boleh melihat demo di browser.style/ui/table-expand, di mana anda juga akan menemui gaya demo jadual asal.

Atas ialah kandungan terperinci Merekabentuk Jadual Lebih Baik: Menggunakan Popovers untuk Data Tambahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Popovers boleh diguna semula untuk menambah sedikit popPopovers boleh diguna semula untuk menambah sedikit popApr 17, 2025 am 11:02 AM

Popover adalah pandangan sementara yang muncul di atas kandungan pada skrin apabila pengguna mengklik pada butang kawalan atau dalam kawasan yang ditetapkan. Contohnya,

Pautan gaya dengan garis bawah sebenarPautan gaya dengan garis bawah sebenarApr 17, 2025 am 10:57 AM

Sebelum kita datang ke cara menggariskan gaya, kita harus menjawab soalan: Sekiranya kita menggariskan?

Berita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow DomBerita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow DomApr 17, 2025 am 10:55 AM

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Multiplayer Tic Tac Toe Dengan GraphqlMultiplayer Tic Tac Toe Dengan GraphqlApr 17, 2025 am 10:54 AM

GraphQL adalah bahasa pertanyaan untuk API yang sangat memberdayakan untuk pemaju depan. Seperti laman grafql menerangkannya, anda menerangkan data anda, minta apa

Operasi logik dengan pembolehubah CSSOperasi logik dengan pembolehubah CSSApr 17, 2025 am 10:44 AM

Sering kali, semasa menggunakan pembolehubah suis (pembolehubah yang sama ada 0 atau 1, konsep yang dijelaskan secara terperinci dalam jawatan ini), saya harap saya dapat

LOAD LOAD Video YouTube TerbenamLOAD LOAD Video YouTube TerbenamApr 17, 2025 am 10:40 AM

Ini adalah idea yang sangat bijak melalui Arthur Corenzan. Daripada menggunakan embed YouTube lalai, yang menambah crapload sumber ke halaman sama ada pengguna bermain

Bolehkah anda memutar kursor dalam CSS?Bolehkah anda memutar kursor dalam CSS?Apr 17, 2025 am 10:28 AM

Kinda! Tidak ada cara yang mudah atau standard untuk melakukannya, tetapi ia mungkin. Anda boleh menukar kursor ke versi asli terbina dalam yang berbeza dengan CSS dengan

Menu hamburger dengan sisi cangkuk reaksi dan komponen gayaMenu hamburger dengan sisi cangkuk reaksi dan komponen gayaApr 17, 2025 am 10:21 AM

Kita semua tahu apa menu hamburger, bukan? Apabila corak mula masuk ke dalam reka bentuk web, ia kedua -duanya dihina dan bertepuk tangan kerana minimalisnya

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft