当前位置: 首页 > article >正文

CSS—选择器详解:5分钟动手掌握选择器

个人博客:haichenyi.com。感谢关注

1. 目录

  • 1–目录
  • 2–引言
  • 3–种类
  • 4–优先级

引言

  什么是选择器?

  CSS选择器是CSS(层叠样式表)中的一种规则,用于指定要应用样式的HTML元素。它们就像是指向网页中特定元素的指针,允许开发者选择并修改这些元素的外观和布局。通过选择器,开发者可以精确地定位网页中的元素,并为它们应用特定的样式规则,如颜色、字体、边距、边框等

  简单的来说,就是用来给页面元素加样式的东西。比方说,我页面有一个div元素,这个元素需要显示多大?内容是文字,这个文字显示多大字号?文字显示成什么颜色?等等

  在网页设计和开发中,CSS选择器扮演着至关重要的角色。它们是连接HTML结构和CSS样式的桥梁,使得开发者能够灵活地控制网页的外观和布局。通过使用选择器,开发者可以实现以下目标:

  1. 样式一致性:确保网页中的相同类型元素具有一致的样式,提高网页的整体美观性和可读性。
  2. 布局控制:精确地控制网页元素的排列和布局,创建出响应式、适应性强的网页。
  3. 交互体验:通过选择器,开发者可以为网页元素添加悬停、点击等交互效果,提升用户体验。
  4. 可维护性:使用选择器可以简化样式表的编写和维护,使得样式规则更加清晰、易于理解。

  学习CSS选择器对于网页设计和开发者来说至关重要,原因如下:

  1. 基础技能:选择器是CSS的基础,掌握它们是学习更高级CSS技术和框架的前提。
  2. 提高效率:熟练掌握选择器可以显著提高编写样式表的效率,减少不必要的代码和调试时间。
  3. 灵活控制:选择器提供了丰富的选择方式,使得开发者能够精确地控制网页中的元素,实现复杂的布局和样式需求。
  4. 优化性能:合理使用选择器可以避免不必要的样式计算,提高网页的渲染性能。
  5. 适应变化:随着网页技术和设计趋势的不断变化,掌握选择器有助于开发者快速适应新的设计需求和用户行为。

种类

  一共有五类选择器:基础选择器,组合选择器,属性选择器,伪类选择器,伪元素选择器。

一丶基础选择器

  基础选择器分为四类:元素选择器(标签选择器),类选择器,ID选择器,通配符选择器

1.元素选择器(标签选择器)

举例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><link rel="icon" href="/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS选择器</title><style>/* 清除默认值 */* {margin: 0px;padding: 0px;}/* 给页面中的所有p标签,设置字体为20px,字体颜色为aqua */p {font-size: 20px;color: aqua;}</style>
</head><body><p>哈哈哈</p>
</body></html>

PS:效果图就不贴出来了,内容比较多,贴图的话,就需要贴太多的图了,上面的代码就是一个网页的全部代码,直接复制出去新建一个html文件,把代码放进去就能运行看效果了,后面的代码,都是只有样式和元素两部分。把样式放在style中,把元素放在body中就可以运行看效果了

2.类选择器

举例

<!--都只写样式和标签。不写其他内容-->/* 给页面中所有标签class属性为hai-test的标签,添加背景色为红色 */.hai-class-test{background-color: red;}<div class="hai-class-test">海晨忆</div><div class="hai-class-test">林汐痕</div>        
3.ID选择器

举例

/* 给页面中所有标签id属性为hai-id-test的标签,添加背景色为绿色,注意id选择器是#打头,类选择器是.打头 */#hai-id-test {background-color: green;}<div id="hai-id-test">海晨忆</div>
4.通配符选择器

举例

        /* 给页面所有元素设置margin和padding都为0px,注意,通配符选择器就是*号 */* {margin: 0px;padding: 0px;}
二丶组合选择器

  组合选择器分为:后代选择器,子选择器,相邻兄弟选择器,普通兄弟选择器,群组选择器

1.后代选择器

举例

        /* 给页面中div标签下的所有子孙p标签,添加字体大小和颜色属性。h1标签下的p标签也会加。是所有子孙后台都会加。注意,直接以标签打头,不需要.也不需要#,中间加空格 */div p {font-size: 14px;color: blue;}<div><p>海晨忆</p><h1><p>哈哈哈</p></h1><p>林汐痕</p></div>
