jQuery和CSS仿京东仿淘宝列表导航菜单

下面是详细讲解“jQuery和CSS仿京东仿淘宝列表导航菜单”的完整攻略。

一、需求分析

  1. 设计导航菜单,包含点击切换功能
  2. 实现鼠标悬停展开子菜单
  3. 导航菜单需要响应式布局

二、技术选型

  1. HTML
  2. CSS
  3. jQuery

三、技术实现

  1. HTML结构和CSS样式编写

1.1 HTML结构编写

<nav>
  <ul class="navList">
    <li><a href="#">首页</a></li>
    <li class="hasChild">
      <a href="#">电子产品</a>
      <ul class="subNavList">
        <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>
</nav>

1.2 CSS样式编写

.navList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  background-color: #f3f3f3;
  font-size: 16px;
}

.navList li {
  position: relative;
  height: 48px;
  line-height: 48px;
  padding: 0 10px;
  cursor: pointer;
}

.navList li:hover {
  background-color: #e3e3e3;
}

.hasChild:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -2px;
  border-top: 6px solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-bottom: none;
}

.subNavList {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  background-color: #fff;
  width: 240px;
  box-shadow: 0 0 3px #ddd;
}

.subNavList li {
  height: 40px;
  line-height: 40px;
  padding: 0 20px;
}

.subNavList li:hover {
  background-color: #f3f3f3;
}

2. jQuery代码编写

$(document).ready(function() {
  // 子菜单显示隐藏
  $(".hasChild").hover(function() {
    $(this).find(".subNavList").stop().slideDown(300);
  }, function() {
    $(this).find(".subNavList").stop().slideUp(300);
  });

  // 导航菜单切换
  $(".navList > li > a").click(function(e) {
    e.preventDefault();
    $(this).parent().addClass("active").siblings().removeClass("active");
  });
});

3. 响应式布局

@media screen and (max-width: 768px) {
  .navList {
    flex-direction: column;
  }
  .navList li {
    width: 100%;
    text-align: center;
  }
  .hasChild:after {
    display: none;
  }
  .subNavList {
    position: static;
  }
}

四、示例说明

  1. 京东导航菜单示例:https://codepen.io/xiangzongliang/pen/rJWvYx
  2. 淘宝导航菜单示例:https://codepen.io/wsq7247/pen/yLyYZrg

以上两个示例均包含了完整的导航菜单代码和样式,可以参考和学习。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery和CSS仿京东仿淘宝列表导航菜单 - Python技术站

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

相关文章

  • Vue3 style CSS 变量注入的实现

    让我为您详细讲解一下“Vue3 style CSS 变量注入的实现”的完整攻略。 什么是 Vue3 style CSS 变量注入 在 Vue3 中,我们可以利用 CSS 变量注入 的方式来为组件注入样式,本质上就是通过 Vue3 提供的 $attrs 和 style 属性处理方式,将常量化的 CSS 变量写入到 Vue3 的虚拟 DOM 中。 这种方式比起之…

    css 2023年6月10日
    00
  • CSS实现一个简单loading动画效果

    让我来详细讲解一下“CSS实现一个简单loading动画效果”的完整攻略。 1. 利用CSS动画实现loading效果 CSS动画提供了一种简单又流畅的方式来实现loading效果,我们可以利用CSS3的@keyframes关键字结合transform属性和animation属性来创建一个简单的loading效果。 1.1 创建loading图形 首先,我们…

    css 2023年6月10日
    00
  • 使用CSS实现一个搜索引擎的原理解析

    使用CSS实现搜索引擎的原理是通过CSS的特定属性来进行页面样式的定义,以此实现搜索引擎界面的效果。下面将详细讲解此原理及实现攻略。 原理解析 使用CSS实现搜索引擎主要依靠以下几个CSS属性: 1. position position属性用于定义元素在文档中的定位方式,包括relative、absolute、fixed等。通过position属性以及top…

    css 2023年6月9日
    00
  • HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述

    下面我来详细讲解“HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述”的完整攻略。 标题 HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述 正文 SVG是一种可缩放矢量图形格式,支持多种图形元素,通过控制这些图形元素,我们可以实现各种各样的视觉效果。其中,坐标系与变换是SVG中非常重要的概念。在SVG中,坐标系分为视窗坐标系和用…

    css 2023年6月10日
    00
  • 使用Vue动态生成form表单的实例代码

    使用Vue动态生成form表单,可以根据数据动态生成表单项,非常方便,下面提供一份完整的攻略。 步骤一:创建Vue实例 首先,我们需要在html页面中引入Vue.js,然后创建一个Vue实例并挂载到指定的DOM节点上。 <div id="app"></div> <script src="https:…

    css 2023年6月10日
    00
  • dreamweaver 8怎么通过代码设置页面高宽颜色?

    通过Dreamweaver 8的代码编辑器设置页面高度、宽度和颜色非常简单。以下是设置页面高宽颜色的完整攻略。 步骤1:创建一个新的HTML文件 首先,在Dreamweaver 8中创建一个新的HTML文件。通过选择“文件 > 新建”菜单项打开新建文件对话框。从中选择”HTML”文档类型,并单击”创建”按钮。这将创建一个空白HTML文档。 步骤2:在文…

    css 2023年6月9日
    00
  • vue-cli与webpack处理静态资源的方法及webpack打包的坑

    下面我将详细介绍vue-cli与webpack处理静态资源的方法及webpack打包的坑。 1. vue-cli与webpack处理静态资源的方法 1.1 图片资源处理 在vue-cli项目中,图片资源可以使用require()直接导入,在vue文件中使用即可,例如: <template> <div> <img :src=&qu…

    css 2023年6月10日
    00
  • css 不同媒介的显示样式控制方式

    CSS可以根据不同媒介控制显示样式,其中包括屏幕、打印机等不同引擎。通常我们使用@media规则来定义这些不同媒介的样式,其语法如下: @media mediatype and (media feature){ CSS-Code; } 其中mediatype可以是多种媒介类型, 如 screen(屏幕)、print(打印)、speech(语音)等,media…

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