纯CSS打造的导航菜单(附jquery版)

好的。在这里,我将为您详细讲解“纯CSS打造的导航菜单(附jquery版)”的完整攻略。该攻略包含了该导航菜单的制作过程以及如何将其转化成jquery版的导航菜单。

制作纯CSS导航菜单

第一步:HTML结构

首先,我们需要创建一个含有ul和li元素的HTML结构。 代码如下:

<nav>
  <ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">新闻资讯</a></li>
    <li><a href="#">产品展示</a></li>
    <li><a href="#">联系我们</a></li>
  </ul>
</nav>

第二步:添加CSS样式

我们需要分别设置ul、li和a元素的样式。代码如下:

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

nav li {
  margin: 0 10px;
}

nav a {
  color: #000;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
}

nav a:hover {
  color: #f00;
}

第三步:制作下拉菜单

在导航菜单中加入下拉菜单,需要为含有子菜单的li元素添加.hover样式,并为子菜单中的ul元素设置.display-block样式。代码如下:

nav ul li.hover > ul {
  display: block;
}

nav ul ul {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  background-color: #fff;
  padding: 10px;
  min-width: 160px;
  box-shadow: 0 2px 5px rgba(0,0,0,.1);
}

nav ul ul li {
  display: block;
  margin: 10px 0;
}

nav ul ul a {
  font-size: 13px;
}

第四步:添加响应式设计

为了使导航菜单在手机和平板电脑上看起来更好,我们需要添加响应式设计。代码如下:

@media screen and (max-width: 767px) {
  nav ul {
    flex-wrap: wrap;
  }

  nav li {
    width: 50%;
  }

  nav a {
    display: block;
    padding: 10px 0;
    text-align: center;
  }

  nav ul ul {
    position: static;
    display: none;
    width: auto;
    margin: 0;
    box-shadow: none;
  }

  nav ul ul li{
    margin: 0;
  }
}

制作jquery版导航菜单

第一步:HTML结构

我们需要在HTML文件中添加jquery和导航菜单的HTML结构。代码如下:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<nav>
  <ul>
    <li><a href="#">首页</a></li>
    <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>
        <li><a href="#">技术支持</a></li>
        <li><a href="#">客户案例</a></li>
      </ul>
    </li>
    <li><a href="#">联系我们</a></li>
  </ul>
</nav>

第二步:添加CSS样式

我们需要添加CSS样式。代码如下:

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

nav li {
  margin: 0 10px;
  position: relative;
}

nav a {
  color: #000;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
}

nav a:hover {
  color: #f00;
}

nav ul ul {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  background-color: #fff;
  padding: 10px;
  min-width: 160px;
  box-shadow: 0 2px 5px rgba(0,0,0,.1);
}

nav ul ul li {
  display: block;
  margin: 10px 0;
}

nav ul ul a {
  font-size: 13px;
}

第三步:制作jquery版导航菜单

我们需要添加jquery代码,使其支持下拉菜单。代码如下:

$(function() {
  $('nav ul li').hover(function() {
    $(this).children('ul').stop().slideDown(200);
  }, function() {
    $(this).children('ul').stop().slideUp(200);
  });
});

上述代码在导航菜单的li元素上使用事件监听器来添加hover样式并使下拉菜单滑动呈现。

第四步:添加响应式设计

添加响应式设计的过程与纯CSS代码相同,代码如下:

@media screen and (max-width: 767px) {
  nav ul {
    flex-wrap: wrap;
  }

  nav li {
    width: 50%;
  }

  nav a {
    display: block;
    padding: 10px 0;
    text-align: center;
  }

  nav ul ul {
    position: static;
    display: none;
    width: auto;
    margin: 0;
    box-shadow: none;
  }

  nav ul ul li {
    margin: 0;
  }
}

示例说明

示例1

我们要为产品展示栏目的下拉菜单添加新的子菜单,产品介绍的子菜单还应该分为硬件产品和软件产品两个子菜单,如下:

<ul>
  <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></li>
      <li><a href="#">客户案例</a></li>
    </ul>
  </li>
</ul>

上述代码添加了硬件产品和软件产品两个子菜单。

示例2

我们想要在菜单中添加一条新的主菜单,关于我们,应该位于联系我们的左侧,如下:

