¿Cómo crear:收缩导航菜单在滚动时
- Página anterior Ocultar la barra de navegación al desplazarse
- Página siguiente Barra de navegación pegajosa
Aprende a ajustar el tamaño del navbar al desplazarse usando CSS y JavaScript.
¿Cómo reducir el navbar al desplazarse?
Primer paso - Añadir HTML:
Crear navbar:
<div id="navbar"> <a href="#default" id="logo">LogoDeLaCompañia</a> <div id="navbar-right"> <a class="active" href="#home">Inicio</a> <a href="#contact">Contacto</a> <a href="#about">Acerca de</a> </div> </div>
Segundo paso - Añadir CSS:
Establecer estilo del navbar:
/* Crear navbar pegajosa/fija */ padding: 20px 10px !important; /* 使用 !important 以确保 JavaScript 不会在小屏幕上覆盖内边距 */ overflow: hidden; background-color: #f1f1f1; padding: 90px 10px; /* Margen interno grande, que se reduce al desplazarse (usando JS) */ transition: 0.4s; /* Efecto de transición al reducir el margen interno */ position: fixed; /* Navbar pegajosa/fija */ width: 100%; top: 0; /* En la parte superior */ z-index: 99; } /* Establecer el estilo de los enlaces del navbar */ display: block; float: left; /* 设置活动/当前链接的样式 */ text-align: center; padding: 12px; text-decoration: none; font-size: 18px; line-height: 25px; border-radius: 4px; } /* Establecer el estilo del logo */ #navbar #logo { font-weight: bold; transition: 0.4s; /* 鼠标悬停时链接的样式 */ } #navbar a:hover { background-color: #ddd; color: black; /* 设置活动/当前链接的样式 */ } #navbar a.active { background-color: dodgerblue; color: white; /* 在右侧显示一些链接 */ } float: right; float: none; /* 添加响应能力 - 在宽度小于 580 像素的屏幕上,垂直而不是水平显示导航栏 */ } @media screen and (max-width: 580px) { #navbar { padding: 20px 10px !important; /* 使用 !important 以确保 JavaScript 不会在小屏幕上覆盖内边距 */ #navbar a { } display: block; 第三步 - 添加 JavaScript: 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"; else { } document.getElementById("navbar").style.padding = "80px 10px"; document.getElementById("logo").style.fontSize = "35px"; } }
- Página anterior Ocultar la barra de navegación al desplazarse
- Página siguiente Barra de navegación pegajosa