


Bagaimana untuk melaksanakan menu navigasi tatal lancar pada halaman web melalui CSS tulen
Cara melaksanakan menu navigasi tatal yang lancar untuk halaman web melalui CSS tulen
Membimbing pengguna untuk menavigasi dalam halaman web ialah elemen reka bentuk yang penting, dan menu navigasi tatal yang lancar ialah cara untuk menyediakan yang mesra pengguna pengalaman navigasi. Artikel ini akan memperkenalkan cara untuk melaksanakan menu navigasi sedemikian melalui CSS tulen dan memberikan contoh kod yang sepadan.
1. Struktur HTML
Pertama, kita perlu mencipta struktur asas menu navigasi dalam HTML. Berikut ialah contoh mudah:
<nav class="smooth-scroll-nav"> <ul class="smooth-scroll-menu"> <li><a href="#section1">Section 1</a></li> <li><a href="#section2">Section 2</a></li> <li><a href="#section3">Section 3</a></li> <li><a href="#section4">Section 4</a></li> </ul> </nav> <section id="section1"> <h2 id="Section">Section 1</h2> <p>This is the content of section 1.</p> </section> <section id="section2"> <h2 id="Section">Section 2</h2> <p>This is the content of section 2.</p> </section> <section id="section3"> <h2 id="Section">Section 3</h2> <p>This is the content of section 3.</p> </section> <section id="section4"> <h2 id="Section">Section 4</h2> <p>This is the content of section 4.</p> </section>
Dalam contoh di atas, kami mencipta elemen <nav></nav>
sebagai bekas untuk menu navigasi, dan kemudian menambah <ul di dalamnya the> elemen bertindak sebagai senarai menu, dengan item menu yang sepadan ditambah. Seterusnya, kami menggunakan elemen <code><section></section>
untuk mencipta kandungan setiap bahagian, dengan atribut id
adalah sama dengan atribut href
dalam item menu yang sepadan. <nav></nav>
元素作为导航菜单的容器,然后在其中添加了一个<ul></ul>
元素作为菜单的列表,并添加了对应的菜单项。接下来,我们使用<section></section>
元素来创建每个板块的内容,其中的id
属性与菜单项中的href
属性相对应。
二、CSS样式
接下来,我们将使用CSS来创建平滑滚动的效果。首先,我们需要在导航菜单上应用一些基本的样式:
.smooth-scroll-nav { position: fixed; top: 0; left: 0; width: 100%; background-color: #333; padding: 10px 0; } .smooth-scroll-menu { list-style: none; margin: 0; padding: 0; text-align: center; } .smooth-scroll-menu li { display: inline-block; margin-right: 15px; } .smooth-scroll-menu li:last-child { margin-right: 0; } .smooth-scroll-menu a { color: #fff; text-decoration: none; padding: 5px 10px; } .smooth-scroll-menu a:hover { background-color: #fff; color: #333; }
在上面的代码中,我们向导航菜单容器添加了position: fixed;
属性,使其固定在页面的顶部。然后,设置了相应的背景颜色、内边距和字体颜色等样式。接下来,我们使用inline-block
布局将菜单项水平显示,并添加了一些间距和悬停效果。
接下来,我们将添加一个平滑滚动的效果。我们将使用CSS的scroll-behavior
属性来实现这个效果。在某些情况下,浏览器可能不支持这个属性,所以我们还需要为不支持的浏览器提供一个回退方案。
html { scroll-behavior: smooth; } @media screen and (-webkit-min-device-pixel-ratio:0) { /* 回退方案:使用jQuery滚动动画 */ .smooth-scroll-nav a { transition: all 0.3s ease-in-out; } .smooth-scroll-nav a[href^="#"] { position: relative; } .smooth-scroll-nav a[href^="#"]:after { content: ""; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background-color: #fff; transition: all 0.3s ease-in-out; transform: translateX(-50%); } .smooth-scroll-nav a[href^="#"]:hover:after, .smooth-scroll-nav a[href^="#"]:focus:after { width: 100%; } }
在上面的代码中,我们首先使用scroll-behavior: smooth;
应用平滑滚动的效果。然后,我们使用@media
查询来为不支持scroll-behavior
属性的浏览器提供一个回退方案。
在回退方案中,我们为菜单项添加了一个过渡效果,使其在鼠标悬停时有一个下划线的效果。我们使用::after
伪元素来创建这个下划线,并使用过渡效果来实现动画。通过相应的transition
属性,我们实现了下划线的展开和收缩。
三、JavaScript附加功能
如果要在不支持scroll-behavior
属性的浏览器中实现平滑滚动的效果,我们还可以使用JavaScript来实现。以下是一个使用jQuery库的示例代码:
$(function() { $('a[href^="#"]').on('click', function(e) { e.preventDefault(); var target = $(this.getAttribute('href')); if (target.length) { $('html, body').stop().animate({ scrollTop: target.offset().top }, 1000); } }); });
在上面的代码中,我们使用了jQuery的animate
函数来实现平滑滚动的效果。当点击一个菜单项时,我们首先阻止了默认的的跳转行为,然后使用offset()
函数获取目标元素的位置,并通过animate
position: fixed;
pada bekas menu navigasi supaya ia ditetapkan di bahagian atas daripada halaman. Kemudian, tetapkan warna latar belakang, padding, warna fon dan gaya lain yang sepadan. Seterusnya, kami menggunakan reka letak inline-block
untuk memaparkan item menu secara mendatar dan menambah beberapa kesan jarak dan tuding. 🎜🎜Seterusnya, kami akan menambah kesan tatal yang lancar. Kami akan menggunakan sifat scroll-behavior
CSS untuk mencapai kesan ini. Dalam sesetengah kes, penyemak imbas mungkin tidak menyokong atribut ini, jadi kami juga perlu menyediakan penyelesaian sandaran untuk penyemak imbas yang tidak menyokongnya. 🎜rrreee🎜Dalam kod di atas, kami mula-mula menggunakan kesan tatal lancar menggunakan scroll-behavior: smooth;
. Kami kemudian menggunakan pertanyaan @media
untuk memberikan sandaran untuk penyemak imbas yang tidak menyokong atribut scroll-behavior
. 🎜🎜Dalam penyelesaian sandaran, kami menambah kesan peralihan pada item menu supaya ia mempunyai kesan garis bawah apabila tetikus dilegar. Kami menggunakan elemen pseudo ::after
untuk mencipta garis bawah ini dan menggunakan kesan peralihan untuk menghidupkannya. Melalui atribut transition
yang sepadan, kami menyedari pengembangan dan pengecutan garis bawah. 🎜🎜3. Fungsi tambahan JavaScript🎜🎜Jika anda ingin mencapai penatalan lancar dalam penyemak imbas yang tidak menyokong atribut scroll-behavior
, kami juga boleh menggunakan JavaScript untuk mencapainya. Berikut ialah contoh kod menggunakan perpustakaan jQuery: 🎜rrreee🎜Dalam kod di atas, kami menggunakan fungsi animate
jQuery untuk mencapai kesan tatal yang lancar. Apabila mengklik item menu, kami mula-mula menghalang tingkah laku lompat lalai, kemudian gunakan fungsi offset()
untuk mendapatkan kedudukan elemen sasaran dan melaksanakan halaman melalui animate
fungsi menatal. 🎜🎜Ini melengkapkan pelaksanaan menu navigasi tatal yang lancar berdasarkan CSS tulen. Menggunakan kaedah ini, kami boleh menyediakan pengalaman navigasi yang lancar untuk halaman web dan mengawal penampilan dan tingkah laku keseluruhan menu melalui penggayaan CSS. 🎜Atas ialah kandungan terperinci Bagaimana untuk melaksanakan menu navigasi tatal lancar pada halaman web melalui CSS tulen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Tapak baru yang menarik yang dipanggil markup baru dilancarkan. Tagline: Big Tech memerhatikan anda. Kami menonton Big Tech. Kerja hebat dari upstatement. The

Saya menyiarkan mengenai menghuraikan suapan RSS di JavaScript pada hari yang lain. Saya juga menyiarkan persediaan RSS saya bercakap tentang bagaimana Feedbin berada di tengah -tengahnya.

Ketahui cara membuat blok codepen tersuai dengan pratonton untuk Sanity Studio, yang diilhamkan oleh pelaksanaan Chris Coyier untuk editor Gutenberg WordPress.

Barisan, bar, dan carta pai adalah roti dan mentega papan pemuka dan merupakan komponen asas dari mana -mana toolkit visualisasi data. Pasti, anda boleh menggunakan SVG

Kami sentiasa mencari untuk menjadikan web lebih mudah diakses. Kontras warna hanya matematik, jadi Sass dapat membantu menutup kes -kes kelebihan yang mungkin dilewatkan oleh para pereka.

Tartan adalah kain berpola yang biasanya dikaitkan dengan Scotland, terutamanya kilt bergaya mereka. Di Tartanify.com, kami mengumpulkan lebih dari 5,000 Tartan

Tidak lama dahulu, saya menyiarkan mengenai templat PHP hanya dalam PHP (yang pada dasarnya adalah sintaks Heredoc). Saya secara literal menggunakan teknik itu untuk beberapa asas super

Pernahkah anda mengklik pada imej di laman web yang membuka versi imej yang lebih besar dengan navigasi untuk melihat foto lain?


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan