如何创建:滚动时收缩导航菜单
- الصفحة السابقة إخفاء القائمة المتشابكة عند التمرير
- الصفحة التالية القائمة المتشابكة الملتصقة
学习如何使用 CSS 和 JavaScript 在滚动时调整导航栏的大小。
如何在滚动时缩小导航栏
第一步 - 添加 HTML:
创建导航栏:
<div id="navbar"> <a href="#default" id="logo">CompanyLogo</a> <div id="navbar-right"> <a class="active" href="#home">Home</a> <a href="#contact">Contact</a> <a href="#about">About</a> </div> </div>
第二步 - 添加 CSS:
设置导航栏样式:
/* 创建粘性/固定导航栏 */ #navbar { الإفراط: لا-يوجد; لون-الخلفية: #f1f1f1; ملء-النص: 90px 10px; /* 较大的内边距,在滚动时会缩小(使用 JS) */ انتقال: 0.4s; /* 当内边距减小时添加过渡效果 */ وضع: ثابت; /* 粘性/固定导航栏 */ عرض: 100%; الاعلى: 0; /* 在顶部 */ مستوى-الترتيب: 99; } /* 设置导航栏链接的样式 */ #navbar a { على-اليسار; color: black; توجيه-النص: الوسط; ملء-النص: 12px; تزيين-النص: لا-يوجد; حجم-الخط: 18px; ارتفاع-الخط: 25px; حجم-الراديوس: 4px; } /* 设置 logo 的样式 */ #navbar #logo { font-size: 35px; font-weight: bold; transition: 0.4s; } /* نمط الروابط عند التمرير فوقها بالفأرة */ #navbar a:hover { background-color: #ddd; color: black; } /* تعيين نمط الروابط النشطة/الحالية */ #navbar a.active { background-color: dodgerblue; color: white; } /* عرض بعض الروابط في الجانب الأيمن */ #navbar-right { float: right; } /* إضافة استجابة - على الشاشات ذات العرض أقل من 580 بكسل، يتم عرض قائمة التوجيه بشكل عمودي بدلاً من الأفقية */ @media screen and (max-width: 580px) { #navbar { padding: 20px 10px !important; /* يستخدم !important للتأكد من أن JavaScript لن يغطي الحشوة على الشاشات الصغيرة */ } #navbar a { float: none; display: block; text-align: left; } #navbar-right { float: none; } }
الخطوة الثالثة - إضافة JavaScript:
// عند تمرير المستخدم من أعلى المستند إلى الأسفل بـ 80 بكسل، يتم تعديل حشوة قائمة التوجيه و حجم الخط الرمزية window.onscroll = function() {scrollFunction()}; function scrollFunction() { if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) { document.getElementById("navbar").style.padding = "30px 10px"; document.getElementById("logo").style.fontSize = "25px"; } document.getElementById("navbar").style.padding = "80px 10px"; document.getElementById("logo").style.fontSize = "35px"; } }
- الصفحة السابقة إخفاء القائمة المتشابكة عند التمرير
- الصفحة التالية القائمة المتشابكة الملتصقة