欢迎访问宙启技术站
智能推送

css3怎么实现的多级渐变下拉菜单导航效果代码

发布时间:2023-05-17 04:03:47

要实现多级渐变下拉菜单导航效果,需要运用到CSS3中的伪类元素和层叠样式表(CSS)的一些属性,例如:hover、position、display等。下面是一个通用的多级渐变下拉菜单导航效果的实现代码,并附有注释解释:

HTML代码部分:

<nav>
  <ul>
    <li><a href="#">Menu 1</a>
      <ul>
        <li><a href="#">SubMenu 1.1</a></li>
        <li><a href="#">SubMenu 1.2</a></li>
        <li><a href="#">SubMenu 1.3</a>
          <ul>
            <li><a href="#">SubSubMenu 1.3.1</a></li>
            <li><a href="#">SubSubMenu 1.3.2</a></li>
            <li><a href="#">SubSubMenu 1.3.3</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#">Menu 2</a></li>
    <li><a href="#">Menu 3</a></li>
  </ul>
</nav>

CSS代码部分:

/* 1. 设置li标签为inline-block,使菜单项横向排列 */
nav > ul > li { 
  display: inline-block;
  position: relative;
}

/* 2. 设置一级菜单链接的样式 */
nav > ul > li > a {
  display: block; 
  background-color: #29aae1;
  color: #ffffff;
  padding: 10px;
}

/* 3. 设置二级、三级菜单的样式 */
nav ul ul {
  position: absolute; 
  top: 100%; /* 让二级、三级菜单向下依次排列 */
}

nav ul ul li {
  display: block;
}

nav ul ul li a {
  background-color: #1e8cbe;
  color: #ffffff;
  padding: 10px;
}

/* 4. 把二级、三级菜单“隐藏”起来 */
nav ul ul {
  display: none;
}

/* 5. 当鼠标移动到一级菜单上时,显示相应的子菜单 */
nav li:hover > ul {
  display: inherit;
}

/* 6. 当鼠标移动到子菜单上时,改变该子菜单背景色 */
nav ul ul li:hover > a {
  background-color: #008cba;
}

以上就是一个通用的多级渐变下拉菜单导航效果的实现代码。当我们把该代码运用到网站上时,可以根据需求对颜色、字体大小、间距等进行调整。