Blogger Information
Blog 3
fans 0
comment 0
visits 2325
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
链接与列表知识及导航小示例
贝塔
Original
627 people have browsed it

链接

  1. a标签的打开方式,用target属性定义
    • 默认。在相同的框架中打开被链接文档。
      1. <a href="www.php.cn" target="_self"></a>
    • 在新窗口中打开被链接文档。
      1. <a href="www.php.cn" target="_blank"></a>
    • 在父框架集中打开被链接文档。
      1. <a href="www.php.cn" target="_parent"></a>
    • 在整个窗口中打开被链接文档。
      1. <a href="www.php.cn" target="_top"></a>
  2. 使用a标签进行文件下载:当href中的地址指向一个文件时
    可以用download属性定义文件名称
    1. <a href="a.png" download="img下载.png"></a>
  3. 使用a标签进行拨打电话:在href中使用tel:电话号格式
    1. <a href="tel:18345678901">18345678901</a>
  4. 使用a标签进行调整到邮箱:在href中使用tomail:邮箱格式
    1. <a href="tomail:demo@163.com">demo@163.com</a>
  5. 用a标签与id设置锚点
    1. <a href="#bottom">到达底部</a>
    2. <p>文本</p>
    3. .......
    4. <p id="bottom">底部</p>

列表

  1. 无序列表:ul+li
    1. <ul>
    2. <li>首页</li>
    3. <li>php工具</li>
    4. <li>视频课程</li>
    5. </ul>
  2. 有序列表:ol+li
    1. <ol>
    2. <li>html/css</li>
    3. <li>javascript</li>
    4. <li>php</li>
    5. </ol>
  3. 自定义列表:dl+dt+dd
    1. <dl>
    2. <dt>前端</dt>
    3. <dd>html</dd>
    4. <dd>css</dd>
    5. <dd>js</dd>
    6. <dt>服务端</dt>
    7. <dd>php</dd>
    8. <dd>java</dd>
    9. <dd>c</dd>
    10. <dt>数据库</dt>
    11. <dd>memcacheed</dd>
    12. <dd>redis</dd>
    13. <dd>mysql</dd>
    14. </dl>

定位

  1. 默认:static,静态定位/文档流定位
    元素未设置position属性时,默认是以文档流的顺序进行排列
    文档流:按照书写顺序
  2. 相对定位
    元素相对于自己在文档流中原始位置相对偏移
    1. p{
    2. position:relative;
    3. top:50 px;
    4. left:30px;
    5. }
  3. 绝对定位
    元素找到距离最近的具有定位属性的父级元素相对偏移。如果父级中都没有定位属性,则相对于body偏移
    1. p{
    2. position:absolute;
    3. top:50 px;
    4. left:30px;
    5. }

事件监听与事件代理

  1. 事件属性
    1. <button onclick="console.log(this.innerText)">按钮</button>
  2. 对象属性
    1. <button>按钮</button>
    2. <script>
    3. document.querySelectorAll('button')[0].onclick=function(){
    4. console.log(this.innerText);
    5. }
    6. </script>
    注:当用对象属性方式对同一个元素绑定了对个相同事件时,只有最后的事件有效
  3. 事件监听器
    1. <button>按钮</button>
    2. <script>
    3. const btn=document.querySelectorAll('button')[0];
    4. btn.addEventListener('click',function(){
    5. console.log('第一次点击');
    6. })
    7. btn.addEventListener('click',function(){
    8. console.log('第二次点击');
    9. })
    10. </script>
    注:两次事件都会触发
  4. 事件的触发阶断
    冒泡:从内层到外层(默认值)
    1. <div>
    2. <li><a href="">点击</a></li>
    3. </div>
    4. <script>
    5. const a = document.querySelector("a");
    6. const li = document.querySelector("li");
    7. const div = document.querySelector("div");
    8. const body = document.body;
    9. a.addEventListener("click", showTagName);
    10. li.addEventListener("click", showTagName);
    11. div.addEventListener("click", showTagName);
    12. body.addEventListener("click", showTagName);
    13. function showTagName() {
    14. alert(this.tagName);
    15. }
    16. </script>
    捕获:由外向内触发
    1. <div>
    2. <li><a href="">点击</a></li>
    3. </div>
    4. <script>
    5. const a = document.querySelector("a");
    6. const li = document.querySelector("li");
    7. const div = document.querySelector("div");
    8. const body = document.body;
    9. a.addEventListener("click", showTagName, true);
    10. li.addEventListener("click", showTagName, true);
    11. div.addEventListener("click", showTagName, true);
    12. body.addEventListener("click", showTagName, true);
    13. function showTagName() {
    14. alert(this.tagName);
    15. }
    16. </script>
    阻止事件冒泡与捕获
    非IE浏览器
    1. e.stopPropagation();
    IE浏览器
    1. e.cancleBubble=true
  5. 事件代理
    用父级元素代理所有子元素及更下级元素上的同名事件
    1. <ul>
    2. <li>item1</li>
    3. <li>item2</li>
    4. <li>item3</li>
    5. <li>item4</li>
    6. <li>item5</li>
    7. </ul>
    8. <script>
    9. document.querySelector("ul").addEventListener("click", function (ev) {
    10. console.log(ev.target); //事件触发者
    11. console.log(ev.currentTarget); //事件绑定者
    12. });
    13. </script>

