当前位置: 首页 > 知识库问答 >
问题:

编辑下拉导航栏的HTML+CSS+JS

令狐珂
2023-03-14

我找到了完美的下拉导航栏代码。但我不得不根据自己的需要编辑它。原始完整代码位于此处:https://github.com/vandoan/elli/blob/master/dropdownnav.html,其外观如下:http://codepen.io/xia-lj/pen/kdkoxw

HTML:

<div id="topbar">
  <div id="logo">LOGO</div>
  <div id="sections_btn_holder">
    <button onclick="toggleNavPanel('sections_panel')">Navigator <span id="navarrow">&#9662;</span></button>
  </div>
  <div id="sections_panel">
    <div>
      Try adding things like more child div containers, links, buttons, menus, pictures, paragraphs, videos, etc...
    </div>
  </div>
</div>

CSS:

body {
  margin: 0px;
  background: #999;
}

div#topbar {
  background: -webkit-linear-gradient(#666, #000);
  background: linear-gradient(#666, #000);
  height: 60px;
}

div#topbar > #logo {
  float: left;
  width: 140px;
  height: 35px;
  margin: 8px 0px 0px 30px;
  font-size: 36px;
  color: #999;
}

div#topbar > #sections_btn_holder {
  float: left;
  width: 144px;
  height: 46px;
  padding-top: 16px;
}

div#topbar > #sections_btn_holder > button {
  background: #F90;
}

div#topbar > #sections_panel {
  position: absolute;
  height: 0px;
  width: 550px;
  background: #000;
  top: 60px;
  left: 160px;
  border-radius: 0px 0px 8px 8px;
  overflow: hidden;
  z-index: 10000;
  transition: height 0.3s linear 0s;
}

div#topbar > #sections_panel > div {
  background: #333;
  padding: 20px;
  height: 238px;
  margin: 10px;
  color: #FC0;
}

JS:

function toggleNavPanel(x) {
  var panel = document.getElementById(x),
    navarrow = document.getElementById("navarrow"),
    maxH = "300px";
  if (panel.style.height == maxH) {
    panel.style.height = "0px";
    navarrow.innerHTML = "&#9662;";
  } else {
    panel.style.height = maxH;
    navarrow.innerHTML = "&#9652;";
  }
}

我想要的是:下拉导航栏,就像在例子,但有三个按钮“历史”,“哲学”,“物理”。并且这三个部分中的每一个部分都必须包含很少的书名,例如:

历史:-

> 希罗多德的历史。

提图斯·里维乌斯。罗马的历史。

伊万·克里皮亚克维奇。乌克兰的伟大历史。

“哲学”:-