2.子选择器

举例

        /* 给ul下的直接li添加font-size为18px.也就是ul的子孩子是li的标签添加 "哈哈哈"所在的li是ul的孙子标签,所以不会给它加上font-size为18px的属性。>符号,表示给左边标签的儿子标签,添加属性。上面组合选择器的空格符号,表示给左边标签的所有子孙标签添加属性*/ul>li {font-size: 18px;}<ul><li>item1</li><li>item2</li><li>item3</li><li>item4</li><div><li>哈哈哈</li></div></ul>
3.相邻兄弟选择器

举例

        /* 给紧挨着h2后面的p标签,添加font-style属性。添加为斜体 必须要紧挨着(隔开也不行),必须要在后面(前面不行)。+符号,表示给紧挨着后面的兄弟元素,添加属性*/h2+p {font-style: italic;}<p>哇哇哇</p><p>哇哇哇</p><h2>h2</h2><!-- <div>呜呜呜</div> --><p>哇哇哇</p><p>哇哇哇</p>
4.普通兄弟选择器

举例

        /* 给h3后面所有兄弟的p标签,添加text-decoration属性。为下划线 必须是后面的,前面的不行~表示给后面的兄弟元素,添加属性*/h3~p {text-decoration: underline;}<p>h3的P</p><p>h3的P</p><h3>h3</h3><p>h3的P</p><p>h3的P</p>
5.群组选择器

举例

        /* 给页面中用,隔开的所有标签加上属性 ,表示给写的所有类型的标签,添加属性*/h4,h5,h6 {color: blue;}<h4>h4标签</h4><p>哈哈哈</p><h5>h5标签</h5><div>哈哈哈</div><h6>h6标签</h6>
三丶属性选择器

  属性选择器按照匹配规则分为:包含属性选择器,等于属性选择器,起始属性选择器,结尾属性选择器,子串属性选择器

1.包含属性选择器

举例

        /* 给div元素,包含class属性的标签,字体变成红色用法:元素[内容],只要包含'内容'属性就行了*/div[class] {color: red;}/* 元素[内容] 给div元素,包含class属性的标签,字体变成绿色用法:元素[内容],只要包含'内容'属性就行了*/div[aaa] {color: greenyellow;}<div class="hai">海晨忆</div><div aaa="bbb">海晨忆</div><div>海晨忆</div>
2.等于属性选择器

举例

        /* 给div元素,包含class属性,并且值为hai的标签,字体变成红色用法:元素[内容='值'],内容和值都需要全部匹配*/div[class='hai'] {color: red;}<div class="hai">海晨忆</div><div class="haidfsa">海晨忆</div><div>海晨忆</div>
3.起始属性选择器

举例

        /* 给div元素,包含class属性,并且值以hai开头的标签,字体变成红色用法:元素[内容^='值']*/div[class^='hai'] {color: red;}<div class="hai">海晨忆</div><div class="haidfsa">海晨忆</div><div>海晨忆</div>
4.结尾属性选择器

举例

        /* 给div元素,包含class属性,并且值以hai结尾的标签,字体变成红色用法:元素[内容$='值']*/div[class$='hai'] {color: red;}<div class="hai">海晨忆</div><div class="haidfsa">海晨忆</div><div class="haidfsahai">海晨忆</div><div>海晨忆</div>
5.子串属性选择器

举例

        /* 给div元素,包含class属性,并且值包含hai的标签,字体变成红色用法:元素[内容*='值']*/div[class*='hai'] {color: red;}<div class="hai">海晨忆</div><div class="haidfsa">海晨忆</div><div class="haidfsahai">海晨忆</div><div class="dfhaisa">海晨忆</div><div>海晨忆</div>
四丶伪类选择器

  伪类选择器大体可以分为三类:动态伪类选择器,结构伪类选择器,表单伪类选择器

1.动态伪类选择器

