二、CSS笔记

(一)css概述


1、定义

CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离。 

2、要点 

  1. 怎么找到标签
  2. 怎么操作标签对象(element) 

3、css的四种引入方式 

3.1 行内式 

在标签的style属性中设定CSS样式。这种方式不需要再找标签对象,但没有体现出CSS样式分离的优势,不推荐使用。

<p style="background-color: rebeccapurple">hello yuan</p>

3.2 嵌入式:

将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

<head>
    <style>
        p{
            background-color: #2b99ff;
        }
    </style>
</head>

3.3 链接式 

通过html语言规范将一个.css文件引入到HTML文件中:

<head>
    <link href="mystyle.css" rel="stylesheet" type="text/css"/>
</head>

 3.4 导入式

将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:

<style type="text/css">
	@import"mystyle.css";   // 此处要注意.css文件的路径
</style> 

3.5 推荐方式 

  • 导入式固有的一个缺陷:会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。
  • 链接式会在网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。 
  • 推荐链接式。

(二)css选择器


css的选择器(Selector),指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素,是写css代码的第一个要点,找标签

1、基础选择器 

1.1 通用选择器* 

一个星号*,匹配任何元素,如:

* { margin:0; padding:0; }  // 设置所有标签外边距和内边距为0像素

1.2 标签选择器E 

直接匹配标签本身,如:

p { color:green; }  // 设置所有<p>标签的字体颜色是green

1.3 class选择器.info或E.info

匹配所有class属性中包含info的元素,可与标签选择器配合使用,如:

.info { background-color:#ff0; }  // 设置class属性包含info的标签背景颜色是#ff0
div.info { background-color:#ff0; }  // 设置class属性包含info的<div>标签背景颜色是#ff0

1.4 id选择器#info 

匹配id属性等于info的元素,因为标签的id是唯一标识的,所以只会匹配符合的那一个标签,如: 

#info { background-color:#ff0; }  // 设置id为info的标签背景颜色是#ff0

2、组合选择器 

2.1 多元素选择器E,F 

 同时匹配所有E元素和F元素,E和F之间用逗号分隔,如:

div,p { color:#f00; }  // 设置所有<div>标签和<p>标签的字体颜色是#f00

2.2 后代元素选择器E F 

匹配所有属于E元素后代的F元素(嵌套在E标签里的F标签,不论多少层),E和F之间用空格分隔,如:

li a { font-weight:bold;}  // 设置所有<li>标签的所有子孙<a>标签的字体加粗

2.3 子元素选择器E>F 

匹配所有E元素的子元素F(只能是紧挨着嵌套的一层),如: 

div > p { color:#f00; }  // 设置所有<div>标签的所有子标签<p>元素的字体颜色是#f00

2.4 毗邻元素选择器E+F 

匹配所有紧随E元素之后的同级元素F,如:

div + p { color:#f00; }  // 设置所有紧随在<div>标签之后的<p>标签的字体颜色是#f00

3、属性选择器(主要用1和2,其他了解即可) 

3.1 E[att] 

匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如“[cheacked]”。以下同。),如:

p[title] { color:#f00; }  // 设置所有具有title属性(不论何值)的<p>标签字体颜色为#f00
[title] { color:#f00; }  // 设置所有具有title属性(不论何值)的标签字体颜色为#f00

3.2 E[att=val] 

匹配所有att属性等于“val”的E元素,如: 

p[title="game"] { color:#f00; }  // 设置所有title属性="game"的<p>标签字体颜色为#f00
[title="game"] { color:#f00; }  // 设置所有title属性="game"的标签字体颜色为#f00

3.3 E[att~=val] 

匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素,如: 

p[title~="game"] { color:#f00; }  // 设置所有title属性有多个值,其中一个值="game"的<p>标签字体颜色为#f00
[title~="game"] { color:#f00; }  // 设置所有title属性有多个值,其中一个值="game"的标签字体颜色为#f00

3.4 E[att^=val] 

匹配属性值以指定值开头的每个元素,如:

p[title^="ga"] { color:#f00; }  // 设置所有title属性的值以"ga"开头的<p>标签字体颜色为#f00
[title^="ga"] { color:#f00; }  // 设置所有title属性的值以"ga"开头的标签字体颜色为#f00

3.5 E[attr$=val] 

 匹配属性值以指定值结尾的每个元素,如:

p[title$="ga"] { color:#f00; }  // 设置所有title属性的值以"ga"结尾的<p>标签字体颜色为#f00
[title$="ga"] { color:#f00; }  // 设置所有title属性的值以"ga"结尾的标签字体颜色为#f00

3.6 E[attr*=val] 

 匹配属性值中包含指定值的每个元素,如:

p[title*="ga"] { color:#f00; }  // 设置所有title属性的值包含"ga"的<p>标签字体颜色为#f00
[title*="ga"] { color:#f00; }  // 设置所有title属性的值包含"ga"的标签字体颜色为#f00

4、伪类(Pseudo-classes) 

  • CSS伪类是用来选择元素的特定状态或位置的选择器。
  • 以冒号(:)开头,用于向特定元素在特定状态下应用样式。
  • 伪类的作用是根据元素的状态或位置来改变其样式,这些状态可能包括用户交互(如鼠标悬停、点击)或元素自身的状态(如已访问链接、禁用表单元素)。
  • 伪类通常与元素选择器结合使用,以选择元素的特定状态,如a:hover用于选择鼠标悬停时的链接。
  • 格式: 标签:伪类名称{ css代码; }

4.1 anchor(锚点)伪类

又称为链接伪类,主要用于选择和样式化HTML中的<a>标签,控制链接的显示效果,这些伪类根据锚点的不同状态来应用特定的样式。以下是常见的锚点伪类:

  1. :link‌:

    • 选择所有尚未访问过的链接(即默认状态下的链接)。
    • 用于定义了链接的常规状态
    • 示例:a:link { color: blue; } 会将所有未访问的链接文本设置为蓝色。
  2. :visited‌:

    • 选择所有已经访问过的链接。
    • 用于阅读文章,能清楚的判断已经访问过的链接。
    • 示例:a:visited { color: purple; } 会将所有已访问的链接文本设置为紫色。
    • 出于隐私考虑,现代浏览器对:visited伪类能应用的样式有所限制,通常只能改变颜色。
  3. :hover‌:

    • 选择鼠标悬停时的链接。
    • 用于产生视觉效果。
    • 示例:a:hover { text-decoration: underline; } 会在鼠标悬停时给链接添加下划线。
  4. :active‌:

    • 选择被用户激活(通常是点击)时的链接。
    • 用于表现鼠标按下时的链接状态。
    • 示例:a:active { color: red; } 会在链接被点击时将其文本颜色改为红色。
  5. :focus‌:

    • 选择获得焦点的链接(通常通过键盘(Tab)导航或点击获得)。
    • 常用于添加表单元素的样式
    • 示例:a:focus { outline: 2px dashed #000; } 会在链接获得焦点时给其添加一个黑色的外框虚线轮廓,焦点消失后消失。

这些伪类可以按照特定的顺序来编写(也称为“Love-Hate”顺序)::link -> :visited -> :hover -> :active。这个顺序是基于用户与链接交互的自然流程,从未访问到访问,再到悬停和激活。按照这个顺序编写样式规则可以确保它们按照预期的方式覆盖和应用。

<head lang='zh-CN'>
<style type="text/css">
    a:link {
    color: blue;
    text-decoration: none;
    }

    a:visited {
        color: purple;
    }

    a:hover {
        text-decoration: underline;
    }

    a:active {
        color: red;
    }

    a:focus {
        outline: 2px dashed #000;
    }
    
    // 补充:可以悬浮一个区域更改另一个区域的样式,如:
    .outer:hover .right{color: red}
</style>
</head>
<body>
    <div class="outer">
        <a href="#">hello-world</a>
        <a class="right" href="#">go-on</a>
    </div>
</body>
</html>

 4.2 其它伪类

  • 动态伪类(如:hover:active:focus)不仅限于链接元素,还可以应用于任何HTML元素。在表单中,这些动态伪类可以用来增强用户交互体验,例如当用户将鼠标悬停在按钮上时改变按钮的样式,或者当输入框获得焦点时改变其边框颜色。 
  • 结构伪类(如:first-child:last-child:nth-child、:nth-of-type(n)、:only-child‌、:only-of-type‌等)则用于选择具有特定结构关系的元素,与anchor伪类不同,它们不依赖于元素的状态,而是基于元素在文档树中的位置。
  • ‌否定伪类:not(selector)‌:选择不匹配指定选择器的元素。例如,:not(.class)选择没有.class类的元素。

  • UI元素状态伪类:checked‌:选择被选中的表单元素(例如,复选框或单选按钮)。

  • UI元素状态伪类:disabled‌:选择被禁用的表单元素。

  • :empty‌:选择没有任何子元素(包括文本节点)的元素。

  • :target‌:选择当前活动的锚点目标元素。常用于制作页面内跳转。

  • :valid‌ 和 ‌:invalid‌:分别用于选择通过验证和未通过验证的表单元素(如<input>元素)。

5、伪元素Pseudo-elements

  • 概念与用途:
    • 用来在元素的内容前面或后面插入额外的内容的选择器。
    • 它们以双冒号(::)开头(尽管在CSS2中伪元素也可以使用单冒号,但为了区分伪类和伪元素,CSS3规范推荐使用双冒号),用于向元素的特定部分应用样式。
    • 伪元素的作用是在元素的内容前面或后面插入文档树之外的内容,并对其进行样式修饰,虽然用户可以看到这些伪元素生成的内容,但它们实际上并不存在于DOM树中。
    • 常见的伪元素包括::before::after::first-letter::first-line
  • 使用方式‌:在元素选择器后添加双冒号和伪元素名称,如p::before用于在段落内容前插入额外内容。

5.1 before after伪元素

  • :before:after是CSS中的伪元素(在CSS3中更推荐使用双冒号形式::before::after来表示伪元素,以与伪类区分开)
  • 它们允许你在一个元素的内容之前或之后插入内容。这些插入的内容不会出现在DOM中,而是通过CSS生成的,通常用于添加装饰性内容,如图标、引号或其他视觉效果。 
(1)基本用法 
  • :before:在选定元素的内容之前插入内容。
  • :after:在选定元素的内容之后插入内容。
  • 这两个伪元素必须与content属性一起使用,以定义要插入的内容,否则它们不会生效。
  • content属性可以包含字符串、图像或其他可用CSS生成的内容。
  • 不改变DOM结构‌:虽然:before:after可以在视觉上添加内容,但这些内容不会出现在DOM中,因此不会改变文档的实际内容。
  • 可以像对待普通元素一样对:before:after伪元素应用样式和行为,包括设置宽度、高度、背景、边框等。
  • 兼容性‌:虽然:before:after在大多数现代浏览器中都得到了很好的支持,但使用双冒号形式::before::after可以提高代码的清晰度和兼容性,因为双冒号形式是CSS3的推荐写法。
(2)示例
p::before {
    content: "《";
    color: blue;
}

p::after {
    content: "》";
    color: blue;
}
// 上面的CSS代码会在每个<p>元素的内容之前插入一个蓝色的“《”,在其内容之后插入一个蓝色的“》”
 (3)应用场景
  • 添加装饰性内容‌:如图标、引号、分隔符等。
  • 清除浮动‌:通过:after伪元素和clear属性来清除浮动元素对父元素高度的影响。
  • 创建自定义列表样式‌:在列表项前或后插入自定义样式。
(4)注意事项 

虽然:before:after伪元素非常强大且灵活,但它们应该被用于添加装饰性内容,而不是有实际意义的内容,因为用户无法复制或与之交互这些通过CSS生成的内容。


(三)css优先级和继承


1、优先级Specificity

  • CSS样式在浏览器中被解析的先后顺序,决定当多个样式规则应用于同一个HTML元素时,哪个样式规则最终会被应用的机制。
  • 优先级由选择器的类型决定,并且可以通过特定的计算方法来量化。

1.1 计分规则

CSS优先级由四个部分组成,按照优先级从高到低排列如下:

  1. 内联样式(Inline Styles)‌:

    • 优先级最高,直接写在HTML元素的style属性中。
    • 计算分数:1000分。
  2. ID选择器(ID Selectors)‌:

    • 优先级次之,使用#符号标识。
    • 计算分数:100分。
  3. 类选择器、伪类选择器、属性选择器(Class Selectors, Pseudo-Class Selectors, Attribute Selectors)‌:

    • 优先级再次之,分别使用.:[]标识。
    • 计算分数:10分。
  4. 元素选择器、伪元素选择器(Element Selectors, Pseudo-Element Selectors)‌:

    • 优先级最低,使用HTML元素名称标识。
    • 计算分数:1分。

1.2 优先级算法 

  • 每个CSS选择器都有一个特定的优先级分数,这个分数由选择器的类型决定,参看1.1计分规则;
  • 当存在多个选择器组合时,分数累加;
  • 总分越高,优先级越高;
  • 特殊权重:!important,使一个样式的优先级高于其他任何非内联样式的优先级,但低于内联样式的优先级。
  • 如果!important声明冲突,则比较优先权。
  • 优先级相同,按照代码顺序,后定义的样式覆盖前面的。
  • 由继承而得到的样式没有specificity的计算,它低于一切其它规则,比如全局选择符*定义的规则。
  • 使用!important虽然可以强制某一条样式规则生效,但应尽量避免滥用,因为它会破坏CSS的层叠特性,导致样式难以维护。

1.3 应用技巧 

  • 合理组合选择器‌:当需要覆盖某个样式时,可以通过组合多个选择器来提高优先级。
  • 避免过度复杂的选择器‌:虽然可以通过组合选择器来达到较高的优先级,但也会使得选择器变得过于复杂,不利于维护。
  • 使用源顺序作为最后的手段‌:当两个选择器具有相同的优先级时,源顺序(即样式表的出现顺序)决定了哪一个规则将被应用,后面的会覆盖前面的,因为CSS的层叠顺序决定了样式的应用方式‌ 。

1.4 示例 

<head lang="en">
    <style>
        #p{
            color: rebeccapurple;
        }
        .p{
            color: #2459a2;
        }
        p{
            color: yellow;
        }
    </style>
</head>
<body>
    <p id="p" class="p" style="color: deeppink">hello yuan</p> <!--最终显示颜色:deeppink-->
</body>

1.5 注意事项 

  • 在实际开发中,合理利用优先级规则可以帮助我们更好地组织和管理样式表。
  • 使用浏览器的开发者工具来检查元素的实际样式,可以帮助诊断样式未按预期显示的原因。

2、css继承 

  • 继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。
  • 继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。
  • 例如一个BODY定义了的颜色值也会应用到段落的文本中。
  • 简单来说,父标签的样式会被内嵌的子孙标签所继承,除非子元素显式地设置了不同的值。 
  • 即使父元素的权重很高,子元素通过继承得到的权重也是0,任何显示申明的规则都可以覆盖其继承样式。这是因为继承的权重在CSS的优先级计算中是不被考虑的‌。
  • 实际开发中,可以利用CSS的继承特性来简化样式表的编写,避免在多个子元素上重复设置相同的样式属性。
  • 同时,也需要注意非继承属性的使用,确保在需要时显式地为子元素设置这些属性‌。

2.1 常见继承属性

字体(font)系列属性、文本(text)系列属性、颜色(color)属性、可见性(visibility)属性、光标(cursor)属性等。这些属性在父元素上设置后,子元素通常会继承相同的值‌ 

2.2 常见非继承属性 

一些属性是不会被继承的,常见的非继承属性包括布局相关属性,如宽度(width)、高度(height)、边框(border)、外边距(margin)、内边距(padding)、背景(background)和显示类型(display)等。这些属性在父元素上设置后,子元素不会继承相同的值,除非子元素显式地设置了这些属性‌


(四)CSS的单位


在CSS中,单位用于指定元素的大小、间距、字体大小等属性。这些单位可以分为绝对单位、相对单位和自动(auto)三种类型。 

1、绝对单位 

绝对单位表示一个固定的值,在不同设备和环境下保持固定,不会因屏幕大小或分辨率以及浏览器设置而改变。常见的绝对单位包括:

  1. px(像素)‌:

    • 最常用的绝对单位,基于屏幕的分辨率。一个像素通常对应于屏幕上的一个点。
    • 由于不同设备和屏幕的像素密度不同,相同的像素值在不同设备上可能会呈现不同的物理尺寸。
  2. in(英寸)‌:

    • 基于实际物理长度,1英寸等于2.54厘米。
  3. cm(厘米)‌:

    • 基于实际物理长度。
  4. mm(毫米)‌:

    • 基于实际物理长度。
  5. pt(点)‌:

    • 通常用于打印样式,1点等于1/72英寸。

2、相对单位 

相对单位是基于其他元素的大小或视口(viewport)的大小来定义的,因此它们会根据父元素或视口的大小而改变,使得布局更加灵活和响应式,因为它们能够根据屏幕尺寸或用户设置自动调整元素的大小。常见的相对单位包括:

  1. %(百分比)‌:

    • 相对于父元素的大小。例如,如果父元素的宽度是200px,而子元素的宽度设置为50%,那么子元素的宽度就是100px。
  2. em‌:

    • 相对于当前元素的字体大小。例如,如果元素的字体大小为16px,那么1em就等于16px。
  3. rem‌:

    • 相对于根元素(<html>)的字体大小(很多浏览器的默认值是16px)的倍数。
    • 使用场景:
      • 响应式设计:通过简单地改变根元素的字体大小来调整整个页面的布局,而不需要逐个修改每个元素的 padding、margin 或其他长度属性,这使得布局更加灵活和响应式
      • ‌一致性‌:使用 rem 可以确保在整个页面中,不同元素之间的间距保持一致性,特别是当你想要在不同的屏幕尺寸或设备上保持一致的视觉效果时。

      • 可访问性‌:当用户通过浏览器设置改变字体大小时,使用 rem 单位的布局会自动调整以适应新的字体大小,满足可访问性需求。

      • /* 设置所有段落元素的内边距为 1rem */
        p {
          padding: 1rem;
        }
        
        /* 设置特定类的内边距 */
        .my-class {
          padding: 1rem;
        }
        /*在上述示例中,无论是段落元素还是具有特定类的元素,它们的内边距都将被设置为 1rem。这意味着,如果根元素的字体大小是 16px,那么这些元素的内边距将是 16px。如果根元素的字体大小改变,那么这些元素的内边距也会相应地改变
        */
  4. vw和vh(视口宽度和高度)‌:

    • 相对于视口(视口是用户网页的可视区域,它随着窗口的缩放而改变)宽度(Viewport Width)和高度(Viewport Height)的1%。
    • 例如,1vw等于视口宽度的1%,1vh等于视口高度的1%,100vw等于当前视口的完整宽度,100vh 等于当前视口的完整高度。
    • 使用场景:
      • 全屏布局‌:当你想要创建一个占据整个浏览器窗口高度的元素时,可以使用 height: 100vh;。这对于创建全屏背景、全屏图像或全屏视频等效果特别有用。

      • 响应式设计‌:虽然 vh 单位本身不是响应式的(因为它基于视口大小,而不是基于元素或父容器的大小),但你可以结合媒体查询来使用它,以在不同的屏幕尺寸下调整元素的高度。

      • 创建垂直滚动效果‌:如果你有一个内容区,你希望它在垂直方向上滚动,并且这个区域的高度应该与视口高度相匹配,那么你可以使用 height: 100vh; 来设置这个区域的高度。

    • 注意事项:
      • 视口变化‌:当浏览器窗口的大小改变时,使用 vh 单位设置的高度也会相应地改变。这意味着,如果你的布局依赖于特定的视口高度,你需要确保在视口大小变化时,布局仍然能够保持可用和美观。
      • 兼容性‌:虽然现代浏览器都支持 vw和vh 单位,但在一些较旧的浏览器或某些特定的浏览器环境中(如某些移动设备的浏览器),可能不支持或支持不完全。因此,在使用 vw或vh 单位时,最好进行跨浏览器测试。
      • 内边距、边框和外边距‌:记得 height 属性只设置内容区的高度。如果你想要包括内边距、边框或外边距在内的总高度与视口高度相匹配,你可能需要使用 box-sizing 属性来调整元素的盒模型。
    • 示例:
      示例
      /* 设置全屏背景 */
      .full-screen-background {
        height: 100vh;
        background-color: #333; /* 示例背景颜色 */
      }
      
      /* 创建垂直滚动的内容区 */
      .content-area {
        height: 100vh;
        overflow-y: auto; /* 允许垂直滚动 */
      }
  5. vmin‌ 和 ‌vmax‌:

    • 分别基于视口的最小和最大边。1vmin等于视口最小边的1%,1vmax等于视口最大边的1%。

3、自动auto 

auto不是一个具体的单位,而是一个特殊的关键字,用于让浏览器自动计算元素的大小或位置,例如:

  • 使用width: auto;可以让浏览器根据内容的大小自动调整元素的宽度;
  • margin: auto;可以用于水平居中对齐块级元素。

4、适用场景 

  • 在实际开发中,选择合适的单位取决于具体的需求和上下文。
  • 绝对单位适用于需要精确控制元素大小的情况;
  • 相对单位则更适合创建响应式布局;
  • 自动(auto)则提供了一种让浏览器自动处理布局细节的方法,从而简化了开发过程。 

(五)CSS的常用属性


1、颜色属性color

值的表示方法:

  • 颜色的英文单词,如:<div style="color:blueviolet">ppppp</div>
  • 颜色的十六进制代码,如:<div style="color:#ffee33">ppppp</div>
  • 用红、绿、蓝三种颜色的十进制调合表示,rgb(0~255,0~255, 0~255),如:<div style="color:rgb(255,0,0)">ppppp</div>
  • 用红、绿、蓝三种颜色的十进制调合表示+透明度,rgba(0~255,0~255, 0~255,0~1),如:<div style="color:rgba(255,0,0,0.5)">ppppp</div>

各种表示方法的颜色表,可以参照:https://blog.csdn.net/2301_78888169/article/details/143754235 

 2、字体属性font

  • 字体大小:font-size,可用像素px/百分比%/较大larger或较小smaller表示: 20px/50%/larger(smaller)
  • 字体类型:font-family:'Lucida Bright'
  • 字体粗细:font-weight,用数字100到100以及lighter/bold/border表示
  • 斜体:font-style: inherit/italic/normal/oblique 

3、背景属性background 

  • 背景颜色:background-color: cornflowerblue(值参考8.1颜色属性)
  • 背景图片:background-image: url('图片路径');(图片尺寸不会变化,如果小于背景区域,则空白部分会复制图片平铺满)
  • 背景图片是否平铺:background-repeat: no-repeat;(repeat:平铺满,repeat-x横向平铺,repeat-y纵向平铺,no-repeat不平铺)
  • 背景位置:background-position: right top(或20px 20px);(横向位置:left center right)(纵向位置:top center bottom)(与左部横向距离:20px)(与顶部纵向距离ÿ

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调

Large Language Models to Diffusion Finetuning 目录 1. 概述 2. 研究背景 3. 方法 3.1 用于 LM 微调的高斯扩散 3.2 架构 4. 主要实验结果 5. 结论 1. 概述 本文提出了一种新的微调方法——LM to Diffusion (L2D)&#xff0c;旨在赋予预训练的大语言模型&#xff08;…

一款wordpress AI免费插件自动内容生成+前端AI交互+文章批量采集

一款wordpressAI自动内容生成前端AI会话窗口交互文章批量采集免费插件 1. SEO优化文章生成 关键词驱动的内容生成&#xff1a;用户可以输入关键词或长尾关键词&#xff0c;插件会根据这些关键词生成高质量的SEO优化文章。文章结构清晰&#xff0c;语言自然流畅&#xff0c;符合…

2024年12月 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试

202412 Scratch 图形化&#xff08;一级&#xff09;真题解析 中国电子学会全国青少年软件编程等级考试 一、单选题(共25题&#xff0c;共50分) 第 1 题 点击下列哪个按钮&#xff0c;可以将红框处的程序放大&#xff1f;&#xff08; &#xff09; A. B. C. D. 标…

Java面试题集合篇5:10道基础面试题——保姆级详细图文、代码解释

文章目录 前言41、多线程场景下使用 ArrayList42、List 和 Set 区别43、HashSet 实现原理44、HashSet检查重复和保证数据不可重复45、BlockingQueue46、Map接口46.1、HashMap 实现原理46.2、HashMap在JDK1.7和JDK1.8中不同点46.3、JDK1.7 VS JDK1.8 比较 47、HashMap的put方法流…

2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题2)-网络部分解析-附详细代码

目录 附录1:拓扑图​编辑 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.SW5 6.SW6 7.SW7 8.R1 9.R2 10.R3 11.AC1 12.AC2 13.EG1 14.EG2 15.AP2 16.AP3 附录1:拓扑图 附录2:地址规划表

优化数据库结构

MySQL学习大纲 一个好的数据库设计方案对于数据库的性能尝尝会起到事倍功半的效果&#xff0c;合理的数据库结构不仅使数据库占用更小的磁盘空间&#xff0c;而且使查询速度更快。数据库结构的设计需要考虑数据冗余、查询和更新速度、字段的数据类型是否合理等多方面的内容&…

【deepseek实战】绿色好用,不断网

前言 最佳deepseek火热网络&#xff0c;我也开发一款windows的电脑端&#xff0c;接入了deepseek&#xff0c;基本是复刻了网页端&#xff0c;还加入一些特色功能。 助力国内AI&#xff0c;发出自己的热量 说一下开发过程和内容的使用吧。 目录 一、介绍 二、具体工作 1.1、引…

Meta Sapiens AI论文解读:人类视觉模型基石初现,AI 未来走向何方?

一、引言 在本文中&#xff0c;我们将深入探讨 Meta AI 的一项新成果&#xff0c;该成果发表于一篇题为《Sapiens&#xff1a;人类视觉模型的基础》的研究论文中。这篇论文介绍了一系列模型&#xff0c;这些模型针对四项以人类为中心的基本任务&#xff0c;正如我们在上面的演示…

多用户同时RDP登入Win10

自备以下文件&#xff1a; winsw_frpc.xml展开如下&#xff1a; <service><!-- ID of the service. It should be unique across the Windows system--><id>winsw_frp</id><!-- Display name of the service --><name>winsw_frp</na…

2025 持续防范 GitHub 投毒,通过 Sharp4SuoExplorer 分析 Visual Studio 隐藏文件

在2024年底的网络安全事件中&#xff0c;某提权工具被发现植入后门&#xff0c;攻击者利用 .suo 文件作为隐蔽的攻击方式。由于 .suo 文件是 Visual Studio 项目的隐藏配置文件&#xff0c;通常不为安全研究人员所关注&#xff0c;因此为攻击者提供了潜在的攻击渠道。 初步调查…

Unity 2D实战小游戏开发跳跳鸟 - 记录显示最高分

上一篇文章中我们实现了游戏的开始界面,在开始界面中有一个最高分数的UI,本文将接着实现记录最高分数以及在开始界面中显示最高分数的功能。 添加跳跳鸟死亡事件 要记录最高分,则需要在跳跳鸟死亡时去进行判断当前的分数是否是最高分,如果是最高分则进行记录,如果低于之前…

牛客 - 链表相加(二)

描述 假设链表中每一个节点的值都在 0 - 9 之间&#xff0c;那么链表整体就可以代表一个整数。 给定两个这种链表&#xff0c;请生成代表两个整数相加值的结果链表。 数据范围&#xff1a;0≤n,m≤1000000&#xff0c;链表任意值 0≤val≤9 要求&#xff1a;空间复杂度 O(n)&am…

Math Reference Notes: 符号函数

1. 符号函数的定义 符号函数&#xff08;Sign Function&#xff09; sgn ( x ) \text{sgn}(x) sgn(x) 是一个将实数 ( x ) 映射为其 符号值&#xff08;即正数、负数或零&#xff09;的函数。 它的定义如下&#xff1a; sgn ( x ) { 1 如果 x > 0 0 如果 x 0 − 1 如…

手写MVVM框架-构建虚拟dom树

MVVM的核心之一就是虚拟dom树&#xff0c;我们这一章节就先构建一个虚拟dom树 首先我们需要创建一个VNode的类 // 当前类的位置是src/vnode/index.js export default class VNode{constructor(tag, // 标签名称&#xff08;英文大写&#xff09;ele, // 对应真实节点children,…

STM32单片机学习记录(2.2)

一、STM32 13.1 - PWR简介 1. PWR&#xff08;Power Control&#xff09;电源控制 &#xff08;1&#xff09;PWR负责管理STM32内部的电源供电部分&#xff0c;可以实现可编程电压监测器和低功耗模式的功能&#xff1b; &#xff08;2&#xff09;可编程电压监测器&#xff08;…

ASUS/华硕天选5锐龙版 FA507U 原厂Win11 22H2 专业版系统 工厂文件 带ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;带一键恢复&#xff0c;以及机器所有的驱动和软件。 支持型号&#xff1a;FA507UU FA507UI FA507UV 系统版本&#xff1a;Windows 11 22H2 文件下载&#xff1a;asusoem.cn/920.html 文件格式&#xff…

React图标库: 使用React Icons实现定制化图标效果

React图标库: 使用React Icons实现定制化图标效果 图标库介绍 是一个专门为React应用设计的图标库&#xff0c;它包含了丰富的图标集合&#xff0c;覆盖了常用的图标类型&#xff0c;如FontAwesome、Material Design等。React Icons可以让开发者在React应用中轻松地添加、定制各…

【C++篇】哈希表

目录 一&#xff0c;哈希概念 1.1&#xff0c;直接定址法 1.2&#xff0c;哈希冲突 1.3&#xff0c;负载因子 二&#xff0c;哈希函数 2.1&#xff0c;除法散列法 /除留余数法 2.2&#xff0c;乘法散列法 2.3&#xff0c;全域散列法 三&#xff0c;处理哈希冲突 3.1&…

e2studio开发RA2E1(9)----定时器GPT配置输入捕获

e2studio开发RA2E1.9--定时器GPT配置输入捕获 概述视频教学样品申请硬件准备参考程序源码下载选择计时器时钟源UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()printf输出重定向到串口定时器输入捕获配…

MacBook Pro(M1芯片)DeepSeek R1 本地大模型环境搭建

MacBook Pro&#xff08;M1芯片&#xff09;DeepSeek R1 本地大模型环境搭建 这一阵子deepseek真的是太火了&#xff0c;这不&#xff0c;R1出来后更是掀起AI的狂欢&#xff0c;作为一个AI的外行人&#xff0c;也是忍不住想要拿过来感受一番&#xff5e;&#xff5e; 主要呢&…