>

  • 柏拉图的作品。

    亚里士多德的《尼各马可伦理学》。

    寓言和格言由Hryhorii SKOVORODA。

    “物理学”:-

    >

  • 斯蒂芬·霍金。时间简史.

    雅科夫·佩雷尔曼。娱乐物理。

    如果有人能帮忙,我将不胜感激。我是网络开发的新手。

  • 共有1个答案

    公西国发
    2023-03-14

    下面这个代码本怎么样,它是您提供的同样的示例,只是对HTML和CSS部分做了一点修改,在div#sections_panel中,我用一个.sub_sections类名添加了3个div(您在问题中提到了3个部分)。

    null

    function toggleNavPanel(x) {
      var panel = document.getElementById(x),
        navarrow = document.getElementById("navarrow"),
        maxH = "300px";
      if (panel.style.height == maxH) {
        panel.style.height = "0px";
        navarrow.innerHTML = "&#9662;";
      } else {
        panel.style.height = maxH;
        navarrow.innerHTML = "&#9652;";
      }
    }
    body {
      margin: 0px;
      background: #999;
    }
    
    div#topbar {
      background: -webkit-linear-gradient(#666, #000);
      background: linear-gradient(#666, #000);
      height: 60px;
    }
    
    div#topbar > #logo {
      float: left;
      width: 140px;
      height: 35px;
      margin: 8px 0px 0px 30px;
      font-size: 36px;
      color: #999;
    }
    
    div#topbar > #sections_btn_holder {
      float: left;
      width: 144px;
      height: 46px;
      padding-top: 16px;
    }
    
    div#topbar > #sections_btn_holder > button {
      background: #F90;
    }
    
    div#topbar > #sections_panel {
      position: absolute;
      height: 0px;
      width: 550px;
      background: #000;
      top: 60px;
      padding:0 10px;
      left: 160px;
      border-radius: 0px 0px 8px 8px;
      overflow: hidden;
      z-index: 10000;
      transition: height 0.3s linear 0s;
    }
    
    div#topbar > #sections_panel > .sub_sections {
      background: #333;
      padding: 10px;
      height: 258px;
      margin:10px 2px 0 0;
      color: #FC0;
      width:calc(31% - 10px);
      display:inline-block;
      float:left;
    }
    #sections_panel > .sub_sections > a{
      color:#EEE;
      display:block;
      padding:10px 5px;
      text-decoration:none;
      border-bottom:1px dotted #666;
    }
    #sections_panel > .sub_sections > a:hover{
      color:#333;
      background-color:orange;
    }
    #sections_panel > .sub_sections > h3{
      color:orange;
      text-align:center;
      padding-bottom:5px;
      border-bottom:1px #222 solid;
    }
    html lang-html prettyprint-override"><div id="topbar">
      <div id="logo">LOGO</div>
      <div id="sections_btn_holder">
        <button onclick="toggleNavPanel('sections_panel')">Navigator <span id="navarrow">&#9662;</span></button>
      </div>
      <div id="sections_panel">
        <div class="sub_sections">
          <h3>Search Engines</h3>
          <a href="//google.com">Google</a>
          <a href="//yahoo.com">Yahoo!</a>
          <a href="//bing.com">Bing</a>
        </div>
        <div class="sub_sections">
          <h3>Social Networks</h3>
          <a href="//facebook.com">Facebook</a>
          <a href="//twitter.com">Twitter</a>
        </div>
        <div class="sub_sections">
          <h3>Video Networks</h3>
          <a href="//youtube.com">Youtube</a>
          <a href="//vimeo.com">Vimeo</a>
        </div>
      </div>
    </div>
     类似资料:
    • 本文向大家介绍JavaScript实现HTML导航栏下拉菜单,包括了JavaScript实现HTML导航栏下拉菜单的使用技巧和注意事项,需要的朋友参考一下 JavaScript实现HTML导航栏下拉菜单[悬浮显示] 前端界面进行设计时,我们会遇到鼠标悬浮在某选项上,然后就会凭空显示出菜单出来,这种设计的确受到了很多人的青睐。其实纯css也是可以实现的,但是会有一些限制,必须如要显示的菜单需要作为鼠

    • 因此,我刚刚从bootswatch复制了navbar表单的代码片段,并直接导入了所需的JQuery、bootstrap css和js文件,如下面的代码片段所示。当浏览器调整大小时,它会做出响应,但当我单击按钮以获取导航栏的下拉菜单时,它会出现故障,不会下降并停留在那里,而是自动切换回原来的状态。 代码中没有任何调整或更改,它在bootswatch网站上运行良好,但这里没有。有人能解释一下原因并给出

    • ul.horizontal { list-style-type: none; margin: 0; padding: 0; overflow: hidden; background-color: #333; } ul.horizontal li { float: left; padding: 0; margin: 0; background-image:none; } ul.horizontal

    • 本文向大家介绍CSS对齐导航栏,包括了CSS对齐导航栏的使用技巧和注意事项,需要的朋友参考一下 示例 水平对齐的导航(菜单)栏包含一些应该对齐的项目。容器中的第一个(左)项目没有左边距,容器中的最后一个(右)项目没有右边距。项目之间的距离是相等的,与单个项目的宽度无关。 的HTML 的CSS 笔记 的nav,ul并且li标签被选择为他们的“导航(菜单)项的列表”语义。当然也可以使用其他标签。 所述

    • 下拉菜单仍然是Web上流行的界面元素,虽然有一些纯Javascript 解决方案,但在禁用Javascript 的浏览器下,它却无能为力。因此,纯CSS的下拉菜单才是最好的选择。 这种技术及其简单,只需把子导航嵌套在无序列表中,并让子导航默认隐藏,然后当鼠标悬停或点击父列表时,再让它显示出来。 本节,在上一节主导航的基础上,添加子导航,来演示下拉导航的制作方法。主导航的样式保持不变,这里只介绍子导

    • 本文向大家介绍js实现前端界面导航栏下拉列表,包括了js实现前端界面导航栏下拉列表的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现前端界面导航栏下拉列表的具体代码,供大家参考,具体内容如下 先来看成果图 html代码: css代码: 最重要的是js代码 利用js代码控制 简短介绍: slideToggle() 方法通过使用滑动效果(高度变化)来切换元素的可见状态。 如果被选元