CSS3实现二级菜单
来源:互联网 发布:评价测光和矩阵测光 编辑:程序博客网 时间:2024/04/30 04:56
今天看了一个demo,原demo虽说是CSS3实现,但其中也使用了js,再一个里面的代码有些地方,我觉得还可以优化 ,所以自己就尝试着用css3实现一下
我想说: 不论写一个多么炫酷的demo,z-index的值都最好不要超过2
下面是源码:
html部分
<div class="sidebar"> <h1><i class="fa fa-bars push"></i>Animated <span class="color">Menu</span></h1> <ul> <li><a href="#"><i class="fa fa-dashboard push"></i>Dashboard<i class="fa fa-angle-right"></i></a><span class="hover"></span> </li> <li><a href="#"><i class="fa fa-user push"></i>Users<i class="fa fa-angle-right"></i></a><span class="hover"></span> <ul class="sub-menu"> <li><a href="#">Add User<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> <li><a href="#">Manage Users<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> </ul> </li> <li><a href="#"><i class="fa fa-cog push"></i>Settings<i class="fa fa-angle-right"></i></a><span class="hover"></span> <ul class="sub-menu"> <li><a href="#">Dashboard Settings<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> <li><a href="#">Profile Settings<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> <li><a href="#">Manage Menu<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> <li><a href="#">User Profiles<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> </ul> </li> <li><a href="#"><i class="fa fa-picture-o push"></i>appearance<i class="fa fa-angle-right"></i></a><span class="hover"></span> <ul class="sub-menu"> <li><a href="#">Change Theme<i class="fa fa-angle-right"></i></a><span class="hover"></span> </li> <li><a href="#">Theme Options<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> </ul> </li> <li><a href="#"><i class="fa fa-file push"></i>Information<i class="fa fa-angle-right"></i></a><span class="hover"></span> <ul class="sub-menu"> <li><a href="#">Latest News<i class="fa fa-angle-right"></i></a><span class="hover"></span> </li> <li><a href="#">Recent Articles<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> </ul> </li> <li><a href="#"><i class="fa fa-plane push"></i>Contact<i class="fa fa-angle-right"></i></a><span class="hover"></span></li> </ul> </div>
css部分
* { padding: 0; margin: 0; font-family: "microsoft yahei" } a { color: #000; text-decoration: none; } ul { list-style: none } i { margin-right: 15px; } html,body { background-color: #808080; height: 100%; } .sidebar { background: url(img/menu_pattern_1.png); width: 200px; height: 100%; border-right: 10px solid #d00355; color: #fff; padding-left: 40px; } .sidebar h1 { font-size: 16px; height: 80px; line-height: 80px; } .sidebar h1 .color { color: #d00355; } .sidebar ul li { padding: 8px; } .sidebar ul li a { color: #6B6363; position: relative; z-index: 1; } .sidebar ul li a .fa-angle-right { position: absolute; left: 160px; top: 4px; } .sidebar ul li .hover { display: block; position: absolute; width: 0; height: 37px; margin-top: -30px; margin-left: -8px; z-index: 0; background-color: #d00355; opacity: 0; transition: all .5s .1s; } .sidebar ul li .sub-menu { display: block; background: url(img/menu_pattern_1.png); position: absolute; margin-left: 192px; margin-top: -31px; width: 200px; opacity: 0; } .sidebar > ul > li:hover ul { opacity: 1; } .sidebar ul li:hover .hover { width: 200px; opacity: 1; } .sidebar > ul > li:hover a{ color: #fff; }
2、对于class为sub-menu的ul中的span,当我将鼠标滑过li标签时,li标签会出现span的宽度由0到200的效果,但是class为sub-menu的ul中的span却不会出现类似的效果,在测试时,如果将sub-menu的display属性设置为block,那麽滑过相应的li时,sub-menu中的span会出现想要的效果,当时很是着急,想来想去,问题可能出现在display这个属性上,虽然找不到具体的原因是什么,只能找对应的解决办法,有其他的属性,可以让一个元素从无变有吗?有opcity属性,于是将display的变化,改为了opcity的变化,想要的效果就出现了,用display,出现不了想要的效果,得原因是什么?需要去查查。。。
PS:css未做前缀的处理,所有的测试在最新版本的谷歌浏览器下进行
补充:
修改一下二级菜单中的字体大小,
text-transform 属性控制文本的大小写,值none/capitalize/uppercase/lowercase/inherit
0 0
- CSS3实现二级菜单
- CSS3 二级菜单
- 二级菜单实现
- ListView实现二级菜单
- 实现二级Menu菜单
- jquery实现二级菜单
- 实现伸缩二级菜单
- css实现二级菜单
- android 二级菜单实现
- 实现伸缩二级菜单
- HTML实现二级菜单
- 二级菜单的实现
- 简单二级菜单实现
- tableView实现二级菜单
- 二级菜单的实现
- CSS实现二级菜单
- swing 菜单+右键菜单+二级菜单实现
- CSS3实现立体菜单
- Android Studio使用Lint进行代码检查
- iOS Alcatraz 插件管理
- Howto:从C++对象指针得到类名
- Javascript中的对象和原型(三)(转载)
- 彻底解决GDI对象泄漏的问题
- CSS3实现二级菜单
- 把Excel数据导入到MySQL中
- Android设置界面与通知栏裁剪
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- C++走向远洋——65(十五周、项目一)
- 51nod 1031 骨牌覆盖
- 权当是日记吧
- CentOS关闭休眠和屏保模式
- Kotlin在Android工程中的应用