文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用CSS3怎么制作一个二级导航菜单

2023-06-08 09:04

关注

这篇文章给大家介绍使用CSS3怎么制作一个二级导航菜单,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1 结构

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

<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进行浮动。

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可以快速实现该特效。

        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)的支持。这里我将使用透明度来实现这个淡入效果

        @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,那么上述步骤将省略,直接用其提供好的动画样式即可。

<!-- 二级导航开始 -->        <ul class="submenu animated fadeIn">            <li><a href="#">小程序</a></li>            <li><a href="#">微信</a></li>            <li><a href="#">企业站</a></li>        </ul>        <!-- 二级导航结束 -->

关于使用CSS3怎么制作一个二级导航菜单就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