蓝桥杯 web 展开你的扇子(css3)

普通答案:
#box:hover #item1{transform: rotate(-60deg);
}
#box:hover #item2{transform: rotate(-50deg);
}
#box:hover #item3{transform: rotate(-40deg);
}
#box:hover #item4{transform: rotate(-30deg);
}
#box:hover #item5{transform: rotate(-20deg);
}
#box:hover #item6{transform: rotate(-10deg);
}
#box:hover #item12{transform: rotate(60deg);
}
#box:hover #item11{transform: rotate(50deg);
}
#box:hover #item10{transform: rotate(40deg);
}
#box:hover #item9{transform: rotate(30deg);
}
#box:hover #item8{transform: rotate(20deg);
}
#box:hover #item7{transform: rotate(10deg);
}
1. 选择器解析
#box:hover #item6 {transform: rotateZ(-10deg);
}
(1) #box:hover
#box是一个 ID 选择器,表示选中 HTML 中id="box"的元素。:hover是一个伪类,表示当用户将鼠标悬停在该元素上时应用样式。#box:hover的意思是:当鼠标悬停在id="box"的元素上时,触发相关的样式规则。
(2) #item6
#item6是另一个 ID 选择器,表示选中 HTML 中id="item6"的元素。#box:hover #item6表示:当鼠标悬停在#box上时,选中#box内部的#item6元素。
2. 样式规则
transform: rotateZ(-10deg);
(1) transform 属性
transform是一个 CSS 属性,用于对元素进行变换操作(如旋转、缩放、移动等)。- 在这里,
transform被用来对#item6进行旋转。
(2) rotateZ(-10deg)
rotateZ是transform的一个函数,表示围绕 Z 轴旋转。-10deg表示逆时针旋转 10 度(负值为逆时针,正值为顺时针)。- 因此,
rotateZ(-10deg)的意思是:让#item6元素围绕 Z 轴逆时针旋转 10 度。
如果你不指定旋转轴(如 rotateX, rotateY, 或 rotateZ),则默认是围绕 Z 轴进行旋转。这意味着单独使用 rotate 实际上等同于 rotateZ。
扩展:js 做法
box.onmouseover = () => {
for(let i = 1; i <=6; i++ ) {
let item = document.querySelector(`#item${i}`) item.style.transform = `rotate(${-60+(i-1)*10}deg)`
console.log(item) } for(let i = 7; i <=12; i++ ) {
let item = document.querySelector(`#item${i}`) item.style.transform = `rotate(${(i-6)*10}deg)`
console.log(item) }
代码逐行解析
1. box.onmouseover = () => { ... }
- 这是一个事件绑定,表示当用户将鼠标悬停在
box元素上时,执行后面的箭头函数。 onmouseover是原生 DOM 的事件属性,类似于addEventListener('mouseover', ...)。
2. 第一个 for 循环
for (let i = 1; i <= 6; i++) {let item = document.querySelector(`#item${i}`);item.style.transform = `rotate(${-60 + (i - 1) * 10}deg)`;console.log(item);
}
(1) for (let i = 1; i <= 6; i++)
- 循环从
i = 1开始,到i = 6结束,总共循环 6 次。 - 每次循环处理一个
#itemX元素(#item1到#item6)。
(2) let item = document.querySelector(#item${i})
- 使用模板字符串
`#item${i}`动态生成选择器,例如:- 当
i = 1时,选择器为#item1。 - 当
i = 2时,选择器为#item2。
- 当
document.querySelector返回匹配该选择器的第一个 DOM 元素。
(3) item.style.transform = rotate(${-60 + (i - 1) * 10}deg)``
- 设置
item元素的transform样式,使其旋转一定的角度。 -60 + (i - 1) * 10是一个数学表达式,用于计算旋转角度:- 当
i = 1时:-60 + (1 - 1) * 10 = -60,即旋转-60deg。 - 当
i = 2时:-60 + (2 - 1) * 10 = -50,即旋转-50deg。 - 当
i = 3时:-60 + (3 - 1) * 10 = -40,即旋转-40deg。 - 以此类推,直到
i = 6时,旋转角度为-10deg。
- 当
(4) console.log(item)
- 打印当前处理的
item元素,方便调试和查看是否正确选择了目标元素。
3. 第二个 for 循环
for (let i = 7; i <= 12; i++) {let item = document.querySelector(`#item${i}`);item.style.transform = `rotate(${(i - 6) * 10}deg)`;console.log(item);
}
(1) for (let i = 7; i <= 12; i++)
- 循环从
i = 7开始,到i = 12结束,总共循环 6 次。 - 每次循环处理一个
#itemX元素(#item7到#item12)。
(2) let item = document.querySelector(#item${i})
- 同第一个循环,动态生成选择器并获取对应的 DOM 元素。
(3) item.style.transform = rotate(${(i - 6) * 10}deg)``
- 设置
item元素的transform样式,使其旋转一定的角度。 (i - 6) * 10是一个数学表达式,用于计算旋转角度:- 当
i = 7时:(7 - 6) * 10 = 10,即旋转10deg。 - 当
i = 8时:(8 - 6) * 10 = 20,即旋转20deg。 - 当
i = 9时:(9 - 6) * 10 = 30,即旋转30deg。 - 以此类推,直到
i = 12时,旋转角度为60deg。
- 当
(4) console.log(item)
- 同第一个循环,打印当前处理的
item元素。
相关文章:
蓝桥杯 web 展开你的扇子(css3)
普通答案: #box:hover #item1{transform: rotate(-60deg); } #box:hover #item2{transform: rotate(-50deg); } #box:hover #item3{transform: rotate(-40deg); } #box:hover #item4{transform: rotate(-30deg); } #box:hover #item5{transform: rotate(-20deg); }…...
聚焦楼宇自控:优化建筑性能,引领智能化管控与舒适环境
在当今建筑行业蓬勃发展的浪潮中,人们对建筑的要求早已超越了传统的遮风避雨功能,而是更加注重建筑性能的优化、智能化的管控以及舒适环境的营造。楼宇自控系统作为现代建筑技术的核心力量,正凭借其卓越的功能和先进的技术,在这几…...
前端视频流技术深度解析
一、视频流技术体系架构 1.1 现代视频流技术栈 1.1.1 核心协议对比 协议传输方式延迟适用场景浏览器支持HLSHTTP分片6-30s点播、直播回看全平台DASHHTTP动态适配3-15s多码率自适应Chrome/FirefoxWebRTCP2P/UDP<500ms实时通信、直播现代浏览器RTMPTCP长连接1-3s传统直播推…...
k8s核心资源对象一(入门到精通)
本文将深入探讨Kubernetes中的核心资源对象,包括Pod、Deployment、Service、Ingress、ConfigMap和Secret,详细解析其概念、功能以及实际应用场景,帮助读者全面掌握这些关键组件的使用方法。 一、pod 1 pod概念 k8s最小调度单元,…...
Ubuntu16.04配置远程连接
配置静态IP Ubuntu16.04 修改超管账户默认密码 # 修改root账户默认密码 sudo passwd Ubuntu16.04安装SSH # 安装ssh服务: sudo apt-get install ssh# 启动SSH服务: sudo /etc/init.d/ssh start # 开机自启 sudo systemctl enable ssh# 如无法连接&…...
基于springboot微信小程序课堂签到及提问系统(源码+lw+部署文档+讲解),源码可白嫖!
摘要 随着信息时代的来临,过去的课堂签到及提问管理方式的缺点逐渐暴露,本次对过去的课堂签到及提问管理方式的缺点进行分析,采取计算机方式构建基于微信小程序的课堂签到及提问系统。本文通过阅读相关文献,研究国内外相关技术&a…...
互联网三高-高性能之JVM调优
1 运行时数据区 JVM运行时数据区是Java虚拟机管理的内存核心模块,主要分为线程共享和线程私有两部分。 (1)线程私有 ① 程序计数器:存储当前线程执行字节码指令的地址,用于分支、循环、异常处理等流程控制 ② 虚拟机…...
数据操作语言
一、DML的核心操作类型 1.添加数据(INSERT) (1)手动插入:逐行插入数据,适用于少量数据。 INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);(2)批量导入:通过外部文件导入数据,适用于大数据场景...
智谛达科技:以创新为翼,翱翔AI人形机器人蓝海
在科技创新的浩瀚星空中,智谛达科技集团犹如一颗璀璨的明星,以其独特的创新光芒,照亮了AI人形机器人的广阔蓝海。这家在AI领域深耕多年的企业,始终秉持着创新为翼的发展理念,不断突破技术瓶颈,拓展应用场景,以卓越的实力和前瞻性的思维,引领着人形机器人行业的未来发展。 智谛达…...
封装可拖动弹窗(vue jquery引入到html的版本)
vue cli上简单的功能,在js上太难弄了,这个弹窗功能时常用到,保存起来备用吧 备注:deepseek这个人工智障写一堆有问题的我,还老服务器繁忙 效果图: html代码: <div class"modal-mask&qu…...
【LeetCode77】组合
题目描述 给定区间 [1, n] 和一个整数 k,需要返回所有可能的 k 个数的组合。 思路 算法选择:回溯算法 回溯算法是一种试探性搜索方法,非常适合用来解决组合问题。基本思想是: 从数字 1 开始,逐步构建组合。当当前组…...
【技术报告】GPT-4o 原生图像生成的应用与分析
【技术报告】GPT-4o 原生图像生成的应用与分析 1. GPT-4o 原生图像生成简介1.1 文本渲染能力1.2 多轮对话迭代1.3 指令遵循能力1.4 上下文学习能力1.5 跨模态知识调用1.6 逼真画质与多元风格1.7 局限性与安全性 2. GPT-4o 技术报告2.1 引言2.2 安全挑战、评估与缓解措施2.2.1 安…...
初阶数据结构(3)顺序表
Hello~,欢迎大家来到我的博客进行学习! 目录 1.线性表2.顺序表2.1 概念与结构2.2 分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现初始化尾插头插尾删头删查找指定位置之前插入数据删除指定位置的数据销毁 1.线性表 首先我们需要知道的是,…...
Visual Studio 中使用 Clang 作为 C/C++ 编译器时,设置优化选项方法
在 Visual Studio 中使用 Clang 作为 C/C 编译器时,可以通过以下方法设置优化选项: 方法 1:通过项目属性设置(推荐) 右键项目 → 属性 配置属性 → C/C → 优化 优化:选择优化级别 /O0 - 禁用优化&#x…...
设计模式简述(七)原型模式
原型模式 描述基本使用 使用场景 描述 基于已有对象,利用JDK的Cloneable接口,生成一个新的对象。 常用于需要同时创建多个对象的场景 默认的clone是浅拷贝,如果要实现深拷贝需自行处理 可以在clone方法中手动拷贝数组成员或者其他引用类型成…...
Linux中查看占用端口号的进程信息的方法
在 Linux 中查看占用 ** 端口(eg:1717)**的进程号(PID),可以通过以下命令实现: 方法 1:使用 netstat 命令 sudo netstat -tulnp | grep :1717参数解释: -t:查看 TCP 端口…...
谷歌发布网络安全AI新模型Sec-Gemini v1
谷歌近日宣布推出实验性AI模型Sec-Gemini v1,旨在通过人工智能技术革新网络安全防御体系。该模型由Sec-Gemini团队成员Elie Burzstein和Marianna Tishchenko共同研发,旨在帮助网络安全人员应对日益复杂的网络威胁。 攻防不对称的破局之道 Sec-Gemini团队…...
【学Rust写CAD】35 alpha_mul_256(alpha256.rs补充方法)
源码 // Calculates (value * alpha256) / 255 in range [0,256], // for [0,255] value and [0,256] alpha256. pub fn alpha_mul_256(self,value: u32) -> Alpha256 {let prod value * self.0;Alpha256((prod (prod >> 8)) >> 8) }代码分析 这个函数 alph…...
嵌入式工程师多线程编程(三)裸机编程、RTOS、Linux及多线程编程的全面对比
以下是裸机编程、RTOS、Linux及多线程编程的全面对比解析,结合技术特性和应用场景进行深度分析: 一、架构与调度机制对比 维度裸机编程RTOSLinux任务调度无调度器(轮询/前后台系统)抢占式优先级调度(硬实时࿰…...
Meta LLaMA 4:对抗 GPT-4o 与 Claude 的开源王牌
2025 年 4 月,Meta 正式发布了 LLaMA 4 系列的首批两款模型。 这两款模型模型分别是:LLaMA 4 Scout 与 LLaMA 4 Maverick,均采用了 专家混合架构(Mixture-of-Experts, MoE)。 据 Meta 表示,这是首次有 …...
企业级 ClickHouse Docker 离线部署实践指南20250407
企业级 ClickHouse Docker 离线部署实践指南 引言 在数据分析与日志处理日益重要的今天,ClickHouse 凭借其高性能、列式存储架构,成为企业在大数据分析中的首选引擎之一。本文基于一位金融行业从业者在离线网络环境中部署 ClickHouse 的真实实践过程&a…...
STM32看门狗应用实战:独立看门狗与窗口看门狗深度解析(下) | 零基础入门STM32第九十五步
主题内容教学目的/扩展视频看门狗什么是看门狗,原理分析,启动喂狗方法,读标志位。熟悉在程序里用看门狗。 师从洋桃电子,杜洋老师 📑文章目录 一、看门狗应用架构分析1.1 系统监控流程图1.2 双看门狗应用场景对比 二、…...
DeepSeek-MLA
MLA 结构 需要缓存 KV 向量共用的压缩隐特征K 向量多头共享的带位置编码的向量 为什么带有位置信息的 Q 向量来自于隐特征向量,而带有位置的 K 向量来自于 H 向量且共享呢? 最好的方法肯定是从H向量直接计算并且不共享,但是会大大增加显存使…...
pyTorch-迁移学习-学习率衰减-四种天气图片多分类问题
目录 1.导包 2.加载数据、拼接训练、测试数据的文件夹路径 3.数据预处理 3.1 transforms.Compose数据转化 3.2分类存储的图片数据创建dataloader torchvision.datasets.ImageFolder torch.utils.data.DataLoader 4.加载预训练好的模型(迁移学习) 4.1固定、修改预训练…...
基于大模型的GCSE预测与治疗优化系统技术方案
目录 技术方案文档:基于大模型的GCSE预测与治疗优化系统1. 数据预处理模块功能:整合多模态数据(EEG、MRI、临床指标等),标准化并生成训练集。伪代码流程图2. 大模型架构(Transformer-GNN混合模型)功能:联合建模时序信号(EEG)与空间结构(脑网络)。伪代码流程图3. 术…...
vscode Colipot 编程助手
1、登录到colipot,以github账号,关联登录 点击【continue】按钮,继续。 点击【打开Visual Studio Code】,回到vscode中。 2、问一下11? 可以看出,很聪明,一下子就算出来了。 3、帮我们写一个文件…...
1、window 下SDL 下载使用, 测试环境搭建
1. SDL3下载 官网: https://www.libsdl.org/ 点击SDL Releases 或者 SDL GItHub 进入github下载: 因为自己在windows下使用的mingw,所以下载mingw版的,也可以 下载源码自己编译。 2. 项目搭建 这里使用的时mingw vsocde cmake, 可以使…...
OpenGL学习笔记(模型材质、光照贴图)
目录 光照与材质光照贴图漫反射贴图采样镜面光贴图 GitHub主页:https://github.com/sdpyy OpenGL学习仓库:https://github.com/sdpyy1/CppLearn/tree/main/OpenGLtree/main/OpenGL):https://github.com/sdpyy1/CppLearn/tree/main/OpenGL 光照与材质 在现实世界里&…...
【MySQL】常用SQL--持续更新ing
一、配置信息类 1.查看版本 select version; 或 select version(); 2.查看配置 show global variables where variable_name in (basedir,binlog_format,datadir,expire_logs_days,innodb_buffer_pool_size,innodb_log_buffer_size,innodb_log_file_size,innodb_log_files_i…...
视频分析设备平台EasyCVR打造汽车门店经营场景安全:AI智慧安防技术全解析
一、方案背景 某电动车企业不停爆出维权新闻,支持和反对的声音此起彼伏,事情不断发酵、反转,每天都有新消息,令人目不暇接。车展、车店作为维权事件的高发场所,事后复盘和责任认定时,安防监控和视频监控平…...
