CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
一、结构性伪类选择器:文档树中的位置导航器
结构性伪类选择器是CSS中基于元素在HTML文档树中的层级关系、位置索引或结构特征进行匹配的一类选择器。它们无需依赖具体的类名或ID,仅通过文档结构即可精准定位元素,是实现响应式布局和复杂文档样式的核心工具。
(一)基于子元素位置的选择器
1. 基础位置匹配
-
:first-child
- 语法:
:first-child
- 作用:匹配父元素的第一个子元素(无论标签类型)
- 示例:
.nav > li:first-child { border-left: none; } /* 导航栏第一个项目移除左侧边框 */
- 特性:若第一个子元素是文本节点或注释,选择器失效,需配合类型选择器(如
div:first-child
)。
- 语法:
-
:last-child
- 语法:
last-child
- 作用:匹配父元素的最后一个子元素
- 示例:
.grid-item:last-child { margin-right: 0; } /* 网格布局最后一个元素移除右侧边距 */
- 语法:
-
:only-child
- 语法:
:only-child
- 作用:匹配父元素中唯一的子元素(同时满足
first-child
和last-child
) - 示例:
.single-content:only-child { padding: 40px 0; } /* 单独内容块添加垂直内边距 */
- 语法:
2. 索引型精准定位(nth-child()
家族)
-
:nth-child(an+b)
- 语法:支持线性表达式,
n
从1开始计数 - 参数解析:
- 数字:
5
表示第五个子元素 - 关键词:
even
(偶数,等效2n
)、odd
(奇数,等效2n+1
) - 公式:
3n+2
表示2,5,8…位置的元素
- 数字:
- 示例:
article p:nth-child(3) { font-style: italic; } /* 第三个段落斜体 */ .list li:nth-child(even) { background: #f5f7fa; } /* 偶数列表项浅灰背景 */
- 语法:支持线性表达式,
-
:nth-last-child(n)
- 语法:从最后一个子元素开始反向计数
- 示例:
.pagination li:nth-last-child(3) { margin-left: 20px; } /* 倒数第三个分页按钮 */
3. 类型敏感型选择(of-type
系列)
-
:first-of-type
- 语法:
:first-of-type
- 作用:匹配父元素中同标签类型的第一个子元素(忽略其他类型子元素)
- 示例:
.content > *:first-of-type { margin-top: 0; } /* 内容区第一个任意类型子元素移除顶部边距 */
- 语法:
-
:nth-of-type(an+b)
- 语法:仅对同标签类型的子元素计数
- 示例:
.blog-post div:nth-of-type(2) { border-top: 1px solid #eee; } /* 第二个div子元素添加顶部边框 */
(二)特殊结构匹配
1. 空元素与目标锚点
-
:empty
- 语法:
:empty
- 作用:匹配不包含任何子元素(包括文本节点)的元素
- 示例:
.alert:empty { display: none; } /* 隐藏空的提示框 */
- 注意:
或空格会导致选择器失效,需确保元素完全为空。
- 语法:
-
:target
- 语法:
:target
- 作用:匹配URL锚点指向的元素(如
#about
对应的<div id="about">
) - 示例:
:target { outline: 3px solid #2196F3; animation: pulse 2s infinite; } /* 锚点定位时元素闪烁高亮 */
- 语法:
(三)应用场景与最佳实践
- 表格斑马纹:
tr:nth-child(even)
实现奇偶行异色 - 响应式卡片布局:通过
nth-child(2n)
控制每行2个卡片(移动端适配) - 兼容性:IE9+支持完整语法,IE8及以下需借助JavaScript模拟(如jQuery的
:first-child
)
二、UI伪类选择器:表单元素的状态指示器
UI伪类选择器专注于匹配表单元素或用户界面组件的状态,用于实现动态的用户反馈、验证提示和交互效果,是提升表单可用性的关键工具。
(一)表单状态控制
1. 启用与禁用状态
-
:enabled
- 语法:
:enabled
- 作用:匹配未设置
disabled
属性的表单元素(如input
、button
、select
) - 示例:
input:enabled { border-color: #ccc; cursor: text; } /* 启用输入框的默认样式 */
- 语法:
-
:disabled
- 语法:
:disabled
- 作用:匹配设置了
disabled
属性的表单元素 - 示例:
button:disabled { opacity: 0.5; pointer-events: none; } /* 禁用按钮的视觉弱化 */
- 语法:
2. 选中与激活状态
-
:checked
- 语法:
:checked
- 作用:匹配选中的
radio
单选框或checkbox
复选框 - 示例:
input[type="checkbox"]:checked + label { color: #4CAF50; text-decoration: line-through; } /* 选中时标签添加删除线和绿色 */
- 语法:
-
:selected
- 语法:
:selected
- 作用:匹配
select
元素中被选中的option
选项 - 示例:
option:selected { background: #e8f5e9; font-weight: bold; } /* 选中选项的高亮样式 */
- 语法:
3. 只读与可写状态
-
:read-only
- 语法:
:read-only
- 作用:匹配设置了
readonly
属性的表单元素(不可编辑但可聚焦) - 示例:
input:read-only { background: #f8f9fa; color: #666; } /* 只读输入框的浅灰背景 */
- 语法:
-
:read-write
- 语法:
:read-write
- 作用:匹配可编辑的表单元素(与
:read-only
互斥) - 示例:
textarea:read-write { border: 2px solid #2196F3; resize: vertical; } /* 可写文本域的蓝色边框 */
- 语法:
(二)验证状态与焦点反馈
1. 有效性验证
-
:valid
- 语法:
:valid
- 作用:匹配符合HTML5表单验证规则的元素(如正确的邮箱、手机号格式)
- 示例:
input:valid { box-shadow: 0 0 8px rgba(76, 175, 80, 0.3); border-color: #4CAF50; } /* 有效输入的绿色高亮 */
- 语法:
-
:invalid
- 语法:
:invalid
- 作用:匹配不符合验证规则的元素
- 示例:
input:invalid:not(:focus) { box-shadow: 0 0 8px rgba(244, 67, 54, 0.3); border-color: #F44336; } /* 无效输入的红色警告(非聚焦时) */
- 语法:
2. 焦点状态
-
:focus
- 语法:
:focus
- 作用:匹配获得键盘或鼠标焦点的元素(如输入框、按钮)
- 示例:
input:focus { outline: none; border-width: 3px; transition: border-width 0.2s ease; } /* 聚焦时输入框边框加粗 */
- 语法:
-
:focus-within
- 语法:
:focus-within
- 作用:匹配自身或其子元素获得焦点的容器元素
- 示例:
.search-box:focus-within { background: #f5f5f5; box-shadow: inset 0 0 4px rgba(0,0,0,0.1); } /* 搜索框内任意元素聚焦时整体高亮 */
- 语法:
(三)应用场景与最佳实践
- 实时验证反馈:结合
:valid
/:invalid
和:focus
实现输入框动态样式 - 禁用状态处理:通过
:disabled
降低元素透明度并阻止交互 - 兼容性:现代浏览器(Chrome 10+、Firefox 4+)全面支持,IE10+支持基础状态,IE9及以下需脚本辅助
三、动态伪类选择器:用户交互的动态触发器
动态伪类选择器用于匹配元素在用户交互过程中或特定动态条件下的状态,是实现鼠标悬停、点击反馈、链接状态等交互效果的核心手段。
(一)传统动态状态(LVHA系列)
1. 链接生命周期状态
-
:link
- 语法:
:link
- 作用:匹配未被访问过的
<a>
元素(href
存在且未被访问) - 示例:
a:link { color: #2196F3; text-decoration: underline; } /* 未访问链接的蓝色下划线样式 */
- 语法:
-
:visited
- 语法:
:visited
- 作用:匹配已被访问过的链接
- 示例:
a:visited { color: #673AB7; text-decoration: none; } /* 已访问链接的紫色无下划线样式 */
- 限制:出于隐私保护,仅允许修改
color
、background-color
等少数样式属性。
- 语法:
-
:hover
- 语法:
:hover
- 作用:匹配鼠标指针悬停在元素上的状态(支持所有元素,不仅限于链接)
- 示例:
.card:hover { transform: scale(1.02); box-shadow: 0 8px 24px rgba(0,0,0,0.15); transition: all 0.3s ease; } /* 卡片悬停时的放大和阴影增强效果 */
- 语法:
-
:active
- 语法:
:active
- 作用:匹配被用户激活(鼠标按下未松开)的元素
- 示例:
button:active { transform: translateY(1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); } /* 按钮按下时的下沉效果 */
- 顺序规则:遵循LVHA顺序(:link → :visited → :hover → :active)以确保样式正确覆盖。
- 语法:
(二)焦点与逻辑控制
1. 焦点相关状态
:focus
(同UI伪类,侧重交互场景)- 应用:按钮聚焦时显示键盘导航提示
- 示例:
button:focus { outline: 3px solid #FFC107; outline-offset: 2px; } /* 键盘聚焦时的黄色高亮边框 */
2. 逻辑伪类增强
-
:not(selector)
- 语法:
:not(selector)
- 作用:匹配不符合指定选择器的元素(否定伪类)
- 示例:
.menu-item:not(:last-child) { border-right: 1px solid #eee; } /* 非最后一个菜单项添加右侧边框 */ input:not([type="checkbox"]):not([type="radio"]) { padding: 8px; } /* 非勾选类输入框的统一内边距 */
- 语法:
-
:is(selector-list)
- 语法:
:is(selector1, selector2, ...)
- 作用:匹配任何一个指定选择器的元素(逻辑或)
- 示例:
:is(h1, h2, h3, h4) { font-weight: 600; margin-bottom: 16px; } /* 统一所有标题的样式 */ .container :is(.header, .footer) { background: #f8f9fa; } /* 容器内头部和尾部的统一背景色 */
- 语法:
(三)应用场景与最佳实践
- 按钮交互闭环:组合
:hover
、:active
、:focus
实现完整的交互反馈.action-btn {/* 基础样式 */ } .action-btn:hover { /* 悬停效果 */ } .action-btn:active { /* 按下效果 */ } .action-btn:focus { /* 聚焦效果 */ }
- 响应式导航菜单:通过
:hover
在移动端显示隐藏子菜单(配合媒体查询) - 性能优化:避免在
:hover
中使用大量DOM操作或复杂动画,减少重绘重排
四、三大伪类选择器对比与协同应用
类别 | 核心定位 | 典型选择器 | 核心特性 | 典型场景 |
---|---|---|---|---|
结构性伪类 | 文档树层级与位置 | :first-child, :nth-child, :empty | 依赖文档结构,动态匹配元素位置 | 列表样式、表格斑马纹、响应式布局 |
UI伪类 | 表单元素状态 | :checked, :disabled, :valid | 基于表单属性或验证状态,动态样式反馈 | 表单验证、状态可视化、用户交互提示 |
动态伪类 | 用户交互状态 | :hover, :active, :focus | 基于鼠标/键盘交互,实时状态切换 | 按钮交互、链接反馈、焦点高亮 |
协同应用案例:高级表单组件
/* 结构性伪类:选择表单组的第二个输入框 */
.form-group > input:nth-child(2) { border-radius: 0 4px 4px 0;
}/* UI伪类:验证通过的输入框 */
input:valid { border-color: #4CAF50; animation: slideIn 0.3s ease;
}/* 动态伪类:悬停时显示提示信息 */
.label:hover::after { content: attr(data-tooltip); /* 提示框样式 */
}/* 逻辑组合:非禁用状态的有效输入框 */
input:enabled:valid { box-shadow: 0 0 8px rgba(76, 175, 80, 0.2);
}
五、兼容性与未来趋势
(一)浏览器支持现状
-
结构性伪类:
- IE9+完全支持
nth-child
系列,IE8及以下仅支持:first-child
和:last-child
- 现代浏览器(Chrome 10+、Firefox 4+、Edge 12+)全面支持
- IE9+完全支持
-
UI伪类:
:checked
、:disabled
在IE7+支持,:valid
、:invalid
需IE10+- 移动端浏览器(iOS Safari、Android Chrome)支持良好
-
动态伪类:
:hover
在IE6+支持(仅限<a>
元素),现代浏览器支持所有元素:is()
、:not()
在Chrome 88+、Firefox 78+支持良好
(二)未来发展方向
-
:has()
关系伪类(实验性):.parent:has(.child) { /* 包含子元素.child的.parent元素 */ }
支持根据子元素存在性选择父元素,实现更复杂的嵌套样式。
-
:any()
逻辑伪类:
未来可能替代:is()
,提供更强大的逻辑组合能力,如:any(.class1, .class2):hover
。 -
动态媒体状态伪类:
结合设备状态(如:hover
在触屏设备上的特殊处理),实现更智能的交互适配。
六、总结:伪类选择器的三维定位体系
CSS伪类选择器通过三个维度构建了完整的元素定位体系:
- 结构维度(结构性伪类):解决“元素在哪里”的问题,基于文档树层级精准定位
- 状态维度(UI伪类):解决“元素处于什么状态”的问题,基于表单属性和验证规则动态匹配
- 交互维度(动态伪类):解决“元素如何与用户交互”的问题,基于鼠标/键盘操作实时反馈
在实际开发中,需遵循以下原则:
- 语义优先:优先使用语义化类名(如
.disabled
)定义状态,伪类作为补充 - 渐进增强:为旧版浏览器提供基础样式,逐步添加高级伪类特性
- 性能至上:避免过度使用复杂选择器(如多层嵌套的
:nth-child
),减少浏览器匹配计算量
掌握这三类伪类选择器的核心用法,能够显著提升CSS代码的简洁性和可维护性,为构建高效、交互友好的用户界面提供强大支持。随着CSS标准的不断演进,伪类选择器将与CSS变量、自定义属性、响应式设计等特性深度融合,推动网页设计向更智能、更动态的方向发展。
相关文章:
CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
一、结构性伪类选择器:文档树中的位置导航器 结构性伪类选择器是CSS中基于元素在HTML文档树中的层级关系、位置索引或结构特征进行匹配的一类选择器。它们无需依赖具体的类名或ID,仅通过文档结构即可精准定位元素,是实现响应式布局和复杂文档…...
【大模型LLM学习】MiniCPM的注意力机制学习
【大模型LLM学习】MiniCPM的注意力机制学习 前言1 Preliminary1.1 MHA1.2 KV-cache 2 GQAGQA的MiniCPM实现 3 MLAMLA的MiniCPM-3-4b的实现 TODO 前言 之前MiniCPM3-4B是最早达到gpt-3.5能力的端侧小模型,其注意力机制使用了MLA。本来想借着MiniCPM从MHA过到MLA的&am…...
stm32之PWR、WDG
目录 1.PWR1.1 简介1.2 电源框图1.3 上电复位和掉电复位1.4 可编程电压监测器1.5 低功耗模式1.5.1 模式选择1.5.2 睡眠模式1.5.3 停止模式1.5.4 待机模式 1.6 实验1.6.1 修改主频1.6.2 睡眠模式串口发送接收1.6.3 停止模式对射式红外传感器计次1.6.4 待机模式实时时钟 2.看门狗…...
分布式任务调度XXL-Job
XXL-Job 是一款轻量级、分布式的任务调度平台,其核心设计解决了传统任务调度(如Quartz)在分布式场景下的任务分片、高可用、可视化管控等痛点。以下从原理、核心架构、应用场景、代码示例及关联中间件展开详解 一、主流任务…...
内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册
内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册 一、问题描述与快速解决方案 1. 核心问题分类 内存泄漏(Memory Leak) 现象:应用运行时间越长,内存占用持续攀升,GC回收效率下降,最…...
火山引擎发展初始
火山引擎是字节跳动旗下的云计算服务品牌,其云服务业务的启动和正式商业化时间线如下: 1. **初期探索(2020年之前)** 字节跳动在早期为支持自身业务(如抖音、今日头条等)构建了强大的基础设施和技术中…...
使用光标测量,使用 TDR 测量 pH 和 fF
时域反射计 (TDR) 是一种通常用于测量印刷电路板 (PCB) 测试试样和电缆阻抗的仪器。TDR 对于测量过孔和元件焊盘的电感和电容、探针尖端电容和电感,甚至寄生电感收发器耦合电容器也非常有用。这也是验证仿真或提取您自…...
mybatisplus 集成逻辑删除
一开始,没去查资料,后面要被AI气死了,先看它的的话 一开始,看ai的描述,我还以为,不需要改数据库,mybatis-puls自动拦截集成就可以实现逻辑删除,c,最后还是要给数据库加一…...
ABAP+旧数据接管的会计年度未确定
导资产主数据时,报错旧数据接管的会计年度未确定 是因为程序里面使用了下列函数AISCO_CALCULATE_FIRST_DAY,输入公司代码,获取会计年度,这个数据是在后台表T093C表中取数的,通过SE16N可以看到后台表数据没有数…...
KT148A语音芯片发码很难播放_将4脚对地一下再发正常,什么原因?
问题描述如下:您好,遇到一点问题请帮忙支持一下: KT148A 这颗芯片, 我们上电后发码很难触发播放, 但用镊子将4pin PB0对地短接触发一下,再发码就很正常,这是什么原因? 根据现象来看…...
【大模型】DeepResearcher:通用智能体通过强化学习探索优化
DeepResearcher:通过强化学习在真实环境中扩展深度研究 一、引言二、技术原理(一)强化学习与深度研究代理(二)认知行为的出现(三)模型架构 三、实战运行方式(一)环境搭建…...
SpringBoot 3.X 开发自己的 Spring Boot Starter 和 SpringBoot 2.x 的区别
SpringBoot 2.x 在模块中创建 src/main/resources/META-INF/spring.factories 文件 文件内容如下: org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.xxx.xxx.yourfilejava1,\com.xxx.xxx.yourfilejava2 SpringBoot 3.x 在模块中创建 src/m…...
NY164NY165美光固态闪存NY166NY172
美光NY系列固态闪存深度解析:技术、体验与行业洞察 一、技术架构与核心特性解析 美光NY系列(NY164/NY165/NY166/NY172)作为面向企业级市场的固态闪存产品,其技术设计聚焦高可靠性与性能优化。从架构上看,该系列可能采…...
Spring Boot中HTTP连接池的配置与优化实践
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、HTTP连接池的核心价值 在微服务架构和分布式系统场景中,HTTP客户端频繁创建/断开连接会产生显著的性能损耗。通过连接池技术可以实现&#x…...
【docker】--镜像管理
文章目录 拉取镜像启动镜像为容器连接容器法一法二 保存镜像加载镜像镜像打标签移除镜像 拉取镜像 docker pull mysql:8.0.42启动镜像为容器 docker run -dp 8080:8080 --name container_mysql8.0.42 -e MYSQL_ROOT_PASSWORD123123123 mysql:8.0.42 连接容器 法一 docker e…...
Logisim实验--华科计算机组成原理(保姆级教程) 头歌-存储系统设计实验(汉字库存储芯片扩展实验、MIPS寄存器文件设计)
汉字库存储芯片扩展实验 电路一: 电路二:电路和译码器设置。 两个电路的分线器设计: 只要把电路正确连接就能提交了,但要看到正确的实验结果就想要进行如下操作: 打开参考电路,我要做的就是将每个存储器内…...
Hapi.js知识框架
一、Hapi.js 基础 1. 核心概念 企业级Node.js框架:由Walmart团队创建,现由社区维护 配置驱动:强调声明式配置而非中间件 插件架构:高度模块化设计 安全优先:内置安全最佳实践 丰富的生态系统:官方维护…...
Baklib知识中台架构与智能引擎实践
知识中台架构设计实践 在数字化转型进程中,Baklib基于企业级知识管理需求,构建了模块化分层架构的知识中台体系。该架构采用数据湖仓融合技术,通过统一元数据管理打通业务系统间的信息壁垒,形成覆盖数据采集、清洗、标注的全链路…...
传输层协议UDP
传输层 负责数据能够从发送端传输接收端 . 再谈端口号 端口号 (Port) 标识了一个主机上进行通信的不同的应用程序 ; 在 TCP/IP 协议中 , 用 " 源 IP", " 源端口号 ", " 目的 IP", " 目的端口号 ", " 协议号 " 这样一…...
在Java中实现Parcelable接口和Serializable接口有什么区别?
在 Java 中,Parcelable 和 Serializable 接口都用于对象的序列化和反序列化,但它们的实现方式、性能和使用场景有很大区别。以下是它们的核心对比: 1. 实现方式 Serializable 是 Java 原生接口,只需声明 implements Serializable…...
MinIO WebUI 页面使用
上传文件到桶,选择Share 如果桶是pulic权限,则可以有以下两种方式访问到该对象文件: http://ip:9001/api/v1/download-shared-object/aHR0cDovLzEyNy4wLjAuMTo5MDAwL3dhcmVob3VzZS9wYWltb24vRmxpbmstTG9nby5wbmc_WC1BbXotQWxnb3JpdGhtPUFXU…...
Python | Dashboard制作
运行环境:jupyter notebook (python 3.12.7) Pyecharts 1.安装pyecharts !pip install pyecharts 验证安装是否成功: from pyecharts import __version__ print("Pyecharts版本:", __version__) # 应显示1.x以上版本 2.运行基础版代码&am…...
视频编辑软件无限音频、视频、图文轨
威力导演APP的特色功能包括无限音频、视频、图文轨,以及上百种二/三维特技转场、音/视频滤镜和多种音视频混编输出。此外,它还支持实时高清HDV格式、模拟信号输出,并具有DV25、DVACM、DV、HDV输入和输出等功能。在视频编辑领域,威…...
HttpSession 的运行原理
HttpSession 的运行原理(基于 Java Web) HttpSession 是 Java Web 开发中用于在服务器端存储用户会话数据的机制,它的核心作用是跟踪用户状态(如登录信息、购物车数据等)。 1. HttpSession 的基本概念 会话࿰…...
Axure应用交互设计:表格跟随菜单移动效果(超长表单)
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!本文如有帮助请订阅 Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:表格跟随菜单移动 主要内容:表格交互设计、动态面板嵌套、拖动时事件、移动动作 应用场景…...
Flannel vxlan模式的优缺点
VXLAN 模式的特点、优缺点 优点 高性能:VXLAN 利用内核态处理封装/解封装,性能优于用户态方案(如 UDP),适合大规模集群。网络隔离:通过 VNI(VXLAN Network Identifier,24 位&#…...
中电金信参编的国家标准《信息技术 中间件 消息中间件技术要求》正式发布
近日,国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告(2025年第10号),GB/T 28168—2025《信息技术 中间件 消息中间件技术要求》国家标准正式发布,并将于2025年11月1日正式实施。中电金信作…...
AcroForm 格式化文本(域)字段
概述 Acrobat提供了两个事件(脚本位置)来处理文本字段格式化:Keystroke(更改)事件和 Format事件。这两个事件可以共同控制输入到字段中的数据的格式以及文本字段中显示数据的外观。本文中涉及的所有脚本以及更多示例都包含在FormattingExamples.pdf文件中。 Keystroke事…...
机器学习——聚类算法练习题
一、 随机创建不同二维数据集作为训练集 ,并结合k-means算法将其聚类 ,你可以尝试分别聚类不同数量的簇 ,并观察聚类 效果: 聚类参数n_cluster传值不同 ,得到的聚类结果不同 代码展示: from sklearn.da…...
U-BOOT
使用正点原子已经移植好的U-BOOT编译完成后拷贝到SD卡中烧写到板子上中,将开发板设为SD卡启动模式,上电启动开发板;打开 MobaXterm 终端模拟软件,设置好串口参数连接开发板 USB 调试串口,最后按核心板上的 PS_RST 复位…...
JVM之虚拟机运行
虚拟机运行快速复习 try-catch:catch-异常表栈展开,finally-代码复制异常表兜底 类的生命周期:加载,连接(验证,准备,解析),初始化,使用,卸载 类…...
玩转ChatGPT:DeepSeek实战(统一所在地格式)
一、写在前面 前段时间去交流,又被问到一个实际问题: 在组织全区活动时,我们设计了一份签到表,其中包含“所在单位地区”一列,目的是希望按地级市(如南宁市、柳州市等)对参与者进行分组&#…...
蓝桥杯题库经典题型
1、数列排序(数组 排序) 问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<n<200 输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。 输出格式 输出…...
极限学习机进行电厂相关数据预测
使用极限学习机(Extreme Learning Machine, ELM)进行电厂相关数据预测的详细步骤和MATLAB代码示例。假设任务是预测电厂发电量或设备状态(如温度、压力),代码包含数据预处理、ELM模型构建、训练与预测全过程。 1. 数据…...
【Axure视频教程】中继器表格间批量控制和传值
今天教大家在Axure中制作中继器表格间批量控制和传值的原型模板,效果包括: 选中和取消选中——点击表格中的多选按钮可以选中或取消选中该行内容; 全选和全部取消选中——点击表头左上角的多选按钮可以选中或取消选中表格的所有内容…...
Axure高级交互设计:文本框循环赋值实现新增、修改和查看
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!本文如有帮助请订阅本专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:文本框循环赋值 主要内容:使用设置文本动作实现文本框、文字标签的读取与赋值 应…...
Springboot之类路径扫描
SpringBoot框架中默认提供的扫描类为:ClassPathBeanDefinitionScanner。 webFlux框架中借助RepositoryComponentProvider扫描符合条件的Repository。 public class ClassPathScanningCandidateComponentProvider{private final List<TypeFilter> includeFilt…...
是 OpenCV 的 CUDA 模块中用于在 GPU 上对图像或矩阵进行转置操作函数cv::cuda::transpose
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::cuda::transpose 是 OpenCV 的 CUDA 模块中的一个函数,用于在 GPU 上对图像或矩阵进行转置操作(Transpose࿰…...
2025B卷 - 华为OD机试七日集训第1期 - 按算法分类,由易到难,循序渐进,玩转OD
目录 推荐刷题方法: 一、适合人群二、本期训练时间三、如何参加四、七日集训第1期五、精心挑选21道高频100分经典题目,作为入门。第1天、逻辑分析第2天、逻辑分析第3天、逻辑分析第4天第5天第6天第7天 六、集训总结国内直接使用最新o3、o4-mini-high、GP…...
从数据中台到数据飞轮:数字化转型的演进之路
从数据中台到数据飞轮:数字化转型的演进之路 数据中台 数据中台是企业为整合内部和外部数据资源而构建的中介层,实现数据的统一管理、共享和高效利用,目标是打破信息孤岛,提高数据使用效率,支持业务决策和创新 实施成本…...
【Linux网络】HTTPS
HTTPS协议原理 定义 HTTPS 也是一个应用层协议.是在HTTP协议的基础上引入了一个加密层. HTTP 协议内容都是按照文本的方式明文传输的.这就导致在传输过程中会出现一些被篡改的情况。 加密 加密就是把明文(要传输的信息)进行一系列变换,生成密文. 解密就是把密文再进行一系…...
UE5中制作动态数字Decal
在进行城市道路编辑时,经常需要绘制人行道、交通标志、停车线等路面元素。如果能够使用具有动态修改功能的 Decal(贴花),将大大提升编辑效率和灵活性。接下来讲解如何制作。 1.首先准备一张包含所需元素的Texture,这里…...
销量预测评估指标
销量预测评估指标 一、背景 在零售、供应链等场景中,销量预测的准确性直接影响库存管理、成本控制和客户满意度: 预测偏低:可能导致缺货(损失销售额和客户信任)。预测偏高:导致库存积压(增加…...
Unity3d 打包安卓平台(Android apk)报错Gradle build failed解决方法
问题 Unity3d 版本为2022.3.*版本,而且工程内部没有包含比较特殊的插件,安卓模块(module)也是随编辑一起安装,JDK、Android SDK Tools、Android NDK和Gradle都是默认安装。打包设置Project Settings也是默认设置,打包的工程不包含…...
STM32 启动文件分析
一、启动文件的核心作用 STM32启动文件(如startup_stm32f10x_hd.s)是芯片上电后执行的第一段代码,用汇编语言编写,主要完成以下关键任务: 初始化堆栈指针(SP) 设置主堆栈指针(…...
OSCP备战-Kioptrix4详细教程
目录 配置靶机 目标IP探测 编辑端口扫描 139/445端口 Samba 80端口获取shell 绕过lshell 方法一 编辑 方法二 编辑提权 内核漏洞 mysql udf提权 配置靶机 使用vm新建虚拟机,选择vmdk文件打开。 目标IP探测 arp-scan -l 得出目标IP:19…...
清华大学开源软件镜像站地址
清华大学开源软件镜像站: https://mirrors.tuna.tsinghua.edu.cn/...
java基础-package关键字、MVC、import关键字
1.package关键字: (1)为了更好管理类,提供包的概念 (2)声明类或接口所属的包,声明在源文件首行 (3)包,属于标识符,用小写字母表示 ࿰…...
uniapp(vue3)动态计算swiper高度封装自定义hook
// useCalculateSwiperHeight.ts import { ref, onMounted } from vue;export function useCalculateSwiperHeight(headerSelector: string .header-search, tabsWrapperSelector: string .u-tabs .u-tabs__wrapper) {const swiperHeight ref<number>(0);// 封装uni.g…...
Java SpringMVC 和 MyBatis 整合项目的事务管理配置详解
目录 一、事务管理的基本概念二、在 SpringMVC 和 MyBatis 整合项目中配置事务管理1. 配置数据源2. 配置事务管理器3. 使用事务注解4. 配置 MyBatis 的事务支持5. 测试事务管理三、总结在企业级应用开发中,事务管理是确保数据一致性和完整性的重要机制。特别是在整合了 Spring…...