cari
Rumahhujung hadapan webtutorial cssDua isu menggayakan elemen butiran dan bagaimana menyelesaikannya

Dua isu menggayakan elemen butiran dan bagaimana menyelesaikannya

Sebelum ini, mewujudkan blok kandungan yang mudah diperkembangkan yang diperlukan JavaScript atau workarounds CSS kompleks. Mengubah HTML juga boleh menjadi rumit. Sekarang, yang<details></details> dan<summary></summary> Unsur -unsur (membentuk "widget pendedahan") memudahkannya dengan ketara. Kami menggunakannya secara meluas di tempat kerja untuk Soalan Lazim, sebagai contoh.

Menangani cabaran gaya biasa

Manakala<details></details> dan<summary></summary> Secara semulajadi menyediakan fungsi berkembang/runtuh, anda mungkin masih memerlukan CSS untuk persembahan yang optimum. Tanpa gaya, dua isu utama timbul:

Isu 1:<summary></summary> Kursor

The<summary></summary> elemen, sementara interaktif, mungkir kepada kursor pemilihan teks dan bukannya penunjuk yang diharapkan.

Isu 2: Unsur blok bersarang di<summary></summary>

Elemen peringkat blok bersarang (seperti tajuk) di dalam<summary></summary> menyebabkan mereka muncul di bawah anak panah, bukan sebaris.

Penyelesaian CSS

Untuk menyelesaikannya, tambahkan gaya ini ke Reset CSS anda:

 Ringkasan Butiran {
  kursor: penunjuk;
}

Butiran Ringkasan> * {
  paparan: sebaris;
}

Mari kita periksa setiap isu dan penyelesaiannya secara terperinci.

Menyesuaikan<summary></summary> Kursor

Kursor harus secara visual mencerminkan interaksi yang dimaksudkan. Kursor teks lalai dihidupkan<summary></summary> Unsur -unsur, sementara secara teknikal betul (teks boleh dipilih), kurang intuitif daripada penunjuk.

Penyelesaiannya mudah:

 Ringkasan Butiran {
  kursor: penunjuk;
}

Banyak laman web yang terkenal, termasuk dokumen web MDN dan GitHub, sudah menggunakan gaya ini untuk widget pendedahan mereka. cursor: text mungkin mencerminkan seleksi teks ringkasan, tetapi penunjuk umumnya lebih baik untuk elemen interaktif. Perhatikan bahawa menukar kursor hanya mempengaruhi penampilan visual; Selectability tetap tidak berubah.

Memaparkan bersarang<summary></summary> Kandungan dalam talian

Untuk Soalan Lazim, saya sering membungkus soalan dalam tajuk (misalnya,<h3></h3> ) dalam<summary></summary> :

<details><summary><h3 id="Adakah-rancangan-anak-saya-akan-dilaksanakan"> Adakah rancangan 504 anak saya akan dilaksanakan?</h3></summary><p> Ya. Sama seperti musim bunga, pengurus kes akan menjangkau pelajar.</p></details>

Ini menawarkan beberapa kelebihan:

  • Gaya yang konsisten: Mengekalkan konsistensi visual dengan tajuk lain.
  • Keserasian IE/Edgehtml: Menyediakan sandaran untuk pelayar yang lebih tua yang tidak menyokong<details></details> .
  • Kebolehcapaian: Navigasi Teknologi Pembantu AIDS (walaupun tafsiran oleh pembaca skrin boleh berbeza -beza, seperti yang dibincangkan di bawah).

Tajuk vs butang

The<summary></summary> Unsur berkelakuan seperti butang (secara tersirat mempunyai role=button ), namun tidak seperti butang, ia membolehkan tajuk bersarang. Ini menimbulkan konflik:

  • Headings Aid Navigation.
  • Butang biasanya menyentuh semantik dari elemen bersarang.

Keserasian pembaca skrin tidak konsisten di sini. NVDA dan Voiceover mengenali tajuk di dalam<summary></summary> , tetapi rahang tidak. Oleh itu, semasa menggayakan tajuk dalam<summary></summary> mungkin, tafsiran semantik mereka tidak dijamin.

