web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. AIGC工具
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站
    手机应用

远离javascript/jquery纯css3实现多级导航栏联动

677 ℃

功能介绍:今天给大家介绍一个用纯css3实现多级导航栏联动。不用一行js代码,纯纯的css3

1、html代码:

<ul class="top-nav">
  <li><a href="#">中国朝代史</a></li>
  <li><a href="#">汉朝</a>
    <ul>
      <li><a href="#">东汉</a>
        <ul>
          <li><a href="#">刘邦</a></li>
          <li><a href="#">刘彻</a></li>
          <li><a href="#">刘病已</a></li>
        </ul>
      </li>
      <li><a href="#">西汉</a>
        <ul>
          <li><a href="#">刘秀</a></li>
        </ul>
      </li>
      <li><a href="#">王莽</a></li>
    </ul>
  </li>
  <li><a href="#">隋唐</a>
    <ul>
      <li><a href="#">隋朝</a>
        <ul>
          <li><a href="#">杨坚</a></li>
          <li><a href="#">杨广</a></li>
        </ul>
      </li>
      <li><a href="#">唐朝</a>
        <ul>
          <li><a href="#">李渊</a></li>
          <li><a href="#">李世民</a></li>
          <li><a href="#">武则天</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#">明朝</a></li>
  <li><a href="#">清朝</a></li>
</ul>

2、css代码:

.top-nav{
    width 960px;
    margin: 0 auto;
    list-style: none;
    background-image: linear-gradient(#444, #111);
    border-radius: 6px;
    box-shadow: 0 1px 10px #777;
}
.top-nav:before,.top-nav:after{
    content: "";
    display: table;
}
.top-nav:after{
    clear: both;
}
.top-nav>li{
    float: left;
    border-right: 1px solid saddlebrown;
    position: relative;
    line-height: 40px;
}
.top-nav li{
    position: relative;
}
.top-nav>li a{
    font: "微软雅黑" 12px;
    text-decoration: none;
    color: goldenrod;
    padding: 12px 30px;
}
.top-nav>li a:hover{
    color:#fafafa;
}
.top-nav li ul{
    position: absolute;
    border-radius: 6px;
    z-index: 1;
    top: 40px;
    left: 0px;
    list-style: none;
    background-image: linear-gradient(#444, #111);
    box-shadow: 0 -1 0 rgba(255,255,255,0.3);
    visibility: hidden; /*这里只能用hidden 不能display*/
    opacity: 0;
    margin: 20px 0 0 0;
    transition: all .2s ease-in-out;
}
.top-nav ul ul{
    margin-left: 20px;
    margin-top: 20px;
}
.top-nav ul li:hover>ul{
    margin-left: 0px;
}
 .top-nav li:hover>ul{
    opacity: 1;
    visibility: visible;
    margin: 0;
}
.top-nav ul a{
    padding: 15px;
    width: 70px;
    display: block;
}
.top-nav ul a:hover{
    background-image: linear-gradient(#04acec, #0186ba);
}
.top-nav ul li:first-child>a{
    border-radius: 6px 6px 0 0;
}/*第一个跟最后一个a标签设置圆角*/
.top-nav ul li:last-child>a{
    border-radius: 0 0 6px 6px;
}
.top-nav ul li{
    box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}/*两个阴影叠加产生间隔*/
.top-nav ul li:first-child>a:before{
    content: "";/*这句不可少,少了没效果*/
    display: block;
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #444;
    position: absolute;
    top: -6px;
    left: 40px;
}
.top-nav ul li:first-child>a:hover:before{
    border-bottom: 6px solid #04acec;
}
.top-nav ul ul{
    top: 0px;
    left: 100px;
}
.top-nav ul ul li:first-child>a:before{ 
    border-top: 6px solid transparent;
    border-right: 6px solid #444;
    border-bottom: 6px solid transparent;
    position: absolute;
    top: 20px;
    left: -12px;
}
.top-nav ul ul li:first-child>a:hover:before{
    border-bottom: 6px solid transparent;
    border-right: 6px solid #04acec;
}
.top-nav ul li:last-child{
    box-shadow: none;
}

JavaScript动态日历:如何用变量num精准控制月份递增?

javascript语法如何把json文件输出到html页面上

javascript语法中不等于null和空字符串的3种判断方式

javascript语法读取文本文件代码(PHP代码读取文本文件)

javascript语法中document对象基本介绍

标签: javascript语法, jquery, 多级联动, 导航

上面是“远离javascript/jquery纯css3实现多级导航栏联动”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_2288.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计2446个字,预计阅读时长17分钟
生活小工具,收录了80多款小工具
上一篇: 抖音联合方正打造免费可商用品牌字体——抖音美好体
下一篇: 推荐一个在线图文转视频、AI 数字人工具——一帧秒创(免费赠送100分钟)
x 打工人ai神器