web前端之不一样的下拉菜单、不选中第一个元素的样式效果、伪类排除第一个元素、符号选择器、hover、not、first、child

MENU

  • 效果图
  • html+css+JS
  • html+css


效果图

dropDownMenu1


dropDownMenu2


html+css+JS

html

<nav><ul><li class="navli"><h4>HTML5</h4><ul class="ulson"><li class="lison">HTML5</li></ul></li><li class="navli"><h4>CSS3</h4><ul class="ulson"><li class="lison">CSS3</li><li class="lison">CSS3</li><li class="lison">CSS3</li></ul></li><li class="navli"><h4>JS</h4><ul class="ulson"><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li></ul></li><li class="navli"><h4>JQUERY</h4><ul class="ulson"><li class="lison">JQUERY</li><li class="lison">JQUERY</li><li class="lison">JQUERY</li><li class="lison">JQUERY</li></ul></li><li class="navli"><h4>VUE</h4><ul class="ulson"><li class="lison">VUE</li><li class="lison">VUE</li><li class="lison">VUE</li></ul></li></ul>
</nav>

JavaScript

init();function init() {let aH = document.querySelectorAll('h4');let aLi = document.querySelectorAll('.lison');let anavLi = document.querySelectorAll('.navli');let aUl = document.querySelectorAll('.ulson');changeColor(aH);changeColor(aLi);handleLi(anavLi, aUl);function handleLi(arr, list) {for (let i = 0; i < arr.length; i++) {arr[i].onmouseover = () => {list[i].style.display = 'block';}arr[i].onmouseout = () => {list[i].style.display = 'none';}}}function changeColor(arr) {for (let i = 0; i < arr.length; i++) {arr[i].onmouseover = function () {this.style.backgroundColor = '#ff0000';}arr[i].onmouseout = function () {this.style.backgroundColor = 'transparent';}}}
}

style

* {margin: 0;padding: 0;
}body {background-color: #333333;color: #ffffff;
}nav {width: 350px;height: 30px;line-height: 30px;margin: 50px auto;border-radius: 5px;box-shadow: 2px 5px 15px rgba(0, 0, 0, .7);
}h4:hover {cursor: pointer;border-radius: 5px;
}nav ul {width: 100%;list-style: none;
}.navli {float: left;width: 70px;text-align: center;font-size: 14px;
}.ulson {display: none;box-shadow: 2px 5px 15px rgba(0, 0, 0, .7);border-radius: 3px;
}li:hover {border-radius: 3px;
}.ulson li:not(:first-child) {border-top: 1px dashed #cccccc;
}

html+css

html

<ul class="navul"><li class="navli"><h4>HTML5</h4><ul class="ulson"><li class="lison">HTML5</li></ul></li><li class="navli"><h4>CSS3</h4><ul class="ulson"><li class="lison">CSS3</li><li class="lison">CSS3</li><li class="lison">CSS3</li></ul></li><li class="navli"><h4>JS</h4><ul class="ulson"><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li><li class="lison">JS</li></ul></li><li class="navli"><h4>JQUERY</h4><ul class="ulson"><li class="lison">JQUERY</li><li class="lison">JQUERY</li><li class="lison">JQUERY</li><li class="lison">JQUERY</li></ul></li><li class="navli"><h4>VUE</h4><ul class="ulson"><li class="lison">VUE</li><li class="lison">VUE</li><li class="lison">VUE</li></ul></li><div class="hk"></div>
</ul>

style

* {margin: 0;padding: 0;list-style: none;
}body {width: 100vw;height: 100vh;display: flex;justify-content: center;background-color: #333333;color: #ffffff;
}.navul {position: relative;width: 350px;height: 30px;line-height: 30px;display: flex;margin-top: 50px;border-radius: 5px;font-size: 14px;box-shadow: 2px 5px 15px rgba(0, 0, 0, .7);
}.navli {width: 70px;text-align: center;
}.navli:hover .ulson {display: block;
}.ulson {display: none;box-shadow: 2px 5px 15px rgba(0, 0, 0, .7);border-radius: 5px;
}.ulson li:not(:first-child) {border-top: 1px dashed #cccccc;
}.lison:hover {background-color: rgba(100, 100, 130, .8);border-radius: 5px;
}.hk {position: absolute;left: 0;width: 70px;height: 30px;background-color: rgba(100, 100, 130, .5);border-radius: 5px;z-index: -999;transition: .5s;display: none;
}.navli:nth-child(1):hover~.hk {display: block;left: 0;
}.navli:nth-child(2):hover~.hk {display: block;left: 70px;
}.navli:nth-child(3):hover~.hk {display: block;left: 140px;
}.navli:nth-child(4):hover~.hk {display: block;left: 210px;
}.navli:nth-child(5):hover~.hk {display: block;left: 280px;
}

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

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

相关文章

java通过Excel批量上传数据

一、首先在前端写一个上传功能。 <template><!-- 文件上传 --><el-upload class"upload-demo" :on-change"onChange" :auto-upload"false"><el-button type"primary">上传Excel</el-button></el-up…

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

Http 缓存之 Cache-Control 介绍

Cache-Control 是一个 HTTP 头&#xff0c;用于控制浏览器和其他中间缓存如何缓存和重新使用已缓存的响应。它可以在请求头或响应头中设置。 Cache-Control 的值是一组由逗号分隔的指令&#xff0c;常见的指令有&#xff1a; 1.public&#xff1a;响应可以被任何对象&#xf…

