本文摘自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二级导航菜单制作步骤详解的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
div css顶部固定不动的实现方法
css如何实现不显示table的边框
css按钮的大小设置
css兼容性有哪些处理方式
css如何设置背景图片的大小
css怎么设置图片的透明度
css border-collapse属性怎么用
css里一段字没有充满一行怎么办
css的选择符有哪些
css目标选择器有哪些
更多相关阅读请进入《CSS3》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » CSS3二级导航菜单制作步骤详解