举例

        .hai:visited {color: blue;}.hai:hover {color: red;}.hai:active {color: black;}/* 默认未访问的情况下,超链接的颜色 */a:link {color: aqua;}/* 访问过的超链接的颜色 */a:visited {color: blue;}/* 鼠标滑过,超链接的颜色 */a:hover {color: orange;}/* 激活(鼠标点下,未松开)超链接的颜色 */a:active {color: red;}/* 以上几个动态伪类选择器,同时使用时,要注意使用顺序,不然得不到想要的效果。顺序为:LVHA:link,visited,hover,active*//* 获取焦点,输入框的背景色 */input:focus {background-color: red;}<div class="hai">海晨忆</div><a href="http://www.haichenyi.com">海晨忆</a><a href="http://www.haichenyi.com">海晨忆1</a><input type="text">
2.结构伪类选择器

举例

        .abc {/* :first-child父元素的第一个元素指定父元素的第一个元素,并且这个元素需要是p元素,给它的字体设置颜色 PS:必须是父元素的第一个元素,并且要是p元素,才会生效*/p:first-child {color: aqua;}/* :nth-child(n)父元素的正数第n个元素,偶数可设置:2n,奇数可设置:2n+1指定父元素的正数第2个元素,并且这个元素需要是p元素,给它的字体设置颜色 PS:必须是父元素的正数第2个元素,并且要是p元素,才会生效*/p:nth-child(2) {color: red;}/* :nth-last-child(n)父元素的倒数第n个元素指定父元素的倒数第3个元素,并且这个元素需要是p元素,给它的字体设置颜色 PS:必须是父元素的倒数第3个元素,并且要是p元素,才会生效*/p:nth-last-child(3) {color: cadetblue;}/* :last-child:父元素的最后一个元素指定父元素的倒数第3个元素,并且这个元素需要是p元素,给它的字体设置颜色 PS:必须是父元素的倒数第3个元素,并且要是p元素,才会生效*/p:last-child {color: blue;}/* :first-of-type:父元素下同类型的第一个元素,不一定非要是父元素的第一个元素*/h2:first-of-type {color: chartreuse;}/* :first-of-type:父元素下同类型的最后一个元素,不一定非要是父元素的最后一个元素*/h2:last-of-type {text-decoration: underline;}/* :nth-of-type(n):父元素下同类型的正数第n个元素,不一定非要是父元素的正数第n个元素*/h2:nth-of-type(2) {color: blueviolet;}/* :nth-last-of-type(n):父元素下同类型的倒数第n个元素,不一定非要是父元素的倒数第n个元素*/h2:nth-last-of-type(2) {color: darkgreen;}}.def {/* 父元素下仅有一个子元素的生效 */h5:only-child {font-style: italic;}}<div class="abc"><p>哈哈哈哈</p><p>哈哈哈哈</p><h1>这是h1标签</h1><h2>这是h2标签</h2><h2>这是h2标签</h2><h2>这是h2标签</h2><h2>这是h2标签</h2><p>哈哈哈哈</p><p>哈哈哈哈</p><p>哈哈哈哈</p><p>哈哈哈哈</p><!-- <h3>这是H3标签</h3> --></div><div class="def"><h5>只是只有一个元素的h5标签,没有兄弟节点</h5></div>
3.表单伪类选择器