<ul>
  <li><a href="#">首页</a></li>
  <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>
      <li><a href="#">技术支持</a></li>
      <li><a href="#">客户案例</a></li>
    </ul>
  </li>
  <li><a href="#">关于我们</a></li>
  <li><a href="#">联系我们</a></li>
</ul>

上述代码在菜单中添加了关于我们主菜单。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯CSS打造的导航菜单(附jquery版) - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • css pointer-events属性实现下面元素可点击

    CSS中的pointer-events属性用于指定在何种情况下元素可以被鼠标事件所触发。该属性可以接受以下几个值: auto:默认值,元素的鼠标事件会触发并产生相应效果; none:元素不会响应鼠标事件,鼠标事件穿透元素; visiblePainted:元素是可见的,并响应鼠标事件,但此时鼠标限制在元素的画布中,穿透元素后不会触发子元素的鼠标事件; visi…

    css 2023年6月10日
    00
  • CSS3实现炫酷的切片式图片轮播效果

    下面是“CSS3实现炫酷的切片式图片轮播效果”的完整攻略。 一、实现思路 利用CSS3的@keyframes创建动画关键帧。 使用transform属性实现图片翻转和平移。 利用position: absolute和z-index属性实现图片层叠和切片效果。 使用animation属性激活动画关键帧。 二、代码实现 以下是一个基础版的切片式图片轮播效果。 H…

    css 2023年6月9日
    00
  • 详解vue+css3做交互特效的方法

    下面我就来详细讲解一下“详解vue+css3做交互特效的方法”的完整攻略。 1. 首先安装Vue 要使用Vue进行开发,我们需要先安装Vue。可以通过npm或CDN来安装,这里我使用npm的方式来进行安装: npm install vue Vue文档中也提供了CDN的方式来安装Vue,可根据自己的需要选择。 2. 创建Vue实例 安装好Vue之后,我们就可以…

    css 2023年6月10日
    00
  • 小程序中使用css var变量(使js可以动态设置css样式属性)

    使用 CSS 变量可以大大提高开发效率,让我们能够一次性定义样式,然后全局使用。在小程序中使用 CSS 变量,可以使 JS 可以动态设置 CSS 样式属性。 下面是使用 CSS 变量(或者称为 CSS 自定义属性)的完整攻略: 在样式中定义变量 使用 CSS 变量需要在样式中先定义变量名及其对应的值,语法为:–变量名: 值;。例如: :root { –m…

    css 2023年6月9日
    00
  • 纯CSS3实现鼠标滑过按钮动画第二节

    下面就为您详细讲解“纯CSS3实现鼠标滑过按钮动画第二节”的完整攻略。 什么是纯CSS3实现鼠标滑过按钮动画第二节 “纯CSS3实现鼠标滑过按钮动画第二节”是指使用纯CSS3的方式来实现一个按钮被鼠标滑过时的动画效果,第二节表示该动画效果是一个系列中的第二个。 实现思路 首先,需要定义一个按钮元素。 <button class="btn&qu…

    css 2023年6月10日
    00
  • firebug如何使用以及firebug安装的图文步骤

    Firebug是一款前端调试工具,可以用于实时编辑、调试和监测网页源码,帮助前端开发人员更加高效地进行开发和调试。下面是Firebug的安装及使用攻略。 Firebug的安装步骤 在Firefox浏览器中搜索Firebug插件,找到适合自己的版本下载; 安装下载的插件; 重启Firefox浏览器,就可以使用Firebug了。 Firebug的使用步骤 打开F…

    css 2023年6月10日
    00
  • 使用 CSS 构建强大且酷炫的粒子动画效果

    使用 CSS 构建强大且酷炫的粒子动画效果是一项非常有趣的任务。下面是一个完整的攻略,包含了构建粒子动画的流程和两个示例说明。 构建粒子动画的流程 1. 创建 HTML 结构 首先,我们需要创建一个 HTML 结构,用于容纳粒子动画。下面是一个简单的 HTML 结构示例: <div class="particles"><…

    css 2023年5月18日
    00
  • CSS中的table-cell属性使用实例教程

    下面是关于“CSS中的table-cell属性使用实例教程”的详细讲解: 什么是table-cell属性? table-cell属性是CSS3中新增的属性,它用于将元素作为表格单元格来显示。这个属性通常应用于div元素,可以将它们作为表格单元格来使用。使用display:table-cell来定义一个元素,能够带来类似表格单元格的效果。 如何使用table-…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部