博主信息
博文 3
粉丝 0
评论 0
访问量 2536
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
编写一个专业实用的导航下拉菜单的过程
海豚
原创
753人浏览过

从昨天朱老师的教导下我们首页明白要完成需要用到什么

  1. HTML 中的 ul li a这样的结构 并且里面下拉的话还在li下面创建ul
  2. CSS中样式表 需要用到 margin 颜色 等
  3. 和JavaScript中的 事件监听和代理 PS:有点难理解

个人理解

  1. 1. 首先ul+li 是个无序列表 并且还可以在里面套列表 ul
  2. 2. ol+li 是一个有序列表 1 2 3 A B
  3. 3. dt dl dd 是一个自定义列表 友联中常有用到
  4. 4. a标签可以用来跳转包含各种协议开头的跳转 herf来配合使用
  5. 4.1 还有描点等功能 并且可以在很多Html标签配合使用 如列表
  6. 5. 今天CSS讲的一下单词
  7. 5.1 position 位置; 方位; 地点; 姿势; 位置安排; 安置方式; 处境; 状况; 观点; 立场; 头寸; 额度; 持有状态; 命题; 原则; 主张
  8. 5.2 static static (静态定位):默认值。没有定位,元素出现在正常的流中
  9. 5.3 position:static; 常这样组合使用
  10. 5.4 border 边框 solid 样式 border:1px solid #000 这样使用
  11. 5.5 height 高度 width 宽度 px像素 ev 可视化窗口高度(viewport)
  12. 5.6 相对定位:元素相对于自己在文档流中的原始位置偏移
  13. 5.7 position 代表定位 relative 代表相对定位
  14. 5.8 top 高度 往下移 left 左边 往右移
  15. 5.9 相对于自己进行定位
  16. 5.10 position 代表定位 值是绝对定位 absolute
  17. 5.11 绝对定位 是相当于当前窗口定位 body 或者上一级
  18. 5.12 body默认就是所有定位的参考 relative
  19. 5.13 绝对定位一定要有参照物 上级或者父级 没有默认就是body
  20. 5.14 “盒模型”中的元素之一是margin,即盒子周围的透明区域,它会将其他元素从盒子内容中推开。
  21. 5.15 等等等还不是特别明白

htm源码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. /* 边 盒模型 */
  9. * {
  10. margin: 0;
  11. /* 小圆点消失了 */
  12. /* padding 内边距 */
  13. padding:0;
  14. /* 规定两个并排的带边框的框: */
  15. box-sizing: border-box;
  16. }
  17. /* 设置a元素的颜色 */
  18. a{color: #bbb;
  19. /* 设置 元素的文本修饰: */
  20. text-decoration: none;}
  21. /* 设置唯一ID属性 */
  22. #nav{
  23. background-color:#000;
  24. height:50px;
  25. line-height:50px;
  26. }
  27. li{
  28. /* 把图像设置为列表中的列表项目标记 */
  29. list-style: none;
  30. /* 边 盒模型 */
  31. margin: 0 10px;
  32. /* 左浮动 */
  33. float: left;
  34. }
  35. /* 从#nav、定位进去li在定位进a标签加个鼠标效果 */
  36. #nav>li>a:hover {
  37. color: white;
  38. }
  39. /* 定位到nav的第一层li */
  40. #nav>li{
  41. /*position 代表定位 relative 代表相对定位 */
  42. position: relative;
  43. }
  44. /* 定位到nav的第一层li的里面的ul */
  45. #nav>li>ul{
  46. /*position 代表定位 absolute 代表绝对定位 */
  47. position: absolute;
  48. /* top高度 向下移 */
  49. top:50px;
  50. /* 宽度 */
  51. width:180px;
  52. /* 边框 样式 颜色 */
  53. border: 1px solid #aaa;
  54. /* 设置上边框的样式 */
  55. border-top: none;
  56. }
  57. #nav>li>ul>li a{
  58. display: inline-block;
  59. height: 50px;
  60. color: #444;
  61. }
  62. #ul.sub li:hover{
  63. background-color: #eee;
  64. }
  65. /* 初始化不要显示子菜单 */
  66. #nav>li>ul{
  67. display: none;
  68. }
  69. </style>
  70. </head>
  71. <body>
  72. <ul id="nav">
  73. <li> <a href="">首页</a></li>
  74. <li> <a href="">视频教程</a></li>
  75. <li> <a href="">资源下载</a>
  76. <ul>
  77. <li> <a href="">PHP工具</a></li>
  78. <li> <a href="">在线手册</a></li>
  79. <li> <a href="">学习课件</a></li>
  80. <li> <a href="">网站源码</a></li>
  81. </ul>
  82. <li> <a href="">社区问答</a> </li>
  83. <li> <a href="">技术文章</a>
  84. <ul>
  85. <li> <a href="">头条</a> </li>
  86. <li> <a href="">博客</a> </li>
  87. <li> <a href="">PHP教程</a> </li>
  88. <li> <a href="">PHP框架</a> </li>
  89. </ul></li></li>
  90. </body>
  91. <script>
  92. //获取所有的主导航
  93. const navs = document.querySelectorAll("#nav > li");
  94. navs.forEach(function (nav) {
  95. // 鼠标移入时,显示子菜单
  96. nav.addEventListener('mouseover',shouwSunMenu);
  97. // 鼠标移出时, 关闭子菜单
  98. nav.addEventListener('mouseout',closewSunMenu);
  99. });
  100. // 显示子菜单
  101. function shouwSunMenu(ev){
  102. console.log(ev.target);
  103. // 当前这个导航栏有没有子菜单
  104. if(ev.target.nextElementSibling !== null){
  105. ev.target.nextElementSibling.style.display = "block";
  106. }
  107. }
  108. // 关掉子菜单
  109. function closewSunMenu(ev){
  110. if(ev.target.nodeName === "A" && ev.target.nextElementSibling !== null){
  111. ev.target.nextElementSibling.style.display = "none";
  112. } }
  113. </script>
  114. </html>

总结

  1. CSS能理解 不熟练
  2. Javascript 还是有点懵 最近还是要加强
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:看来你是认真的把视频看了不止一遍
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学