CSS3二级导航菜单制作步骤详解


本文摘自PHP中文网,作者php中世界最好的语言,侵删。

这次给大家带来CSS3二级导航菜单制作步骤详解,CSS3二级导航菜单制作的注意事项有哪些,下面就是实战案例,一起来看一下。

如果想要实现网页的二级导航,我们可以使用JS技术,动态的显示和隐藏二级菜单,当然也可以使用CSS技术来实现。并且这里推荐使用CSS,因为其效率更高,更流畅。这里将介绍二级菜单的动态显示与隐藏。

1 结构

一般导航的主体我们主要是使用ul li标签

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<body>

    <header>

        <!-- 一级导航开始 -->

        <nav>

            <ul class="menu">

                <li>

                    <a href="#">首页</a>

                </li>

                <li>

                    <a href="#">产品</a>

                    <!-- 二级导航开始 -->

                    <ul class="submenu">

                        <li><a href="#">小程序</a></li>

                        <li><a href="#">微信</a></li>

                        <li><a href="#">企业站</a></li>

                    </ul>

                    <!-- 二级导航结束 -->

                </li>

                <li>

                    <a href="#">服务</a>

                    <!-- 二级导航开始 -->

                    <ul class="submenu">

                        <li><a href="#">技术支持</a></li>

                        <li><a href="#">产品外包</a></li>

                    </ul>

                    <!-- 二级导航结束 -->

                </li>

                <li><a href="#">关于我们</a></li>

                <li><a href="#">人才招聘</a></li>

            </ul>

        </nav>

        <!-- 一级导航结束 -->

    </header>

</body>

2 布局

导航的布局,由于子元素要随着父元素,所以对二级菜单选取定位布局。要想让多个li在一行中显示,那么就需要让li进行浮动。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

body{margin: 0; font-size: 14px; color: #666}

    ul,ol{margin: 0;padding: 0; list-style: none;}

    a {text-decoration: none; color: #666;}

    /*一级导航*/

    /*背景色*/

    ul.menu,ul.submenu {

        background-color: #ededed;

    }

    /*一级导航浮动*/

    ul.menu::after {

        content: '';

        display: block;

        clear: both;

    }

    ul.menu > li {

        float: left;

        width: 120px;

        line-height: 3em;

        height: 3em;

        text-align: center;

        cursor:pointer;

    }

 

    /*二级导航项分割线*/

    ul.submenu {

        /*默认隐藏*/

        display: none;

    }

    ul.submenu > li {

        border-bottom: 1px solid #fff;

    }

     

    /*内容区*/

    .content {

        min-height: 800px;

        background-color: #fff;

    }

3. 二级菜单显示特效

光标放到导航上,当前元素背景色变深,字体颜色变淡。

如果有二级菜单,显示二级菜单

为了实现上述两个特效,我们可以利用伪类选择器(:hover)来捕捉光标悬浮的操作。并且使用伪类选择器(:hover)来选择到当前菜单对应的二级菜单

利用如下CSS可以快速实现该特效。

1

2

3

4

5

6

7

8

9

10

/*选中特效*/

ul.menu > li:hover {

    background-color: #666;

}

ul.menu > li:hover > a {

    color: #fff;

}

ul.menu > li:hover > ul.submenu {

    display: block;

}

4. 动画

上述代码中二级菜单的显示是瞬间的。能否提供一个缓慢动画过渡的效果,当然也是没问题。这里需要使用animation来进行动画的配置,那么动画帧可以自己写或者是寻求第三方代码库(animate.css)的支持。这里我将使用透明度来实现这个淡入效果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

/*动画帧*/

@keyframes fade {

    from {

        opacity: 0;

    }

    to {

        opacity: 1;

    }

}

/*基础动画样式*/

.animated {

    animation-duration: 1s;

    animation-fill-mode: both;

}

.fadeIn {

    animation-name: fade;

    animation-direction: normal;

}

动画定义好后,可以直接将动画样式引用到ul.submenu上,注意,如果使用的是animate.css,那么上述步骤将省略,直接用其提供好的动画样式即可。

1

2

3

4

5

6

7

<!-- 二级导航开始 -->

<ul class="submenu animated fadeIn">

    <li><a href="#">小程序</a></li>

    <li><a href="#">微信</a></li>

    <li><a href="#">企业站</a></li>

</ul>

<!-- 二级导航结束 -->

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

H5+WebWorkers多线程开发使用详解

CSS与媒体查询实现网页导航功能(附代码)

以上就是CSS3二级导航菜单制作步骤详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

vs2015如何编写css文件

css如何实现幻灯片效果

css如何使用伪元素清除浮动

css如何实现不显示元素

css中伪类是什么

如何解决eclipse css文件乱码问题

js和css文件位置对页面性能有什么影响?

CSS3绘制一个圆圆的loading转圈动画实例分享

css中的animation是什么

聊聊css 与 js 是如何阻塞 dom 解析和渲染的

更多相关阅读请进入《CSS3》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...