HTML+CSS、Vue+less+、HTML+less 组件封装实现二级菜单切换样式跑(含全部代码)

一、HTML+CSS二级菜单

请添加图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><link rel="stylesheet" type="text/css" href="nav.css" /><script src="bottom.js" defer></script></head><body id="body"><!--大框架--><div class="box"><div class="nav1"><!--横向导航栏--><div id="logo" class="logo"><p><img src="logo.png" width="100px" height="99px" /></p></div><ul><li class="special"><a href="#"> HOME</a></li><li class="special"><a href="#"> PRODUCT </a></li><li class="special"><a href="#"> LOGIN</a></li><li class="special"><a href="#"> ABOUT </a></li><!-- <div id="container"><span style="display: inline-block; width:100px;margin-top:31px ;margin-left: -23px;font-size:x-large;">⚫</span><label class="switch"><input type="checkbox" οnclick="changeMode()"><span class="slider"></span></label><span style="display:inline-block;margin-top:31px;margin-right: -17px;font-size:x-large;width: 100px;">⚪</span></div> --><script>function changeMode() {var element = document.body;element.classList.toggle("dark-mode");}</script></ul><div class="gou"><img src="购物车 (1).png" /></div><div id="container"><!-- <span style="display: inline-block; width:100px;margin-top:31px ;margin-left: -23px;font-size:x-large;">⚫</span> --><label class="switch"><input type="checkbox" onclick="changeMode()" /><span class="slider"></span></label><!-- <span style="display:inline-block;margin-top:31px;margin-right: -17px;font-size:x-large;width: 100px;">🎁</span> --></div><div id="bottom">Back to top</div></div></div></body>
</html>
.box{position: relative;z-index: 20;background-color: #111;
}
.logo{position: absolute;left: 0px;z-index: 40;top: -15px;bottom: 0px;
}
body{height: 3000px;background: #f7f0e9;transition: .4s;margin: 0px;
}ul{list-style-type: none; /*清除无序列表前的小点*/width: 100%;height: 100px;background: #aa9580;margin: 0px;padding-left: 27%;/*左边距,使li看起来在中间*/position: relative;text-align: center;top:0;}
.nav1{position: fixed;width: 100%;background-color: #aa9580;}
li{float: left;width: 15%;height: 50px;padding-right: 0px;margin-right: auto;  /*两个li之间的距离*/background-color: #aa9580;}
a:link,a:visited{ /*鼠标未点击和点击过时的样式*/display: block;color: #FFFFFF;background-color: #aa9580;text-align: center;line-height: 80px; /*li行高*/padding: 10px;text-decoration: none; /*去下划线*/
}
a:hover{ /*鼠标移动到点击位时的样式,active指点击过后的样式*/background-color: #8d7256;
}#bottom { background-color: rgb(129, 192, 242);position: fixed; right: 20px; bottom: 20px; text-align: center;width: 90px; height: 90px; line-height: 90px; color: #fff; border-radius: 50%; display: none; cursor: pointer; } 
#bottom:hover { background-color: rgb(45, 150, 233); }
.special{font-size: 25px;
}
div{display: flex;
}
.gou{height: 50px;margin-left: 0;width: 50px;margin-right: 20px;margin-top: 20px;left: 0px;right: 100px;
}#container{width: 10%;height: 100px;display: flex;position: absolute;right: 0px;left: 1420px;flex-direction:row;justify-content: center;}
.switch{position: absolute;right: 0;display: inline-block;width: 70px;height: 34px;margin-top: 30px;margin-left: 30px;margin-right: 49px;}
.switch input{display: none;
}
.slider{position: absolute; cursor: pointer;top:0;left: 0;right: 0;bottom: 0;background-color: #8d7256;border-radius: 34px;transition: .4s;}
.slider::before{content: '';position: absolute;width:26px;height: 26px;left: 4px;bottom: 4px;/* background-color: #111; */border-radius: 34px;transition: .4s;background-image: url(face-smile-black.png);background-size:27px 27px;}
.input:checked + .slider{background: #dfdbdb;}
input:checked + .slider::before{transform: translateX(34px);background-image: url(face-smile-white.png);}
.dark-mode{background-color: #111;
}
二、HTML+less二级菜单(文章尾部有vscode中less自动编译成css步骤)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" type="text/css" href="navLess.css" />
</head>
<body><div class="nav"><ul><li><a href="">	主页</a></li><li><a href="">盗梦空间</a></li><li><a href="">沃音乐</a></li><li><a href="">书香沁鼻</a></li></ul></div>
</body>
</html>
.box{position: relative;z-index: 20;background-color: #111;
}
.logo{position: absolute;left: 0px;z-index: 40;top: -15px;bottom: 0px;
}
body{height: 3000px;background: #f7f0e9;transition: .4s;margin: 0px;
}ul{list-style-type: none; /*清除无序列表前的小点*/width: 100%;height: 100px;background: #aa9580;margin: 0px;padding-left: 27%;/*左边距,使li看起来在中间*/position: relative;text-align: center;top:0;}
.nav1{position: fixed;width: 100%;background-color: #aa9580;}
li{float: left;width: 15%;height: 50px;padding-right: 0px;margin-right: auto;  /*两个li之间的距离*/background-color: #aa9580;}
a:link,a:visited{ /*鼠标未点击和点击过时的样式*/display: block;color: #FFFFFF;background-color: #aa9580;text-align: center;line-height: 80px; /*li行高*/padding: 10px;text-decoration: none; /*去下划线*/
}
a:hover{ /*鼠标移动到点击位时的样式,active指点击过后的样式*/background-color: #8d7256;
}#bottom { background-color: rgb(129, 192, 242);position: fixed; right: 20px; bottom: 20px; text-align: center;width: 90px; height: 90px; line-height: 90px; color: #fff; border-radius: 50%; display: none; cursor: pointer; } 
#bottom:hover { background-color: rgb(45, 150, 233); }
.special{font-size: 25px;
}
div{display: flex;
}
.gou{height: 50px;margin-left: 0;width: 50px;margin-right: 20px;margin-top: 20px;left: 0px;right: 100px;
}#container{width: 10%;height: 100px;display: flex;position: absolute;right: 0px;left: 1420px;flex-direction:row;justify-content: center;}
.switch{position: absolute;right: 0;display: inline-block;width: 70px;height: 34px;margin-top: 30px;margin-left: 30px;margin-right: 49px;}
.switch input{display: none;
}
.slider{position: absolute; cursor: pointer;top:0;left: 0;right: 0;bottom: 0;background-color: #8d7256;border-radius: 34px;transition: .4s;}
.slider::before{content: '';position: absolute;width:26px;height: 26px;left: 4px;bottom: 4px;/* background-color: #111; */border-radius: 34px;transition: .4s;background-image: url(face-smile-black.png);background-size:27px 27px;}
.input:checked + .slider{background: #dfdbdb;}
input:checked + .slider::before{transform: translateX(34px);background-image: url(face-smile-white.png);}
.dark-mode{background-color: #111;
}
三、Vue+less
<template><view class="fu-tabs"><view class="fu-tabs-item" v-for="(item,index) in tabs" :key="index" :class="checkedIndex===index?'checked':null" @click="checkHandler(index)">{{ item }}</view></view>
</template><script>export default{props:{tabs:{type:Array,default:()=>[]},checked:{type:Number,default:0}},data(){return{checkedIndex:this.checked}},methods:{checkHandler(index){this.checkedIndex = indexthis.$emit('change',index)}}}
</script><style scoped>page{background-color: #fff;}.fu-tabs{display: flex;margin: 15px;}.fu-tabs-item{padding: 10px;color: #333;box-sizing: border-box;border: 1px solid rgba(222, 222, 222, 1);}.fu-tabs-item:nth-child(1){border-top-left-radius: 4px;border-bottom-left-radius: 4px;}.fu-tabs-item:last-child{border-top-right-radius: 4px;border-bottom-right-radius: 4px;}.checked{color: #1e98d7;border: 1px solid #1e98d7;background-color: #d1eaf7;}
</style>

ps:vscode中less自动编译成css
1.安装插件
在这里插入图片描述
2.点击配置
在这里插入图片描述
在这里插入图片描述

3.点击配置

  "less.compile": {"compress": true, // 是否删除多余空白字符"sourceMap": false, // 是否创建文件目录树,true的话会自动生成一个 .css.map 文件"out": true, // 如果是true就会生成同级文件"outExt": ".css", // 输出文件的后缀,默认为.css 如果是微信小程序后缀为.wxss}

在这里插入图片描述
4.重启vscode

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

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

相关文章

4K壁纸下载器,多种风格壁纸,一键批量下载到本地,桌面壁纸,高清壁纸,壁纸下载

一个桌面壁纸爬虫工具&#xff0c;该工具可以从内置的多个壁纸网站爬取高清壁纸&#xff0c;并支持将壁纸一键下载到本地&#xff0c;真正实现了所见即所得&#xff0c;不必再费心费力的翻看多个网站。 文末附工具下载链接~ 一、软件简介 本次带来的工具由吾爱的一位大佬开发…

SRRC认证的必要性:保障电子产品质量安全的重要措施

随着电子产品的普及和应用&#xff0c;对电子产品的质量安全要求也越来越高。为了保障消费者的权益和安全&#xff0c;国家对电子产品进行了严格的监管和管理。其中&#xff0c;SRRC认证是保障电子产品质量安全的重要措施之一。 SRRC认证是指在我国境内生产、销售、使用的无线电…

浙大计算机学院2024届推免直博生名单

名单&#xff1a; 分析&#xff1a; 浙大计算机学院共录取推免直博生158人&#xff0c;其中计算机科学与技术专业73人&#xff0c;人工智能专业7人&#xff0c;软件工程专业21人&#xff0c;网络空间安全专业19人&#xff0c;电子信息专业31人&#xff0c;设计专业7人 欢迎关…

idea Plugins 搜索不到插件

Settings — System Settings — HTTP Proxy&#xff0c;打开HTTP Proxy 页面&#xff0c;设置自动发现代理&#xff1a; 勾选Atuto-detect proxy settings&#xff0c;勾选Automatic proxy configuration URL&#xff0c;输入&#xff1a; https://plugins.jetbrains.com/id…

力扣每日一题 ---- 2905. 找出满足差值条件的下标 II

这道题带有绝对值差的题&#xff0c;一看就是双指针的题&#xff0c;并且还带有两个限制&#xff0c;那么我们的做法就是 固定一个条件&#xff0c;维护一个条件 本题还用到了一个贪心思路&#xff0c;会介绍到 那我们怎么固定一个条件&#xff0c;维护一个条件&#xff1f; …

java多线程文件下载器

文章目录 1.简介2.文件下载的核心3.文件下载器的基础代码3.1 HttpURLConnection3.2 用户标识 4.下载信息4.1 计划任务4.2 ScheduledExecutorService&#x1f340; schedule方法&#x1f340; scheduleAtFixedRate方法&#x1f340; scheduleWithFixedDelay方法 5.线程池简介5.1…

python+pytorch人脸表情识别

概述 基于深度学习的人脸表情识别&#xff0c;数据集采用公开数据集fer2013&#xff0c;可直接运行&#xff0c;效果良好&#xff0c;可根据需求修改训练代码&#xff0c;自己训练模型。 详细 一、概述 本项目以PyTorch为框架&#xff0c;搭建卷积神经网络模型&#xff0c;训…

Zigbee—网络层地址分配机制

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;孤雏 0:21━━━━━━️&#x1f49f;──────── 4:14 &#x1f504; ◀️ ⏸ ▶️ ☰ &#x1f497;关注…

AI 时代的企业级安全合规策略

目录 漏洞分类管理的流程 安全策略管理 在扫描结果策略中定义细粒度的规则 有效考虑整个组织中的关键漏洞 确保职责分离 尝试组合拳 本文来源&#xff1a;about.gitlab.com 作者&#xff1a;Grant Hickman 在应用程序敏捷研发、敏捷交付的今天&#xff0c;让安全人员跟上…

EasyExcel 导出冻结指定行

导出的实体类 package org.jeecg.modules.eis.test;import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.*; import lombok.Getter; import lombok.Setter; import org.apache.poi.ss.usermodel.HorizontalAlignment;import…

pytorch复现_UNet

什么是UNet U-Net由收缩路径和扩张路径组成。收缩路径是一系列卷积层和汇集层&#xff0c;其中要素地图的分辨率逐渐降低。扩展路径是一系列上采样层和卷积层&#xff0c;其中特征地图的分辨率逐渐增加。 在扩展路径中的每一步&#xff0c;来自收缩路径的对应特征地图与当前特征…

css设置浏览器表单自动填充时的背景

浏览器自动填充表单内容&#xff0c;会自动设置背景色。对于一般的用户&#xff0c;也许不会觉得有什么&#xff0c;但对于要求比较严格的用户&#xff0c;就会“指手画脚”。这里&#xff0c;我们通过css属性来设置浏览器填充背景的过渡时间&#xff0c;使用户看不到过渡后的背…

win10下.net framework 3.5 | net framework 4 无法安装解决方案

.net缺失解决方案 win10 .net framework 3.5组策略设置方案一方案二 win10 .net framework 4 参考文章 win10 .net framework 3.5 组策略设置 方案一 搜索组策略&#xff0c;依次展开“计算机配置”、“管理模板”&#xff0c;然后选择“系统”&#xff0c;找到指定可选组件…

Leetcode2246. 相邻字符不同的最长路径

Every day a Leetcode 题目来源&#xff1a;2246. 相邻字符不同的最长路径 解法1&#xff1a;树形 DP 如果没有相邻节点的限制&#xff0c;那么本题求的就是树的直径上的点的个数&#xff0c;见于Leetcode543. 二叉树的直径。 考虑用树形 DP 求直径。 枚举子树 x 的所有子…

如何让群晖Audio Station公开共享的本地音频公网可访问?

文章目录 1. 本教程使用环境&#xff1a;2. 制作音频分享链接3. 制作永久固定音频分享链接&#xff1a; 之前文章我详细介绍了如何在公网环境下使用pc和移动端访问群晖Audio Station&#xff1a; 公网访问群晖audiostation听歌 - cpolar 极点云 群晖套件不仅能读写本地文件&a…

Go基础知识全面总结

文章目录 go基本数据类型bool类型数值型字符字符串 数据类型的转换运算符和表达式1. 算数运算符2.关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符运算符优先级转义符 go基本数据类型 bool类型 布尔型的值只可以是常量 true 或者 false。⼀个简单的例⼦&#…

竞赛选题 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习猫狗分类 ** 该项目较为新颖&a…

Python基础教程之十六:Python multidict示例–将单个键映射到字典中的多个值

1.什么是multidict词典> 在python中&#xff0c;“ multidict ”一词用于指代字典&#xff0c;在字典中可以将单个键映射到多个值。例如 多重结构 multidictWithList {key1 : [1, 2, 3],key2 : [4, 5]}multidictWithSet {key1 : {1, 2, 3},key2 : {4, 5}}1. list如果要…

内核移植笔记 Cortex-M移植

常用寄存器 PRIMASK寄存器 为1位宽的中断屏蔽寄存器。在置位时&#xff0c;它会阻止不可屏蔽中断&#xff08;NMI&#xff09;和HardFault异常之外的所有异常&#xff08;包括中断&#xff09;。 实际上&#xff0c;它是将当前异常优先级提升为0&#xff0c;这也是可编程异常/…

uniapp使用vue3和ts开发小程序自定义tab栏,实现自定义凸出tabbar效果

要实现自定义的tabbar效果&#xff0c;可以使用自定义tab覆盖主tab来实现&#xff0c;当程序启动或者从后台显示在前台时隐藏自带的tab来实现。自定义一个tab组件&#xff0c;然后在里面实现自定义的逻辑。 组件中所使用的组件api可以看&#xff1a;Tabbar 底部导航栏 | uView…