


Bagaimana untuk membuat menu dropdown animasi CSS sahaja dengan ikon?
Aug 01, 2025 am 07:36 AMYa, anda boleh membuat menu drop-down bebas ikon dengan ikon menggunakan CSS. 1. Gunakan struktur HTML semantik untuk memasukkan ikon UL dan font yang hebat; 2. Tetapkan gaya asas, kesan peralihan dan menyembunyikan kandungan drop-down melalui CSS; 3. Penggunaan: Hover dan: Fokus-fokus untuk mencapai paparan drop-down bebas JavaScript dan animasi putaran ikon, dan menyokong navigasi papan kekunci, akhirnya melaksanakan menu drop-down animasi CSS yang indah dan boleh diakses.
Mewujudkan menu dropdown animasi CSS sahaja dengan ikon benar-benar boleh dilakukan-dan ia kelihatan hebat tanpa memerlukan mana-mana JavaScript. Berikut adalah cara untuk membina satu menggunakan HTML semantik, CSS (dengan :hover
atau :focus
), peralihan, dan fon ikon pilihan seperti Font Awesome.

? 1. Struktur HTML
Mulakan dengan struktur HTML yang bersih dan boleh diakses menggunakan senarai yang tidak teratur. Kami akan menggunakan bersarang <ul></ul>
untuk submenus dan memasukkan ikon melalui font hebat (melalui CDN untuk kesederhanaan).
<nav class = "dropdown-menu"> <ul> <li> <a href = "#"> <i class = "fas fa-home"> </i> home </a> </li> <li> <a href = "#" class = "dropdown-toggle"> <i class = "fas fa-th-large"> </i> Perkhidmatan <i class = "fas fa-chevron-down toggle-icon"> </i> </a> <ul class = "dropdown-content"> <li> <a href = "#"> <i class = "fas fa-cog"> </i> reka bentuk web </a> </li> <li> <a href = "#"> <i class = "fas fa-paint-brush"> </i> ui/ux </a> </li> <li> <a href = "#"> <i class = "fas fa-server"> </i> hosting </a> </li> </ul> </li> <li> <a href = "#"> <i class = "fas fa-user"> </i> tentang </a> </li> <li> <a href = "#"> <i class = "fas fa-envelope"> </i> Hubungi </a> </li> </ul> </nav>
? Sertakan fon hebat di
<head>
:<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
? 2. Gaya menu dengan CSS
Sekarang gunakan gaya untuk mencipta dropdown mendatar atau menegak dengan animasi yang lancar.
/ * Reset dan gaya asas */ .dropdown-menu ul { Senarai gaya: Tiada; Margin: 0; Padding: 0; Latar Belakang: #2C3E50; Font-Family: 'Segoe Ui', Sans-Serif; } .dropdown-menu> ul { Paparan: Flex; Flex-arah: baris; / * Menu mendatar */ } .dropdown-menu a { Paparan: Flex; Align-item: pusat; Warna: #ECF0F1; Teks-penyerapan: Tiada; Padding: 12px 16px; Peralihan: Latar belakang 0.3s mudah, warna 0.3s mudah; } .dropdown-menu A: hover, .dropdown-menu A: fokus { Latar Belakang: #34495E; Warna: #ffff; } / * Dropdown togol anak panah */ .dropdown-toggle { Kedudukan: Relatif; } .toggle-icon { margin-kiri: 8px; Peralihan: Transformasi 0.3s mudah; }
? 3. Buat dropdown CSS sahaja dengan hover/fokus
Gunakan :hover
atau :focus-within
untuk menunjukkan submenu. :focus-within
lebih mudah diakses (keyboard-friendly).

/ * Menyembunyikan kandungan jatuh turun secara lalai */ .dropdown-content { Kedudukan: Mutlak; Atas: 100%; Kiri: 0; Lebar: 200px; Latar Belakang: #34495E; Kelegapan: 0; Keterlihatan: Tersembunyi; Transform: Translatey (-10px); Peralihan: Opacity 0.3s mudah, penglihatan 0.3s mudah, mengubah 0.3s mudah; Padding: 0; Senarai gaya: Tiada; kotak bayang-bayang: 0 4px 10px rgba (0, 0, 0, 0.2); Z-indeks: 100; } / * Tunjukkan dropdown pada hover atau fokus */ li: hover .dropdown-content, Li: fokus-within.dropdown-content { Kelegapan: 1; Keterlihatan: kelihatan; Transform: Translate (0); } / * Putar chevron turun apabila dibuka */ li: hover .toggle-icon, Li: fokus-within.toggle-icon { Transform: berputar (180deg); } / * Pautan dropdown gaya */ .dropdown-content a { Padding: 12px 16px; saiz font: 14px; } .dropdown-content a: hover { Latar Belakang: #3B536B; }
? Petua: Gunakan
focus-within
supaya pengguna boleh tab melalui menu dengan papan kekunci-kebolehcapaian yang lebih baik.
? Pilihan: Jadikannya menegak
Tukar flex-direction: column
dan laraskan kedudukan:
.dropdown-menu> ul { flex-arah: lajur; } .dropdown-content { Kedudukan: Statik; / * Timbunan di bawah dalam susun atur menegak */ Kelegapan: 1; Keterlihatan: kelihatan; Transform: Tiada; Max-Height: 0; Limpahan: Tersembunyi; Peralihan: Max-tinggi 0.4s mudah; } li: hover .dropdown-content, Li: fokus-within.dropdown-content { Max-Height: 200px; }
? Petua Akhir
- Ikon : Gunakan fon hebat, ikon bahan, atau SVG sebaris.
- Kebolehcapaian : Sentiasa menguji dengan navigasi papan kekunci (
Tab
,Enter
). - Prestasi : Peralihan CSS ringan dan licin.
- Mudah alih? Ini berasaskan hover, jadi pertimbangkan pertanyaan media atau alternatif mesra sentuhan (yang biasanya memerlukan JS).
Itu sahaja! Anda mendapat tidur, menu dropdown animasi dengan ikon - semuanya dengan CSS tulen. Tiada JavaScript diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk membuat menu dropdown animasi CSS sahaja dengan ikon?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kaedah teras untuk membina fungsi perkongsian sosial dalam PHP adalah untuk menghasilkan pautan perkongsian secara dinamik yang memenuhi keperluan setiap platform. 1. Mula -mula dapatkan halaman semasa atau URL dan maklumat artikel yang ditentukan; 2. Gunakan urlencode untuk menyandikan parameter; 3. Sambutan dan menjana pautan perkongsian mengikut protokol setiap platform; 4. Pautan paparan di hujung depan untuk pengguna mengklik dan berkongsi; 5. Dinamik menghasilkan tag OG pada halaman untuk mengoptimumkan paparan kandungan perkongsian; 6. Pastikan untuk melepaskan input pengguna untuk mencegah serangan XSS. Kaedah ini tidak memerlukan pengesahan yang kompleks, mempunyai kos penyelenggaraan yang rendah, dan sesuai untuk kebanyakan keperluan perkongsian kandungan.

1. Memaksimumkan nilai komersil sistem komen memerlukan menggabungkan pengiklanan pengiklanan asli, perkhidmatan nilai tambah pengguna (seperti memuat naik gambar, komen top-up), mempengaruhi mekanisme insentif berdasarkan kualiti komen, dan pematuhan data pengewangan data tanpa nama; 2. Strategi audit harus mengadopsi gabungan penapisan kata kunci dinamik pra-audit dan mekanisme pelaporan pengguna, ditambah dengan penarafan kualiti komen untuk mencapai pendedahan hierarki kandungan; 3. Anti-brushing memerlukan pembinaan pertahanan berbilang lapisan: Recaptchav3 Pengesahan tanpa sensor, Honeypot Honeypot Field Robot, IP dan Had Frekuensi Timestamp menghalang penyiraman, dan pengiktirafan corak kandungan menandakan komen yang mencurigakan, dan terus berurusan dengan serangan.

Peranan utama homebrew dalam pembinaan persekitaran MAC adalah untuk memudahkan pemasangan dan pengurusan perisian. 1. Homebrew secara automatik mengendalikan kebergantungan dan merangkumi kompilasi kompleks dan proses pemasangan ke dalam arahan mudah; 2. Menyediakan ekosistem pakej perisian bersatu untuk memastikan penyeragaman lokasi pemasangan perisian dan konfigurasi; 3. Mengintegrasikan fungsi pengurusan perkhidmatan, dan dengan mudah boleh memulakan dan menghentikan perkhidmatan melalui brewservices; 4. Menaik taraf dan penyelenggaraan perisian yang mudah, dan meningkatkan keselamatan dan fungsi sistem.

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Thevertikal-alignpropertyincsunsignsinlineortable-cellelsementsvertically.1.itadjustSelementsLikeimagesorforminputswithIntextlinesingvaluesebaseline, Middle, Super, andSub.2.INTablecells, itControlscontentalignmentwith, Orbottomeses, STERSTOMENTIGES

Accent-color adalah atribut yang digunakan dalam CSS untuk menyesuaikan warna-warna sorot elemen bentuk seperti kotak pilihan, butang radio dan slider; 1. Ia secara langsung mengubah warna lalai keadaan yang dipilih dari kawalan borang, seperti menukar tanda semak biru kotak semak menjadi merah; 2. Unsur yang disokong termasuk kotak input Type = "Checkbox", Type = "Radio" dan Type = "Range"; 3. Menggunakan warna aksen boleh mengelakkan gaya tersuai kompleks dan struktur dom tambahan, dan mengekalkan kebolehcapaian asli; 4. Ia umumnya disokong oleh pelayar moden, dan pelayar lama perlu diturunkan; 5. Set Accent-Col

Csstransitionsenablesmoothpropertychangeswithminimalcode, idealforhovereffectsandinteractivefeedback.1.usethesyntaxTransition: propertyDurationTiming-functionDelay;

Untuk menukar warna teks dalam CSS, anda perlu menggunakan atribut warna; 1. Gunakan atribut warna untuk menetapkan warna latar depan teks, nama warna yang menyokong (seperti merah), kod heksadesimal (seperti #FF0000), nilai RGB (seperti RGB (255,0,0)), nilai HSL (0,100% RGBA (255,0,0,0.5)); 2. Anda boleh memohon warna ke mana -mana elemen yang mengandungi teks, seperti tajuk H1 hingga H6, perenggan P, pautan A (perhatikan tetapan warna dari keadaan yang berlainan: pautan, a: dilawati, A: hover, a: aktif), butang, div, span, dan sebagainya; 3. Kebanyakan
