【HTML】模拟二级菜单【附源代码】

news2024/9/24 21:18:02

模拟二级菜单

在这里插入图片描述

HTML部分:

  • <!DOCTYPE html>: 声明文档类型为HTML5。
  • <html>: HTML文档的根元素。
  • <head>: 包含文档的元数据,如字符集、标题和样式。
    • <meta charset="utf-8">: 设置文档的字符编码为UTF-8
    • <title>: 定义文档的标题,显示在浏览器标签页上。
    • <style>: 包含 CSS 样式,用于定义网页的布局和外观。
  • <body>: 包含网页的所有内容。
    • <div class="menu">: 一个容器,包含所有的菜单项。
      • <div class="item">: 菜单项,每个菜单项都有一个文本标题。
        • <div class="nav">: 二级菜单,包含链接和图片。
          • <a href=""><img src="" alt="" width="40">城市名称</a>: 超链接,包含图片和文本,点击后可以跳转到指定页面。这里为空,可自行补充。

CSS部分:

  • body 选择器: 设置整个页面的背景渐变,从天蓝色到白色。
  • a 选择器: 去除超链接的下划线。
  • .menu 类选择器: 设置主菜单的宽度、高度、背景颜色、边距和位置。
  • .menu .item 类选择器: 设置菜单项的高度、颜色、字体大小、行高、内边距和背景图片。
  • .menu .item:hover 伪类选择器: 当鼠标悬停在菜单项上时,改变背景颜色和背景图片。
  • .menu .item .nav 类选择器: 设置二级菜单的宽度、高度、背景颜色、边框、位置、内边距和显示方式(默认为隐藏)。
  • .item .nav a 类选择器: 设置二级菜单中链接的颜色和布局。
  • .item .nav a img 类选择器: 设置图片与文本的间隔。
  • .item .nav a:hover 伪类选择器: 当鼠标悬停在链接上时,改变文本颜色。
  • .item:hover .nav 伪类选择器: 当鼠标悬停在菜单项上时,显示二级菜单。
    这个网页布局创建了一个具有二级菜单的主菜单,当用户将鼠标悬停在某个省份的菜单项上时,会显示该省份下的一系列城市链接。

