当前位置: 首页 > news >正文

CSS3下拉菜单实现

导航菜单:

<nav class="multi_drop_menu"><!-- 一级开始 --><ul><li><a href="#">Power</a></li><li><a href="#">Money</a></li><li><a href="#">Love</a></li><li><a href="#">Fame</a><!-- 二级开始 --><ul><li><a href="#">Sports Star</a></li><li><a href="#">Movie Star</a></li><li><a href="#">Rock Star</a><!-- 三级开始 --><ul><li><a href="#">Bruce Springsteen</a></li><li><a href="#">Bone</a></li><li><a href="#">Mick Jagger</a></li><li><a href="#">Bob Dylan</a></li></ul><!-- 三级结束 --></li><li><a href="#">Web Designer</a></li></ul><!-- 二级结束 --></li></ul><!-- 一级结束 --></nav>

顶级菜单

样式:

1.菜单字体:1em helvetica,arial,sans-serif;

2.a链接,显示为块状撑满,字体颜色#555,背景色#eee,内边距上下0.2em左右1em,边框颜色透明。

3.a伪类悬停,字体颜色#fff,背景色#aaa.

4.a伪类点击,背景色#fff,字体颜色#ccc

5.整体菜单样式设置内边距,外边距为0.

6.菜单未排序列表为左浮动。

7.列表为左浮动,去掉点,相对定位。

8.列表中的a显示为块状,边框右侧为实线,背景延伸内边距盒子,下划线去掉。

9.最后一个a不显示右框线

10.隐藏所有低级菜单。

<style>.multi_drop_menu {font: 1em helvetica, arial, sans-serif;}.multi_drop_menu a {display: block;color: #555;background-color: #eee;padding: 0.2em 1em;border-color: transparent;}.multi_drop_menu a:hover {color: #fff;background-color: #aaa;}.multi_drop_menu a:active {background: #fff;color: #ccc;}.multi_drop_menu * {margin: 0;padding: 0;}.multi_drop_menu ul {float: left;}.multi_drop_menu li {float: left;list-style-type: none;position: relative;}.multi_drop_menu li a {display: block;border-right-style: solid;background-clip: padding-box;text-decoration: none;}.multi_drop_menu li:last-child a {border-right-style: none;}.multi_drop_menu li ul {display: none;}
</style>

菜单的下拉部分(二级菜单)

需要添加的CSS:

1.二级菜单列表宽度给字体9倍

2.二级菜单内部a去掉右边框,上边框实线。

3.二级菜单列表临时显示,显示为块状,相对于父亲绝对定位,左边与父菜单对齐,顶边与父菜单底对齐。

4.二级菜单列表项停止浮动恢复堆叠。

5.三级菜单临时隐藏。

效果:

style中增加CSS:

.multi_drop_menu li ul {width: 9em;display: none;position: absolute;left: 0;top: 100%;}.multi_drop_menu li:hover>ul {display: block;}.multi_drop_menu li li a {border-right-style: none;border-top: solid;}.multi_drop_menu li li {float: none;}

添加三级菜单

样式中增加:

.multi_drop_menu li li ul {position: absolute;left: 100%;top: 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows 版本Jenkins的Jenkinsfile中共享变量
  • 数据结构--第七天
  • 【AI绘图】基于Midjourney开发的AI绘画平台,对中文很友好!
  • Ubuntu文件操作(压缩与解压缩、用户组管理、权限)
  • 鸿蒙应用服务开发【华为支付服务】客户端
  • 剖析算法内部结构----------贪心算法
  • Arduino编译时出现extra tokens at end of #ifndef directive
  • 智能输电线路防外破监测装置:监控线行下施工保持安全距离
  • 一个简单的录音软件(利用QT录音,ffmpeg进行音频重采样,fdk-aac编码)
  • Qt 串口通信(C++)
  • 自动化报表实践小结
  • JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?
  • docker代理
  • Llama 3.1论文中文对照翻译
  • 代码随想录算法训练营Day35 | 01背包问题 | 416. 分割等和子集
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • angular2开源库收集
  • Java Agent 学习笔记
  • JavaScript 奇技淫巧
  • Redis在Web项目中的应用与实践
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从0到1:PostCSS 插件开发最佳实践
  • 关于Java中分层中遇到的一些问题
  • 经典排序算法及其 Java 实现
  • scrapy中间件源码分析及常用中间件大全
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #{}和${}的区别是什么 -- java面试
  • #define 用法
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • ${factoryList }后面有空格不影响
  • (1)STL算法之遍历容器
  • (floyd+补集) poj 3275
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)PySpark3:SparkSQL编程
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十三)Flink SQL
  • (十三)MipMap
  • (一)Neo4j下载安装以及初次使用
  • (转)Oracle存储过程编写经验和优化措施
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net framework 4.8 开发windows系统服务
  • .net 无限分类
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET牛人应该知道些什么(2):中级.NET开发人员