导航菜单

jQuery+CSS3固定顶部菜单特效

阿里云


这是一款使用 CSS3 和少量 jQuery 代码制作的网页固定顶部菜单特效。该固定菜单特效在页面向下滚动的时候,页面顶部的 banner 区域会缩小直到消失,导航菜单则会跟着页面向下移动。配合 CSS3 过渡动画,效果非常时尚炫酷。

HTML 结构

该固定顶部菜单的 HTML 结构分为两个主要部分:一个是顶部菜单和 banner,它们用<header>元素包裹。另一个是页面的内容区域 div.wrapper。

也想出现在这里?联系我们
创客主机
  1. <header>
  2.   <h1>Sticky Header Pow!</h1>
  3.   <nav>
  4.     <a href="">Home</a>
  5.     <a href="">About</a>
  6.     <a href="">Gallery</a>
  7.     <a href="">Contact</a>
  8.   </nav>
  9. </header>
  10. <div class="wrapper">
  11.   <section id='steezy'>
  12.     <h2>......</h2>
  13.     <p>......</p>
  14.   </section>
  15.   ......
  16. </div>

CSS 样式

header 元素以固定方式定位,100%的宽度,300 像素的高度,并设置 ease 效果的 CSS3 过渡动画。

  1. header {
  2.   width: 100%;
  3.   height: 300px;
  4.   background-color: #3498db;
  5.   text-align: center;
  6.   position: relative;
  7.   position: fixed;
  8.   top: 0;
  9.   overflow: hidden;
  10.   -moz-transition: all 0.5s ease;
  11.   -o-transition: all 0.5s ease;
  12.   -webkit-transition: all 0.5s ease;
  13.   transition: all 0.5s ease;
  14. }

头部的 h1 元素在页面滚动时会跟着放大缩小,开始时为它设置 ease 效果的 CSS3 过渡动画。

  1. header h1 {
  2.   font-size: 42px;
  3.   color: #fff;
  4.   line-height: 230px;
  5.   text-transform: uppercase;
  6.   font-weight: 100;
  7.   -moz-transition: all 0.3s ease;
  8.   -o-transition: all 0.3s ease;
  9.   -webkit-transition: all 0.3s ease;
  10.   transition: all 0.3s ease;
  11. }

水平导航菜单的基本样式如下:

  1. header nav {
  2.   position: absolute;
  3.   bottom: 0;
  4.   height: 60px;
  5.   line-height: 60px;
  6.   width: 100%;
  7.   background-color: rgba(0, 0, 0, 0.1);
  8. }
  9. header nav a {
  10.   color: #fff;
  11.   display: inline-block;
  12.   padding: 10px 15px;
  13.   line-height: 1;
  14.   text-decoration: none;
  15.   -moz-border-radius: 2px;
  16.   -webkit-border-radius: 2px;
  17.   border-radius: 2px;
  18. }
  19. header nav a:hover {
  20.   -moz-box-shadow: 0 0 0 1px #fff;
  21.   -webkit-box-shadow: 0 0 0 1px #fff;
  22.   box-shadow: 0 0 0 1px #fff;
  23. }

当页面开始滚动的时候,body 元素被添加.sticky-header class,这时 header 的高度被设置为 60 像素,刚好等于水平导航菜单的高度。h1 元素则使用 transform: scale(0, 0)缩放到最小。

  1. body.sticky-header {
  2.   padding-top: 100px;
  3. }
  4. body.sticky-header header {
  5.   height: 60px;
  6.   background-color: rgba(52, 152, 219, 0.9);
  7. }
  8. body.sticky-header header h1 {
  9.   -moz-transform: scale(0, 0);
  10.   -ms-transform: scale(0, 0);
  11.   -webkit-transform: scale(0, 0);
  12.   transform: scale(0, 0);
  13. }

JavaScript

该固定顶部菜单使用 jQuery 代码来监听页面滚动事件,并在适当的时候为 body 元素添加和移除.sticky-header class。

  1. $(function () {
  2.     $(window).scroll(function () {
  3.         var winTop = $(window).scrollTop();
  4.         if (winTop >= 30) {
  5.             $('body').addClass('sticky-header');
  6.         } else {
  7.             $('body').removeClass('sticky-header');
  8.         }
  9.     });
  10. });

jQuery+CSS3 固定顶部菜单特效

已有 360 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(1)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!