举例

        /* 之说几个常见的 *//* :checked选中*/input:checked {box-shadow: 0 0 5px 2px #6699ff;}/* :enabled能选中的,能使用的*/input:enabled {background-color: lightgreen;}/* :disabled与上面的刚好相反,不能选中的,禁用的*/input:disabled {opacity: 0.5;}<input type="checkbox"><input type="text"><input type="text" disabled>
五丶伪元素选择器
        /* ::first-letter选择元素内容的第一个字符PS:伪元素是两个冒号打头,跟上面的区分开,伪类是一个冒号打头*/.ghi {p::first-letter {font-size: 2em;font-weight: bold;}}/*  ::first-line选择元素内容的第一行*/.jkl {p::first-line {font-variant: small-caps;}}/* 内容插入 ,这两个用的比较多::before:在前面插入::after:在后面插入*/.mno {q::before {content: "「";}q::after {content: "」";}}<div class="ghi"><p>这是一段话</p></div><div class="jkl"><p>fjdkslajfkldasjflkdsjakfjdkslajfkldasjfjdkslajfkldasjflkdsjakfjdkakfjdkslajfkldasjflkdsjakfjdkslajfkldasjflkdsjakfjdkslajfkldasjflkdsjakfjdkslajfkldasjflkdsjak</p></div><div class="mno"><p>他说:<q>这是一个测试。</q></p></div>

  上面这些就是CSS的选择器。

优先级

  在说优先级之前,先说一下CSS样式的几个特性:层叠性,继承性,优先级,叠加性

  1. 层叠性:是指当多个样式规则应用于同一个HTML元素时,这些样式规则会按照特定的优先级顺序进行覆盖。后定义的样式会覆盖先前的样式,但前提是它们的优先级相同。如果样式不冲突,则不会发生层叠。层叠性的原则是“就近原则”,即哪个样式离元素最近,就执行哪个样式。
        p {font-size: 30px;color: red;}p {font-size: 20px;}<!--一个简单的例子,下面这个p标签最终显示成红色,字体大小20px--><p>Hello, CSS! This is an inline style.</p>
  1. 继承性:是指子元素会继承父元素的某些样式属性。合理利用继承性可以简化代码,降低样式的复杂性。但是,并非所有的CSS属性都能被继承。一些属性,如背景色、边框等,是不能被继承的。常见的可继承属性包括字体相关属性(如font-size、font-family)、文本相关属性(如color、text-align)等。
        .parent {font-size: 20px;color: blue;}<!--内部子div最终显示字体的大小20px,颜色为蓝色。子元素可以是任意类型的元素,不一定非要跟父元素相同。--><div class="parent"><div>这是子元素</div></div>
  1. 优先级:决定了当多个样式规则应用于同一个HTML元素时,哪个规则会生效。CSS选择器的优先级是由选择器的类型、数量以及样式表的来源(如行内样式、内嵌样式、外部样式)共同决定的。具体规则如下:
    a. !important:具有最高的优先级,可以直接应用于HTML元素。
    b. 行内样式:优先级次之,可以直接应用于HTML元素。
    c. ID选择器:优先级高于类选择器和标签选择器。
    d. 类选择器(伪类/伪元素):优先级高于标签选择器。
    e. 标签选择器:优先级低。
    f. 全局选择器:优先级最低
    ps:此外,存在!important声明,则它会覆盖所有其他优先级规则,具有最高的优先级。但需要注意的是,过度使用!important可能会导致样式表难以维护。

  这里有个新的!important之前没说过,行内样式也没有说过,还有一个全局选择器之前提过一嘴。

  如果,你有仔细观察我给出的html的代码,你就会发现style中最开始的位置有一个样式

       /* 清除默认值 */<!--这个就是全局选择器,也叫通配符选择器,*就是通配符-->* {margin: 0px;padding: 0px;}

  再来说说这个!important

        div {font-size: 30px;color: red;}div {color: blue;}p {font-size: 30px;color: red !important;}p {color: blue;}<!--div标签,字体30px,蓝色。因为蓝色会覆盖红色--><div>Hello, CSS! This is an inline style.</div><!--p标签,字体30px,红色。按照我们前面说的规则,蓝色离的近,应该覆盖红色才对,但是,红色后面有个!important,它的优先级最高,所以,显示红色。当然,你如果再bule后面也加一个!important,那它就显示成蓝色,因为蓝色更近一些。--><p>Hello, CSS! This is an inline style.</p>

  行内样式是直接写在元素上的样式,怎么理解呢?元素上有一个style属性,style属性可以设置元素的样式。

<!--文案最后显示成红色,大小20px-->
<div style="color: red;font-size: 20px;">Hello, CSS! This is an inline style.</div>
  1. 叠加性:指的是当一个元素匹配多个样式规则时,如果样式属性名不同,则会叠加所有的样式属性。这意味着元素会同时拥有这些不同的样式属性。
        p {color: red;}.hai {font-size: 20px;}<!--p标签文案显示红色,字体大小20px--><p class="hai">Hello, CSS! This is an inline style.</p>

PS:整篇文章,精炼一下,如下

  一般选择器的面试问题会问,选择器的优先级关系。你想回答这个问题,你就需要知道有哪些选择器。

  1. CSS的选择器有:通配符选择器,标签(元素)选择器,类(伪类,伪元素)选择器,ID选择器等等。其他选择器一般都用不到
  2. 他们的优先级关系 !important > ID > 类(伪类/伪元素) > 标签(元素) > 通配符

  都说,这个优先级关系不好记,记不住。你要去理解,不能死记硬背,仅供参考。我是这么记的,物以稀为贵,越少的,范围越小,越能生效。比方说,

通配符选择器: 针对所有种类的标签生效。烂大街的东西,优先级最低。

标签选择器: 针对某一种类型的标签生效。比通配符好一点,优先级比通配符高一点。

ID选择器: 针对某一个标签生效。比标签选择器好一点,优先级也高一点。

!important: 它只能针对某个样式属性生效。多个属性组成一个样式。其他的选择器,都是设置多个样式属性,更稀有了。它的优先级最高。

唯一需要记住的就是类(伪类/伪元素),他们三个优先级相同。类选择器,需要申明到标签上,它的优先级高于标签选择器,小于ID选择器。

以上,仅作为记住优先级的思路参考。

相关文章:

CSS—选择器详解:5分钟动手掌握选择器

个人博客&#xff1a;haichenyi.com。感谢关注 1. 目录 1–目录2–引言3–种类4–优先级 引言 什么是选择器&#xff1f; CSS选择器是CSS&#xff08;层叠样式表&#xff09;中的一种规则&#xff0c;用于指定要应用样式的HTML元素。它们就像是指向网页中特定元素的指针&#…...

Java——String

在 Java 中&#xff0c;String 类是用于表示不可变字符序列的核心类&#xff0c;提供了丰富的 API 用于操作字符串。以下是 String 类的关键特性和常用方法详解&#xff1a; 一、String 的核心特性 不可变性&#xff08;Immutable&#xff09; 一旦创建&#xff0c;字符串内容不…...

Channel State Information 信道状态信息

Channel State Information&#xff08;CSI&#xff0c;信道状态信息&#xff09;是无线通信系统中的一个重要概念&#xff0c;指的是接收端或发送端对无线信道特性的估计和反馈。CSI可以用于优化无线通信性能&#xff0c;例如信道均衡、预编码、波束成形等&#xff0c;以提高数…...

python中单例模式应用

数据库连接池单例模式 1. 为什么使用单例模式 创建数据库连接是一个昂贵的过程&#xff08;涉及网络通信、认证等&#xff09;。单例模式的连接池可以在程序启动时初始化一组连接&#xff0c;并在整个生命周期中重用这些连接&#xff0c;而不是每次请求都新建连接。同时还可…...

StarRocks 在爱奇艺大数据场景的实践

作者&#xff1a;林豪&#xff0c;爱奇艺大数据 OLAP 服务负责人 小编导读&#xff1a; 本文整理自爱奇艺工程师在 StarRocks 年度峰会的分享&#xff0c;介绍了爱奇艺 OLAP 引擎演化及引入 StarRocks 后的效果。 在广告业务中&#xff0c;StarRocks 替换 ImpalaKudu 后&#x…...

Easy Trans Spring Boot Starter ---Spring系列的字段翻译库

Easy Trans Spring Boot Starter 使用文档 1. 简介 easy-trans-spring-boot-starter 是一个基于 Spring Boot 的库&#xff0c;用于简化数据翻译和转换操作。它可以帮助你将数据库中的枚举值、状态码等转换为用户友好的文本&#xff0c;或者将一种数据格式转换为另一种格式。…...

JAVA入门——IO流

一、了解File类 这个类里面提供了一些文件相关的方法&#xff0c;了解即可&#xff0c;方法有很多&#xff0c;不好背下面这个是最常用的只能对文件本身操作&#xff0c;不能读取数据 public File[] listFiles();//获取当前路径下的所有内容 注意&#xff1a;如果是需要权限才…...

Spring Boot 流式响应豆包大模型对话能力

当Spring Boot遇见豆包大模型&#xff1a;一场流式响应的"魔法吟唱"仪式 一、前言&#xff1a;关于流式响应的奇妙比喻 想象一下你正在火锅店点单&#xff0c;如果服务员必须等所有菜品都备齐才一次性端上来&#xff0c;你可能会饿得把菜单都啃了。而流式响应就像贴…...

Android Binder 用法详解

Binder 是 Android 系统中的一种进程间通信&#xff08;IPC&#xff09;机制&#xff0c;它允许不同进程之间进行高效通信。Binder 在 Android 系统中被广泛使用&#xff0c;例如在 Activity 与 Service 的交互中。 Binder 的基本组成 实现 Binder 通信通常包含以下几个关键部…...

在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?

在Ubuntu中&#xff0c;某个文件的右下角有一把锁的标志是什么意思&#xff1f; 在 Ubuntu&#xff08;或其他基于 GNOME 文件管理器的 Linux 发行版&#xff09;中&#xff0c;文件或文件夹的右下角出现一把“锁”标志&#xff0c;通常表示 你当前的用户没有该文件/文件夹的写…...

达梦数据库如何收集表和索引的统计信息

命令&#xff1a; DBMS_STATS.GATHER_TABLE_STATS(OWNNAME >HIDC,TABNAME > SYS_OSS,ESTIMATE_PERCENT>100,METHOD_OPT > FOR ALL COLUMNS SIZE AUTO,DEGREE > 2,CASCADE > true); dbms_stats.gather_table_stats&#xff1a;用于收集目标表&#xff0c;目…...

大语言模型:从诞生到未来的探索

1 发展历程 1.1 早期探索&#xff1a;基础积累 大语言模型的发展并非一蹴而就&#xff0c;其源头可以追溯到自然语言处理的早期阶段。早期的自然语言处理系统主要基于规则和模板&#xff0c;通过人工编写的语法规则来处理文本。例如&#xff0c;早期的机器翻译系统就是根据预…...

DeepSeek-V3:AI语言模型的高效训练与推理之路

参考&#xff1a;【论文学习】DeepSeek-V3 全文翻译 在人工智能领域&#xff0c;语言模型的发展日新月异。从早期的简单模型到如今拥有数千亿参数的巨无霸模型&#xff0c;技术的进步令人瞩目。然而&#xff0c;随着模型规模的不断扩大&#xff0c;训练成本和推理效率成为了摆在…...

【多模态】Magma多模态AI Agent

1. 前言 微软杨建伟团队&#xff0c;最近在AI Agent方面动作连连&#xff0c;前两天开源了OmniParser V2&#xff0c;2月26日又开源了Magma&#xff0c;OmniParser专注在对GUI的识别解析&#xff0c;而Magma则是基于多模态技术&#xff0c;能够同时应对GUI和物理世界的交互&…...

DeepSeek掘金——DeepSeek R1驱动的PDF机器人

DeepSeek掘金——DeepSeek R1驱动的PDF机器人 本指南将引导你使用DeepSeek R1 + RAG构建一个功能性的PDF聊天机器人。逐步学习如何增强AI检索能力,并创建一个能够高效处理和响应文档查询的智能聊天机器人。 本指南将引导你使用DeepSeek R1 + RAG构建一个功能性的PDF聊天机器人…...

DeepSeek在PiscTrace上完成个性化处理需求案例——光流法将烟雾动态可视化

引言&#xff1a;PiscTrace作为开放式的视图分析平台提供了固定格式的类型参数支持个性化定制处理需求&#xff0c;本文一步步的实现光流分析按照不同需求根据DeepSeek的代码处理视频生成数据。 光流法&#xff08;Optical Flow&#xff09;是一种基于图像序列的计算机视觉技术…...

explore与explode词源故事

英语单词explore来自古法语&#xff0c;源自拉丁语&#xff0c;由前缀ex-&#xff08;出来&#xff09;加词根plor-&#xff08;叫喊&#xff09;以及末尾的小尾巴-e组成&#xff0c;字面意思就是“喊出来&#xff0c;通过叫喊声赶出来”。它为什么能表示“探索”呢&#xff1f…...

LeeCode题库第三十七题

37.解数独 项目场景&#xff1a; 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请…...

【数字信号处理:从原理到应用的深度剖析】

一、数字信号处理的原理 数字信号处理&#xff08;DSP&#xff09;是一种通过数学算法对信号进行分析、处理和转换的技术。其核心在于对离散时间信号的操作&#xff0c;目的是提取有用信息或将信号转换为更易于解释的形式。 &#xff08;一&#xff09;信号的数字化过程 1. …...

MySQL 数据库安全配置最佳实践

文章目录 MySQL 数据库安全配置最佳实践账户与权限管理账户最小化原则权限最小化配置密码策略强化 认证与访问控制禁用匿名账户启用安全认证 网络安全防护访问源限制禁用远程root访问启用SSL加密 日志审计与监控全量审计配置二进制日志管理 服务端安全加固关键参数配置文件权限…...

小红书自动评论

现在越来越多的人做起来小红书&#xff0c;为了保证自己的粉丝和数据好看&#xff0c;需要定期养号。 那么养号除了发视频外&#xff0c;还需要积极在社区互动&#xff0c;比如点赞、评论等等&#xff0c;为了节省时间&#xff0c;我做了一个自动化评论工具。 先看效果 那这个是…...

OpenCV图像认知(一)

OpenCV&#xff1a; 是由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库&#xff0c;支持与计算机视觉和机器学习相关的众多算法 OpenCV-Python&#xff1a; OpenCV-Python是一个Python绑定库&#xff0c;旨在解决计算机视觉问题。 Python是一种由Gui…...

自学微信小程序的第六天

DAY6 1、使用录音API首先需要通过wx.getRecorderManager()方法获取到一个RecorderManager实例,该实例是一个全局唯一的录音管理器,用于实现录音功能。 表32:RecorderManager实例的常用方法 方法名称 说明 start() 开始录音 pause() 暂停录音 resume() 继续录音 stop() 停止…...

C++动态与静态转换区别详解

文章目录 前言一、 类型检查的时机二、安全性三、适用场景四、代码示例对比总结 前言 在 C 中&#xff0c;dynamic_cast 和 static_cast 是两种不同的类型转换操作符&#xff0c;主要区别体现在类型检查的时机、安全性和适用场景上。以下是它们的核心区别&#xff1a; 一、 类…...

Qt6.8编译项目找不到文件——6.8.2\msvc2022_64\include\QtWidgets\QMainWindow does not exist.

问题&#xff1a;Error: dependent ‘…\Qt6.8.2\6.8.2\msvc2022_64\include\QtWidgets\QMainWindow’ does not exist. jom: D:\Temp\untitled1\build\Makefile [release] Error 2 20:20:43: 进程"D:\ProgramFiles\Develop\Qt6.8.2\Tools\QtCreator\bin\jom\jom.exe"…...

AI工具导航平台功能模块之混合分类器功能说明文档

AI工具导航平台功能模块之混合分类器功能说明文档 这是我最近正在开发的AI工具信息平台的部门功能模块混合分类器的说明文档&#xff0c;我的AI工具信息平台基于streamlit架构&#xff0c;整理出来与大家分享。 该程序的混合分类器采用规则引擎与深度学习模型协同工作的架构&…...

【时序预测】在线学习:算法选择(从线性模型到深度学习解析)

——如何为动态时序预测匹配最佳增量学习策略&#xff1f; 引言&#xff1a;在线学习的核心价值与挑战 在动态时序预测场景中&#xff08;如实时交通预测、能源消耗监控&#xff09;&#xff0c;数据以流式&#xff08;Streaming&#xff09;形式持续生成&#xff0c;且潜在的…...

某个设备的RJ45网口接头为何不可连接任何POE设备

某个设备的RJ45网口接头不可连接任何POE设备 1.POE设备是什么&#xff1f; POE设备是指支持通过以太网线传输电力和数据的设备&#xff0c;即“Power over Ethernet”&#xff08;PoE&#xff09;技术的设备。这种技术允许网络设备在传输数据的同时&#xff0c;通过标准的RJ4…...

发展中的脑机接口:SSVEP特征提取技术

一、简介 脑机接口&#xff08;BCI&#xff09;是先进的系统&#xff0c;能够通过分析大脑信号与外部设备之间建立通信&#xff0c;帮助有障碍的人与环境互动。BCI通过分析大脑信号&#xff0c;提供了一种非侵入式、高效的方式&#xff0c;让人们与外部设备进行交流。BCI技术越…...

绕过密码卸载360终端安全管理系统

一不小心在电脑上安装了360终端安全管理系统&#xff0c;就会发现没有密码&#xff0c;就无法退出无法卸载360&#xff0c;很容易成为一个心病&#xff0c;360终端安全管理系统&#xff0c;没有密码&#xff0c;进程无法退出&#xff0c;软件无法卸载&#xff0c;前不久听同事说…...