导肮小示例

  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. margin: 0;
  10. padding: 0;
  11. box-sizing: border-box;
  12. }
  13. a {
  14. color: #bbb;
  15. text-decoration: none;
  16. }
  17. #nav {
  18. background-color: black;
  19. height: 50px;
  20. line-height: 50px;
  21. }
  22. li {
  23. list-style: none;
  24. margin: 0 10px;
  25. float: left;
  26. }
  27. #nav > li > a:hover {
  28. color: white;
  29. }
  30. #nav > li {
  31. position: relative;
  32. }
  33. #nav > li > ul {
  34. position: absolute;
  35. top: 50px;
  36. width: 180px;
  37. border: 1px solid #aaa;
  38. border-top: none;
  39. }
  40. #nav > li > ul > li a {
  41. display: inline-block;
  42. height: 50px;
  43. color: #444;
  44. }
  45. ul.sub li:hover {
  46. background-color: #eee;
  47. }
  48. #nav > li > ul {
  49. /* display: none; */
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <ul id="nav">
  55. <li><a href="">首页</a></li>
  56. <li><a href="">视频教程</a></li>
  57. <li><a href="">入门教程</a></li>
  58. <li><a href="">社区问答</a></li>
  59. <li>
  60. <a href="">技术文章</a>
  61. <ul>
  62. <li><a href="">PHP教程</a></li>
  63. <li><a href="">PHP框架</a></li>
  64. <li><a href="">html教程</a></li>
  65. <li><a href="">css教程</a></li>
  66. <li><a href="">js教程</a></li>
  67. <li><a href="">mysql教程</a></li>
  68. </ul>
  69. </li>
  70. <li>
  71. <a href="">资源下载</a>
  72. <ul>
  73. <li><a href="">PHP工具</a></li>
  74. <li><a href="">在线工具</a></li>
  75. <li><a href="">手册下载</a></li>
  76. <li><a href="">学习课件</a></li>
  77. </ul>
  78. </li>
  79. <li><a href="">PHP培训</a></li>
  80. </ul>
  81. </body>
  82. <script>
  83. const navs = document.querySelectorAll("#nav > li");
  84. navs.forEach(function (nav) {
  85. nav.addEventListener("mousemove", showSubMenu);
  86. nav.addEventListener("mouseout", closeSubMenu);
  87. });
  88. function showSubMenu(ev) {
  89. if (ev.target.nextElementSibling !== null) {
  90. ev.target.nextElementSibling.style.display = "block";
  91. }
  92. }
  93. function closeSubMenu(ev) {
  94. if (ev.target.nodeName === "A" && ev.target.nextElementSibling !== null) {
  95. ev.target.nextElementSibling.style.display = "none";
  96. }
  97. }
  98. </script>
  99. </html>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:你是刚报名的, 还是之前一直没写作业, 得抓紧时间了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post