源码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>模拟二级菜单</title>
    <style type="text/css">
      body {
        margin: 0;
        padding: 0;
        background-image: linear-gradient(to right, skyblue, #fff);
      }

      a {
        text-decoration: none;
      }

      .menu {
        width: 230px;
        height: 420px;
        padding: 20px 0;
        background-color: rgba(0, 0, 0, 0.5);
        margin: 50px 0 0 50px;
        position: relative;
      }

      .menu .item {
        height: 42px;
        /* border: 1px solid red; */
        color: #fff;
        font-size: 14px;
        line-height: 42px;
        padding-left: 30px;
        background: url('images/right-jiantou.png') no-repeat 200px 10px;
        cursor: pointer;
      }

      .menu .item:hover {
        background-color: #ff6700;
        background-image: url('images/right-jiantou2.png');
      }

      /* 右侧二级菜单 */
      .menu .item .nav {
        min-width: 250px;
        height: 460px;
        background-color: #fff;
        border: 1px solid #666;
        position: absolute;
        top: 0;
        left: 100%;
        box-sizing: border-box;
        /* 六行单元格平分整个区域 */
        display: grid;
        grid-template-rows: repeat(6, 1fr);
        grid-template-columns: 250px;
        /* 排列方式设置为先列后行 */
        grid-auto-flow: column;
        /* 设置隐式网格宽度 */
        grid-auto-columns: 250px;
        padding: 20px;
        /* 初始默认隐藏 */
        display: none;
      }

      .item .nav a {
        /* border: 1px solid red; */
        color: #000;
        display: flex;
        /* 垂直方向居中对齐,防止随父元素高度而被拉伸 */
        align-items: center;
      }

      .item .nav a img {
        margin-right: 10px;
      }

      .item .nav a:hover {
        color: #ff6700;
      }

      .item:hover .nav {
        display: grid;
      }
</style>
  </head>
  <body>
    <div class="menu">
      <div class="item">安徽
        <div class="nav">
          <!-- href="" 这里可以存放自定义地址; img src="" 这里可以存放自定义图片 -->
          <a href=""><img src="" alt="" width="40">合肥</a>
          <a href=""><img src="" alt="" width="40">芜湖</a>
          <a href=""><img src="" alt="" width="40">蚌埠</a>
          <a href=""><img src="" alt="" width="40">阜阳</a>
          <a href=""><img src="" alt="" width="40">滁州</a>
          <a href=""><img src="" alt="" width="40">六安</a>
          <a href=""><img src="" alt="" width="40">安庆</a>
          <a href=""><img src="" alt="" width="40">池州</a>
          <a href=""><img src="" alt="" width="40">宿州</a>
          <a href=""><img src="" alt="" width="40">淮南</a>
        </div>
      </div>
      <div class="item">江苏
        <div class="nav">
          <a href=""><img src="" alt="" width="40">南京</a>
          <a href=""><img src="" alt="" width="40">南通</a>
          <a href=""><img src="" alt="" width="40">苏州</a>
          <a href=""><img src="" alt="" width="40">徐州</a>
          <a href=""><img src="" alt="" width="40">常州</a>
          <a href=""><img src="" alt="" width="40">无锡</a>
        </div>
      </div>
      <div class="item">浙江
        <div class="nav">
          <a href=""><img src="" alt="" width="40">金华</a>
          <a href=""><img src="" alt="" width="40">杭州</a>
          <a href=""><img src="" alt="" width="40">余杭</a>
          <a href=""><img src="" alt="" width="40">萧山</a>
        </div>
      </div>
      <div class="item">河南</div>
      <div class="item">山东</div>
      <div class="item">山西</div>
    </div>
  </body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2073966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业级web应用服务器之Tomcat

Tomcat介绍 Tomcat 由 Apache 软件基金会下属的 Jakarta 项目开发。它实现了 Java Servlet 和 JavaServer Pages&#xff08;JSP&#xff09;等 Java EE 技术规范&#xff0c;为基于 Java 的 Web 应用程序提供运行环境。 主要特点 轻量级 Tomcat 是一个相对轻量级的服务器&am…

浏览器解析流程

思考 不知道大家是否思考过这几个问题&#xff1a; 当我们在浏览器中输入url后&#xff0c;到底发生了什么&#xff1f; h5&#xff0c;css&#xff0c;js代码执行的顺序是什么&#xff1f;什么情况下会阻塞页面&#xff1f;又有什么办法可以提高页面响应速度呢&#xff1f; 如…

再说圆的面积

在微积分-圆的面积和周长(1)介绍微积分方法求解圆的面积&#xff0c;本文使用蒙特卡洛方法求解圆面积。 取&#xff08;0&#xff0c;1&#xff09;* (0,1)区间&#xff0c;也就是单位圆第一象限的端点区间对应的正方形区间。下面是计算机给出的结果&#xff1a;很显然第一象限…

基于vue3和audio封装的简易音频播放器

样式如图所示 <template><div class"audio-player"><div class"player_top" flex-ac flex-justify-between ><div class"fileName genericTitle" fs-28 l-height-32 height-64 pr-42 flex-ac><span class"t…

UE管理内容 —— FBX Morph Target Pipeline

目录 Naming Setting Up Morph Targets Importing Morph Targets Morph Target 是特定网格体的顶点位置的快照&#xff0c;该网格体在某种程度上已经变形&#xff1b;例如&#xff0c;可以使用一个角色模型&#xff0c;对其面部进行重塑以创建一个面部表情&#xff0c;然后将…

Linux 流式DMA映射(DMA Streaming Mapping)

流式DMA相关的接口为dma_map_sg(),dma_unmap_sg(),dma_map_single(),dma_unmap_single()。流式DMA一般用于已经分配好的内存&#xff0c;然后再对其进行DMA操作&#xff0c;而不是提前申请好一块cache一致性的内存给DMA用。例如从协议栈里发下来的一个包&#xff0c;想通过网卡…

day41| 01背包问题一 01背包问题二(滚动数组篇)416. 分割等和子集 1049.最后一块石头的重量II 494. 目标和 474. 一和零

文章目录 背景介绍01背包问题一思路方法一方法二01背包问题二(滚动数组篇)思路方法一方法二416. 分割等和子集思路方法一1049.最后一块石头的重量II思路方法一494. 目标和思路方法方法二 回溯法474. 一和零思路方法总结由于笔试的时候会判重,而这里面的代码都是我自己写的,…

不同场景下的负载均衡器

负载均衡主要用于分配来自互联网或局域网的请求或任务负载到多个服务器中。 这样做可以避免任何单个服务器的过载&#xff0c;提高响应速度&#xff0c;增加系统的整体处理能力&#xff0c;并确保系统的高可用性和可靠性。 负载均衡器大概可以分为 3 类&#xff0c;包括&#…

Argo/BGC-Argo数据下载

BGC-Argo官方网站 网址&#xff1a; https://biogeochemical-argo.org/data-access.php 信息&#xff1a;提供BGC-Argo位置及剖面预览 数据ftp下载&#xff1a;ftp://ftp.ifremer.fr/ifremer/argo 或者 ftp://usgodae.org/pub/outgoing/argo 问题&#xff1a;dac文件按照数据中…

Image Stride(内存图像行跨度)

When a video image is stored in memory, the memory buffer might contain extra padding bytes after each row of pixels. The padding bytes affect how the image is store in memory, but do not affect how the image is displayed. 当视频图像存储在内存时&#xff0…

EVE-NG安装部署使用

EVE-NG安装部署使用 一、EVE的虚拟化安装1、下载EVE-NG(社区版)2、导入虚拟机-配置-登录二、EVE中设备的连接sercureCRT连接wireshark连接一、EVE的虚拟化安装 1、下载EVE-NG(社区版) 官网下载地址(科学上网): https://www.eve-ng.net/index.php/download/ 中文网下载…

基于python django的图书数据分析系统,包括图书推荐和可视化大屏分析,带有后台

研究背景 随着数字化技术的发展&#xff0c;图书管理与数据分析在图书馆和在线图书销售平台中变得越来越重要。传统的图书管理方式通常只关注图书的借阅和归还&#xff0c;忽视了数据分析在图书管理中的潜力。通过对图书借阅、购买、和用户偏好等数据的分析&#xff0c;能够深入…

数论之组合数

组合数1&#xff1a; 预处理每一个组合数的大小 类似于dp&#xff0c;从a个苹果里面选b个出来&#xff1a;首先从a个苹果里面拿出来一个&#xff0c;这样就分成了两种&#xff0c;一种是包括这个拿出来的苹果的方案数&#xff0c;此时就只需要拿b-1个苹果。一种是不包括这种苹…

嵌入式笔记:半加器与全加器

一&#xff0c;门电路 本文使用digital软件中的双掷继电器来实现以下的门电路&#xff0c;并结合这些门电路实现半加器与八位全加器。 与门 当输入信号A&#xff0c;B都置高电平时&#xff0c;继电器带电具有磁性&#xff0c;将下方双刀开关吸附&#xff0c;使电路导通。在输出…

C++20中的约束与概念

类模板、函数模板和非模板函数(通常是类模板的成员)可能与约束(constraint)相关联&#xff0c;该约束指定对模板参数的要求(requirements)&#xff0c;可用于选择最合适的函数重载和模板特化。约束是使用模板时需要通过模板参数满足的条件或要求。这些要求的命名集合称为概念(c…

Ai+若依(系统接口--Swagger):04篇

Swagger&#xff0c;能够自动生成 API 的同步在线文档&#xff0c;并提供Web界面进行接口调用和测试。 可以直接去测试&#xff1a;--有的接口测试需要权限 我们可以去这样操作 F12 报错404 是因为多了个前缀 /dev-api 我们去后台删掉&#xff1a; 重启刷新&#xff1a;

day 39 代码随想录 | 打家劫舍 动态规划

198.打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个…

Ruby+Watir进行web UI自动化测试

1.新建工程文件 打开RubyMine&#xff0c;新建一个工程文件目录如下&#xff1a; login_mail.rb文件 # encoding:UTF-8 # frozen_string_literal: true当(/^打开谷歌浏览器&#xff0c;进入163邮箱登陆页面$/) do$driver Watir::Browser.new :chromesleep(2)$driver.window.…

裸机:串口通信

串口通信的基本原理 单工通信和双工通信 (1)单工就是单方向&#xff0c;双工就是双方同时收发&#xff0c;同时只能但方向但是方向可以改变叫半双工 (2)如果只能A发B收则单工&#xff0c;A发B收或者B发A收&#xff08;两个方向不能同时&#xff09;叫半双工&#xff0c;A发B收…

【C++】类与对象篇一

【C】类与对象篇一 一 .面向过程和面向对象初步认识二 .类的详解1.类的引入2.类的定义3.类的访问限定符及封装&#xff08;面试题&#xff09;4.类的作用域5.类的实例化6.类对象模型 三 . 结构体内存对齐规则&#xff08;面试题&#xff09;四 . this指针1.this指针的特性2.thi…