天童知识课堂|“春分”

春色正中分&#xff0c;人间恰良辰。春分&#xff0c;也称升分&#xff0c;是二十四节气之一。春分的到来&#xff0c;意味着春天已经过去一半了&#xff0c;气候也逐渐温暖&#xff0c;阳光更加明媚。而关于春分的知识&#xff0c;你知道多少呢&#xff1f;来和天童美语一起了…

鸿蒙开发实战:【系统服务管理部件】

简介 samgr组件是OpenHarmony的核心组件&#xff0c;提供OpenHarmony系统服务启动、注册、查询等功能。 系统架构 图 1 系统服务管理系统架构图 目录 /foundation/systemabilitymgr ├── samgr │ ├── bundle.json # 部件描述及编译文件 │ ├── frameworks …

vue+elementui中table实现单选行功能

el-table插件可以选择行&#xff0c;但是只能多选&#xff0c;而项目中有单选的需求。 效果如下图所示&#xff0c;点击行或者点击复选框都可以选中行&#xff08;高亮&#xff0c;复选框选中&#xff09;&#xff0c;并且每次只选中当前行&#xff0c;之前选中的行清空。点击标…

Elasticsearch:让你的 Elasticsearch 索引与 Python 和 Google Cloud Platform 功能保持同步

作者&#xff1a;来自 Elastic Garson Elasticsearch 内的索引 (index) 是你可以将数据存储在文档中的位置。 在使用索引时&#xff0c;如果你使用的是动态数据集&#xff0c;数据可能会很快变旧。 为了避免此问题&#xff0c;你可以创建一个 Python 脚本来更新索引&#xff0…

SpringBoot自定义starter开发:记录系统访客独立IP访问次数

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

端口如何映射到外网?

在现代信息化社会中&#xff0c;远程访问已经成为人们工作和生活中不可或缺的一部分。复杂的网络环境和网络限制可能会给远程连接带来不便。在这种情况下&#xff0c;端口映射到外网的技术应运而生。本文将介绍端口映射到外网的概念、应用场景以及一种优秀的解决方案——【天联…

码蹄集2023部分题目

1&#x1f40b;&#x1f40b;&#x1f40b;MC0204世界警察&#xff08;黄金&#xff1b;双指针&#xff09; 时间限制&#xff1a;4秒 占用内存&#xff1a;1024M &#x1f41f;题目描述 世界警察小码哥来谈判了&#xff0c;恐怖分子在银行挟持了 n 个人质&#xff0c;每个…

Docker-安装

Docker ⛅Docker-安装&#x1f320;各平台支持情况&#x1f320;Server 版本安装☃️Ubuntu☃️Centos &#x1f320;Docker 镜像源修改&#x1f320;Docker 目录修改 ⛅Docker-安装 &#x1f320;各平台支持情况 &#x1f320;Server 版本安装 ☃️Ubuntu &#x1f342;安装…

LiveGBS流媒体平台GB/T28181功能-HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书

LiveGBS功能支持HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 LiveCMS 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、HTTPS测试证书3、验证HTTPS服务4、为什么要…

Visual Studio 2013 - 清理

Visual Studio 2013 - 清理 1. 清理1.1. 工程清理1.2. 解决方案清理 References 1. 清理 Debug Release 1.1. 工程清理 (right mouse click on the project) -> 清理 1.2. 解决方案清理 (right mouse click on the solution) -> 清理解决方案 References [1] Yongq…

Vue技能树总结01

Vue vs React 相似之处: 它们都有使用 Virtual DOM&#xff1b;提供了响应式&#xff08;Reactive&#xff09;和组件化&#xff08;Composable&#xff09;的视图组件。将注意力集中保持在核心库&#xff0c;而将其他功能如路由和全局状态管理交给相关的库。React 比 Vue 有更…

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

什么是Spring Boot

什么是Spring Boot Spring Boot是一个由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。通过这种方式&#xff0c;Spring Boot致力于…

网络货运平台有哪些

网络货运平台有运满满、货拉拉、快狗打车、滴滴货运、货运宝、G7、货骑士、云鸟配送、积微物联、中储智运等。 运满满 运满满创立于2013年&#xff0c;是国内首家基于云计算、大数据、移动互联网和人工智能技术开发的货运调度平台&#xff0c;是公路物流领域高新技术综合应用…

C++ 命名空间的定义,及使用

命名空间 C中什么是命名空间&#xff1f; &#xff08;个人理解&#xff0c;仅供参考&#xff09; 就像C本身中面向对象中的类&#xff0c;是一个相对封闭的结构&#xff0c;将具有某一特定属性的数据、函数、类对象等归为一类放置在该空间内&#xff0c;这个应该是命名空间…

线性代数基础概念和在AI中的应用

基本概念 线性代数是数学的一个分支&#xff0c;专注于向量、向量空间&#xff08;也称为线性空间&#xff09;、线性变换和矩阵的研究。这些概念在数据科学、人工智能、工程学和物理学等多个领域都有广泛应用。以下是这些基本概念的详细解释和它们在数据处理和AI中的应用。 …

开发微信小程序被鹅厂背刺

最近在开发微信小程序&#xff0c;没来得及更文。等开发完成后&#xff0c;给大家写保姆帖系列。刚刚看到一张动图&#xff0c;忍不住分享给大家。属实反映了鹅厂风格了。