Gaya dalam talian

Untuk mengelakkan anak panah daripada muncul di atas tajuk, gunakan gaya sebaris untuk unsur -unsur yang bersarang terus dalam<summary></summary> :

 Butiran Ringkasan> * {
  paparan: sebaris;
}

Gunakan inline , bukan inline-block , untuk mengelakkan isu pembalut. Sementara menggoda untuk menggunakan display: flex on<summary></summary> , ini menyembunyikan anak panah.

Bonus: Tidak termasuk gaya penjelajah internet

Oleh kerana versi IE dan lebih tua tidak menyokong<details></details> , Elakkan menggunakan gaya tersuai kepada mereka menggunakan pertanyaan ciri:

 @Supports not (-ms-im-align: auto) {
  Ringkasan Butiran {
    kursor: penunjuk;
  }
  Butiran Ringkasan> * {
    paparan: sebaris;
  }
  /* Lain -lain<details> /<summary> Gaya */
}</summary></details>

IE mengabaikan blok ini sepenuhnya. EdgeHTML juga mengabaikannya kerana cek -ms-ime-align . Perhatikan bahawa versi krom dan safari yang sangat lama (dengan bahagian pasaran yang tidak dapat dielakkan) juga kekurangan sokongan pertanyaan ciri. Blok @supports (details) akan menjadi ideal tetapi mempunyai sokongan penyemak imbas yang kurang.

Kesimpulan

Dengan struktur HTML yang betul dan gaya CSS ini, anda boleh menyesuaikan widget pendedahan anda dengan mudah. Ingat bahawa semasa menggayakan<summary></summary> Unsur -unsur adalah mudah, keserasian pembaca skrin untuk tajuk bersarang memerlukan pertimbangan.

Atas ialah kandungan terperinci Dua isu menggayakan elemen butiran dan bagaimana menyelesaikannya. 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
Bekerja dengan Caching GraphqlBekerja dengan Caching GraphqlMar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

CSS Scrollbars Custom Custom: PameranCSS Scrollbars Custom Custom: PameranMar 10, 2025 am 11:37 AM

Dalam artikel ini kita akan menyelam ke dunia scrollbars. Saya tahu, ia tidak terdengar terlalu glamor, tetapi percayalah, halaman yang direka dengan baik

Menjadikan Peralihan Svelte Khas pertama andaMenjadikan Peralihan Svelte Khas pertama andaMar 15, 2025 am 11:08 AM

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

Tunjukkan, jangan beritahuTunjukkan, jangan beritahuMar 16, 2025 am 11:49 AM

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Membina aplikasi Ethereum menggunakan redwood.js dan faunaMembina aplikasi Ethereum menggunakan redwood.js dan faunaMar 28, 2025 am 09:18 AM

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Apa yang ada perintah npm?Apa yang ada perintah npm?Mar 15, 2025 am 11:36 AM

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.

Mari kita gunakan (x, x, x, x) untuk bercakap mengenai kekhususanMari kita gunakan (x, x, x, x) untuk bercakap mengenai kekhususanMar 24, 2025 am 10:37 AM

Saya hanya berbual dengan Eric Meyer pada hari yang lain dan saya teringat cerita Eric Meyer dari tahun -tahun pembentukan saya. Saya menulis catatan blog mengenai kekhususan CSS, dan

Bagaimana anda menggunakan CSS untuk membuat kesan teks, seperti bayang -bayang teks dan kecerunan?Bagaimana anda menggunakan CSS untuk membuat kesan teks, seperti bayang -bayang teks dan kecerunan?Mar 14, 2025 am 11:10 AM

Artikel ini membincangkan menggunakan CSS untuk kesan teks seperti bayang -bayang dan kecerunan, mengoptimumkannya untuk prestasi, dan meningkatkan pengalaman pengguna. Ia juga menyenaraikan sumber untuk pemula. (159 aksara)

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)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft