四、CSS3
一、CSS3简介
1、CSS3概述
CSS3 是 CSS2 的升级版本,他在CSS2的基础上,新增了很多强大的新功能,从而解决一些实际面临的问题。
CSS在未来会按照模块化的方式去发展:https://www.w3.org/Style/CSS/current-work.html
CSS3 的新特性如下:
1、新增了更加实用的选择器,例如:动态伪类选择器、目标伪类选择器、伪元素选择器等等。
2、新增了更好的视觉效果,例如:圆角、阴影、渐变等。
3、新增了丰富的背景效果,例如:支持多个背景图片,同时新增了若干个背景相关的属性。
4、新增了全新的布局方案 —— 弹性盒子。
5、新增了 Web 字体,可以显示用户电脑上没有安装的字体。
6、增强了颜色,例如: HSL 、 HSLA 、 RGBA 几种新的颜色模式,新增 opacity 属性来控制透明度。
7、增加了 2D 和 3D 变换,例如:旋转、扭曲、缩放、位移等。
8、增加动画与过渡效果,让效果的变换更具流线性、平滑性。
..............
2、CSS3私有前缀
2.1 什么是私有前缀
如下代码中的 -webkit- 就是私有前缀
div {width : 400px ;height : 400px ;-webkit- border-radius : 20px ;}
2.2 为什么要有私有前缀
W3C 标准提出的某个CSS特性,在被浏览器正式支持之前,浏览器厂商会根据浏览器的内核,使用私有前缀来测试该CSS特性,在浏览器正式支持该CSS特性后,就不需要私有前缀了。
举个例字:
-webkit-border-radius: 20px;
-moz- border-radius : 20px ;-ms- border-radius : 20px ;-o- border-radius : 20px ;border-radius : 20px ;
查询CSS3兼容性的网站:https://caniuse.com/
2.3 常见浏览器私有前缀
- Chrome 浏览器: -webkit
- Safari 浏览器: -webkit
- Firefox 浏览器: -moz
- Edge 浏览器: -webkit-
- 旧 Opera 浏览器: -o-
- 旧 IE 浏览器: -ms-
注意:
我们在编码时,不用过于关注浏览器私有前缀,不用绞尽脑汁的去记忆,也不用每个都去查询,因为常用的 CSS3 新特性,主流浏览器都是支持的,即便是为了老浏览器而加前缀,我们也可以借助现代的构建工具,去帮我们添加私有前缀。
二、CSS3基本语法
1、CSS3新增长度单位
1)rem 根元素字体大小的倍数,只与根元素字体大小有关。
2)vw 视口宽度的百分之多少 10vw 就是视口宽度的 10%
3)vh 视口高度的百分之多少 10vh 就是视口高度的 10%视口宽度其实就是指整个浏览器页面得高度和宽度,设置上面两个单位时,当浏览器页面放大或者缩小时,对应的元素也会跟着放大或者缩小,永远占相同的比例。在移动端用的比较多。
4) vamx 视口宽高中大的那个百分之多少。(了解即可)
5)vmin 视口宽高中小的那个的百分之多少。(了解即可)
2、CSS新增颜色设置方式
CSS3 新增了三种颜色设置方式,分别是: rgba 、 hsl 、 hsla ,由于之前已经详细讲解,此处略过。
3、CSS3新增选择器
CSS3新增的选择器有:动态伪类、目标伪类、语言伪类、UI伪类、否定伪类、伪元素;这些在CSS2中已经详细讲解,此处略过。
4、CSS3新增盒模型相关属性
4.1 box-sizing 怪异盒模型
使用box-sizing 属性可以设置盒模型的两种类型:
可选值 | 含义 |
content-box | width 和 height 设置的是盒子内容区的大小。(默认值) |
border-box | width 和 height 设置的是盒子总大小。(怪异盒模型) 就是不管你的padding 还有 border 的大侠,我盒子的模型就是固定了。(比较有用) |
4.2 resize 调整盒子大小
使用 resize 属性可以控制是否允许用户调节元素尺寸。
值 | 含义 |
none | 不允许用户调整元素大小。(默认) |
both | 用户可以调节元素的宽度盒高度。 |
horizontal | 用户可以调节元素的宽度。 |
vertical | 用户可以调节元素的高度。 |
4.3 box-shadow 盒子阴影
使用 box-shadow 属性为盒子添加阴影。
语法:
box-shadow : h-shadow v-shadow blur spread color inset ;
各个值得含义:
值 | 含义 |
h-shadow | 水平阴影得位置,必须填写,可以为负值 |
v-shadow | 垂直阴影的位置,必须填写,可以为负值 |
blur | 可选,模糊举例 |
spread | 可选,阴影得外延值 |
color | 可选,阴影的颜色 |
inset | 可选,将外部阴影改为内部阴影 |
默认值:box-shadow:none 表示没有阴影
示例:/* 写两个值,含义:水平位置、垂直位置 */box-shadow : 10px 10px ;/* 写三个值,含义:水平位置、垂直位置、颜色 */box-shadow : 10px 10px red ;/* 写三个值,含义:水平位置、垂直位置、模糊值 */box-shadow : 10px 10px 10px ;/* 写四个值,含义:水平位置、垂直位置、模糊值、颜色 */box-shadow : 10px 10px 10px red ;/* 写五个值,含义:水平位置、垂直位置、模糊值、外延值、颜色 */box-shadow : 10px 10px 10px 10px blue ;/* 写六个值,含义:水平位置、垂直位置、模糊值、外延值、颜色、内阴影 */box-shadow : 10px 10px 20px 3px blue inset ;
应用示例:鼠标放上去时,产生阴影,类似于被选中的效果。 小米官网。
4.4 opacity不透明度
opacity 属性能为整个元素添加透明效果,值是 0 到 1 之间得小数,0 是完全透明得,1 表示完全不透明。
opacity 与 rgba 的区别?
opacity 是一个属性,设置的是整个元素(包括元素里的内容)的不透明度。rgba 是颜色的设置方式,用于设置颜色,它的透明度,仅仅是调整颜色的透明度。
5、CSS3新增背景属性
5.1 background-origin
作用:设置背景图的原点
语法:
1、padding-box:从padding区域开始显示背景图像。--默认值
2、border-box:从border区域开始显示背景图像。
3、content-box:从content区域开始显示背景图像。
/* 指定背景图 */background-image: url('./bg01.jpg');/* 背景图是否重复 */background-repeat: no-repeat;/* 背景图的起始点:padding-box 参考padding的边缘content-box 参考内容区的边缘*/background-origin: content-box;
5.2 backgroud-clip
作用:设置背景图的向外裁剪区域。
语法:
1、border-box:从border区域开始向外剪裁背景。--默认值
2、padding-box:从padding区域开始向外裁剪背景。
3、content-box:从content 区域开始向外裁剪背景。
4、text:背景图只呈现在文字上。
注意:若值为text,那么backgroun-clip 要加上 -webkit- 前缀。
/* 设置背景图的向外裁剪区域,意思就是控制背景图的显示范围,超出某个区域以外的背景就不呈现了,padding-box 超出padding以外的区域不呈现content-box 超出content-box以外的区域不呈现背景图片跟背景颜色都受整个属性控制 */background-clip: content-box;
5.3 backgroud-size
作用:设置背景图的尺寸。
语法:
1、用长度值指定背景图片大小,不允许负值。
background-size: 300px 200px;
2、用百分比指定背景图片大小,不允许负值。
background-size : 100% 100% ;
3、auto:背景图片的真实大小。--默认值
4、contain:将背景图片等比缩放,使背景图片的宽或高,与容器的宽或高相等,再将完整背景图片包含在容器内,但要注意:可能会造成容器里部分区域没有背景图片。
background-size: contain;
5、cover:将背景图片等比缩放,直到完全覆盖容器,图片会尽可能全的显示在元素上,但要注意:背景图片有可能显示不完整。--相对比较好的选择
background-size: cover;
/* 背景图大小 宽 和 高 */background-size: 400px 400px;/* 背景图大小参考其父元素的百分比 */background-size: 100% 100%;/* 背景图等比例缩放,直到被容器装下 */background-size: contain;/* 等比例缩放,尽可能显示全 */background-size: cover;
5.4 backgorund 复合属性
语法:
background: color url repeat position / size origin clip
注意:
1. origin 和 clip 的值如果一样,如果只写一个值,则 origin 和 clip 都设置;如果设置了两个值,前面的是 origin ,后面的 clip 。2. size 的值必须写在 position 值的后面,并且用 / 分开。
/* background: 背景颜色 背景url 是否重复 位置 / 大小 原点 裁剪方式; */
background: red url('./bg03.jpg') no-repeat 10px 10px / 500px 500px border-box content-box;
5.5 多背景图
CSS3允许元素设置多个背景图片
/* 添加多个背景图 */
background : url ( ../images/bg-lt.png ) no-repeat ,
url ( ../images/bg-rt.png ) no-repeat right top ,
url ( ../images/bg-lb.png ) no-repeat left bottom ,
url ( ../images/bg-rb.png ) no-repeat right bottom ;
6、CSS3新增边框属性
6.1 边框圆角
在CSS3 中,使用border-radius 属性可以将盒子变成圆角。
同时设置四个角的圆角:
border-radius:10px;
分开设置每个角的圆角(几乎不用):
属性名 | 作用 |
border-top-left-radius | 设置左上角圆角半径: 1、一个值是正圆半径, 2、两个值分别是椭圆的x半径,y半径。 |
border-top-right-radius | 设置右上角半径: 1、一个值是正圆半径, 2、两个值分别是椭圆的 x 半径,y 半径。 |
border-bottom-right-radius | 设置右下角圆角半径: 1、一个值是正圆半径, 2、两个值分别是椭圆的x半径、y半径 |
border-bottom-left-radius | 设置左下角圆角半径: 1、一个值是正圆半径 2、两个值分别是椭圆的x半径、y半径。 |
分开设置每个角的圆角,综合写法(几乎不用):
border-raidus : 左上角 x 右上角 x 右下角 x 左下角 x / 左上 y 右上 y 右下 y 左下 y
/* 圆角的半径为 50px ,当像素值为宽或高的一半时,会变成一个圆 */border-radius: 50px;/* 父元素宽或高的50% */border-radius: 50%;/* 单独设置左上角为圆角 *//* border-top-left-radius: 50px; *//* 100指的是横向的半径 50指的是纵向上的半径,类似一个椭圆 */border-top-left-radius: 100px 50px;/* 单独设置右上角为圆角 */border-top-right-radius: 50px;/* 单独设置左下角为圆角 */border-bottom-left-radius: 50px;/* 单独设置右下角为圆角 */border-bottom-right-radius: 50px;border-radius: 100px 50px 20px 10px / 50px 20px 10px 5px;
6.2 边框外轮廓(了解)
outline-width:外轮廓的宽度。
outline-color:外轮廓的颜色。
outline-style:外轮廓的风格。
none:无轮廓
dotted:点状轮廓
dashed:虚线轮廓
solid:实现轮廓
double:双线轮廓
outline-offset:设置外轮廓与边框的距离,政府之都可以设置。
注意:outline-offset 不是 outline 的子属性,是一个独立的属性。
outline复合属性:
outline:50px solid blue;
7、CSS新增文本属性
7.1 文本阴影
在CSS3中,我们可以使用 text-shadow 属性给文本添加阴影。
语法:
text-shadow : h-shadow v-shadow blur color ;
值 | 描述 |
h-shadow | 必须写,水平阴影的位置,允许负值。 |
v-shadow | 必须写,垂直阴影的位置。允许负值。 |
blur | 可选,模糊的距离。 |
color | 可选,阴影的颜色 |
默认值:text-shadow:none 表示没有阴影。
text-shadow: 3px 3px 10px red;
7.2 文本换行
在CSS3中,我们可以使用 white-space 属性设置文本换行方式。
常用值如下:
值 | 含义 |
normal | 文本超出边界自动换行,文本中的换行被浏览器识别为一个空格。(默认值) |
pre | 原样输出,与pre标签的效果相同 |
pre-wrap | 在pre效果的基础上,超出元素边界自动换行。 |
pre-line | 在pre效果的基础上,超过元素边界自动换行,且只识别文本中的换行,空格会忽略。 |
nowrap | 强制不换行 |
7.3 文本溢出
在CSS3中,我们可以使用 text-overflow 属性设置文本内容溢出时的呈现模式。
常用值如下:
值 | 含义 |
clip | 当内联内容溢出时,将溢出部分裁切掉。(默认值) |
ellipsis | 当内联内容溢出块容器时,将溢出部门替换为...。 |
注意:要使得 text-overflow 属性生效,块容器必须显式定义 overflow 为非 visible
值, white - space 为 nowrap 值。
7.4 文本修饰
CSS3升级了 text-decoration属性,让其变成里复合属性
text-decoration : text-decoration-line || text-decoration-style || text-decoration-color
子属性及其含义:
text-decoration- line 设置文本装饰线的位置
- none : 指定文字无装饰 (默认值)
- underline : 指定文字的装饰是下划线
- overline : 指定文字的装饰是上划线
- line-through : 指定文字的装饰是贯穿线
text-decoration-style 文本装饰线条的形状
- solid : 实线 (默认)
- double : 双线
- dotted : 点状线条
- dashed : 虚线
- wavy : 波浪线
text-decoration- color 文本装饰线条的颜色
7.5 文本描边
- -webkit-text-stroke-width :设置文字描边的宽度,写长度值。
- -webkit-text-stroke-color :设置文字描边的颜色,写颜色值。
- -webkit-text-stroke :复合属性,设置文字描边宽度和颜色。
8、CSS3新增渐变
8.1 线性渐变
多个颜色之间的渐变,默认从上到下渐变。
background-image: linear-gradient(red,yellow,green);
使用关键词设置线性渐变的方向。
background-image : linear-gradient ( to top , red , yellow , green );background-image : linear-gradient ( to right top , red , yellow , green );
使用角度设置线性渐变的方向。
background-image : linear-gradient ( 30deg , red , yellow , green );
调整开始渐变的位置。
background-image: linear-gradient(red 50px,yellow 100px ,green 150px)
.box {width: 300px;height: 200px;border: 1px solid black;float: left;margin-left: 50px;}.box1 {/* 默认从上到下的,从红 到 黄 到 绿 进行渐变,理论上可以加无限个渐变色*/background-image: linear-gradient(red,yellow,green);}.box2 {/* 从左往右进行渐变,起始颜色是第一个,最后一个绿色还可以写 to right top 往右上方向 等等 */background-image: linear-gradient(to right,red,yellow,green);}.box3{/*顺时针转30度进行渐变 */background-image: linear-gradient(20deg,red,yellow,green);}.box4{/* 50px时必须时纯红色 100px时必须是纯黄色 */background-image: linear-gradient(red 50px,yellow 100px,green);}.box5{/* 50px时必须时纯红色 100px时必须是纯黄色 */background-image: linear-gradient(20deg,red 50px,yellow 100px,green);font-size: 50px;text-align: center;line-height: 200px;font-weight: bold;color: transparent;-webkit-background-clip: text;}
8.2 径向渐变
多个颜色之间的渐变,默认从圆心四散,(注意:不一定是正圆,要看容器本身宽高比)
background-image : radial-gradient ( red , yellow , green );
使用关键词调整渐变圆的圆心位置
background-image: radial-gradient(at right top,red,yellow,green);
使用像素值调整渐变圆的圆心位置。
background-image: radial-gradient(at 100px 50px,red,yellow,green);
调整渐变形状为正圆。
background-image: radial-gradient(circle,red,yellow,green);
调整形状的半径。
background-image : radial-gradient ( 100px , red , yellow , green );background-image : radial-gradient ( 50px 100px , red , yellow , green );
调整开始渐变的位置。
background-image: radial-gradient(red 50px,yellow 100px,green 150px);
8.3重复渐变
无论线性渐变,还是径向渐变,在还没有发生渐变的位置,继续进行渐变,就为重复渐变。
- 使用 repeating-linear-gradient 进行重复线性渐变,具体参数同 linear-gradient。
- 使用 repeating-radial-gradient 进行重复径向渐变,具体参数同 radial-gradient。
我们可以利用渐变,做出很多有意思的效果:例如横格纸、立体球等。
9、web字体
9.1 基本用法
可以通过@font-face 指定字体的具体地址,浏览器会自动下载该字体,这样就不依赖用户电脑上的字体了。
语法(间歇方式):
@font-face {font-family : " 情书字体 " ;src : url ( './ 方正手迹 .ttf' );}
语法(高兼容性写法):
@font-face {font-family : "atguigu" ;font-display : swap ;src : url ( 'webfont.eot' ); /* IE9 */src : url ( 'webfont.eot?#iefix' ) format ( 'embedded-opentype' ), /* IE6-IE8 */url ( 'webfont.woff2' ) format ( 'woff2' ),url ( 'webfont.woff' ) format ( 'woff' ), /* chrome 、 firefox */url ( 'webfont.ttf' ) format ( 'truetype' ), /* chrome 、 firefox 、 opera 、 Safari,Android*/url ( 'webfont.svg#webfont' ) format ( 'svg' ); /* iOS 4.1- */}
9.2 定制字体
中文的字体文件很大,使用完整的字体文件不现实,通常针对某几个文字进行单独定制。
可使用阿里 web 字体定制工具:https://www.iconfont.cn/webfont
9.3 字体图标
相比图片更加清晰。
灵活性高,更方便改变大小、颜色、风格等。
兼容性好,IE也能支持。
字体图标的具体使用方式,每个平台不尽相同,最好参考平台使用指南,视频中我们是以使用最多的阿里图标库作为演示。阿里图标官网地址: https://www.iconfont.cn/
10、2D变换
前提:二维坐标如下所示:
10.1 2D位移
2D 位移可以改变元素的位置,具体使用方式如下:
1、先给元素添加 转换属性 transform
2、编写 transform 的具体值,相关可选值如下:
值 | 含义 |
translateX | 设置水平方向位移,需指定长度值;若指定的是百分比,是参考自身宽度的百分比。 |
translateY | 设置垂直方向位移,需指定长度值;若指定的是百分比,是参考自身高度的百分比。 |
translate | 一个值代表水平方向,两个值代表:水平和垂直方向。 |
3、注意点:
1、位移与相对定位很相似,都不脱离文档流,不会影响到其他元素。
2、与相对定位的区别:相对定位的百分比值,参考的是其父元素;定位的百分比值,参考的是其自身。
3、浏览器针对位移有优化,与定位相比,浏览器处理位移的效率更高。
4、transform 可以链式编写,例如:transform: translateX(30px) translateY(40px);
5、位移对行内元素无效。
6、位移配合定位,可实现元素水平垂直居中。.box {position : absolute ;left : 50% ;top : 50% ;transform : translate ( -50% , -50% );}
10.2 2D缩放
2D 缩放是指:让元素放大或缩小,就使用方式如下:
1、先给元素添加 转换属性 transform
2、编写 transform 的具体值,相关可选值如下:
值 | 含义 |
scaleX | 设置水平方向的缩放比例,值为一个数字,1表示不缩放,大于1放大,小于1缩小。 |
scaleY | 设置垂直方向的缩放比例,值为一个数字,1表示不缩放,大于1放大,小于1缩小。 |
scale | 同时设置水平方向、垂直方向的缩放比例,一个值代表同时设置水平和垂直缩放,两个值分别代表:水平缩放、垂直缩放。 |
3、注意点:
1. scale 的值,是支持写负数的,但几乎不用,因为容易让人产生误解。2. 借助缩放,可实现小于 12px 的文字。
10.3 2D旋转
2D旋转是指:让元素在二维平面内,顺时针旋转或逆时针旋转,具体使用方式如下:
1、先给元素添加转换属性 transform
2、编写 transform 的具体值,相关可选值如下:
值 | 含义 |
rotate | 设置旋转角度,需指定一个角度值(deg),政治顺时针,负值逆时针。 |
注意: rotateZ(20deg) 相当于 rotate(20deg) ,当然到了 3D 变换的时候,还能写:
rotate(x,x,x)
10.4 2D扭曲(了解)
2D扭曲是指:让元素在二维平面内被“拉扯”,进而“走形”,实际上开发几乎不用,了解即可,具体使用方法如下:
1、先给元素添加 转换属性 transform
2、编写 transform 的具体值,相关可选值如下:
值 | 含义 |
skewX | 设置元素在水平方向曲,值为角度值,会将元素的左上角、右下角拉扯。 |
skewY | 设置元素在垂直方向扭曲,值为角度值,会将元素的左上角、右下角拉扯。 |
skew | 一个值代表 skewX,两个值分别代表:skewX、skewY |
10.5 多重变换
多个变换,可以同时使用一个 tranform 来编写。
transform : translate ( -50% , -50% ) rotate ( 45deg );
注意点:多重变换时,建议最后旋转。
10.6 变换原点
- 元素变换时,默认的原点是元素的中心,使用 transform-origin 可以设置变换的原点。
- 修改变换原点对位移没有影响, 对旋转和缩放会产生影响。
- 如果提供两个值,第一个用于横坐标,第二个用于纵坐标。
- 如果只提供一个,若是像素值,表示横坐标,纵坐标取 50% ;若是关键词,则另一个坐标取 50%
1. transform - origin: 50% 50% , 变换原点在元素的中心位置,百分比是相对于自身。 —— 默认值2. transform - origin: left top ,变换原点在元素的左上角 。3. transform - origin: 50px 50px , 变换原点距离元素左上角 50px 50px 的位置。4. transform - origin: 0 ,只写一个值的时候,第二个值默认为 50% 。
相关文章:

四、CSS3
一、CSS3简介 1、CSS3概述 CSS3 是 CSS2 的升级版本,他在CSS2的基础上,新增了很多强大的新功能,从而解决一些实际面临的问题。 CSS在未来会按照模块化的方式去发展:https://www.w3.org/Style/CSS/current-work.html …...

Three使用WebGPU的关键TSL
Three.js 使用 WebGPU 的关键 TSL TSL: three.js shader language 介绍 three.js 材质转为webgpu的关键流程, 从而引出 TSL. 1、关键类关系 WebGPURenderer|-- library: StandardNodeLibrary|-- _nodes: Nodes|-- _objects: RenderObjects|-- createRenderObject()StandardN…...

ESP32-S3模组上跑通ES8388(30)
接前一篇文章:ESP32-S3模组上跑通ES8388(29) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回终于解析完了es8388_init函数的所有代码。本回回到调用它的地方,继续往下讲解。 我们是从ESP32-S3模组上跑通ES8388(7)-CSDN博客开始进入es8388_init函数,展开对于它的解析的…...

概率论得学习和整理24:EXCEL的各种图形,统计图形
目录 0 EXCEL的各种图形,统计图形 1 统计图形 / 直方图 / 其实叫 频度图 hist最合适(用原始数据直接作图) 1.1 什么是频度图 1.2 如何创建频度图,一般是只选中1列数据(1个数组) 1.3 如何修改频度图的宽度 1.4 hist图的一个特…...

WPF中依赖属性的底层和普通属性的底层有什么不一样
WPF中依赖属性的底层 在 WPF 中,依赖属性(Dependency Property)是 WPF 属性系统的核心,它支持功能强大的特性(如数据绑定、动画、样式等)。其底层实现是围绕 DependencyObject 类展开的。以下是 WPF 中依赖…...

【Qt】drawText字体大小问题探究
背景 软件的一个功能是: 打开图片在图片上绘制序号,序号的样式是圆圈内包含数字将带有序号的图片打印出来 实现思路也很简单,在屏幕上显示时重写paintEvent函数,利用QPainter完成图片和序号的绘制。打印时只需要将QPainter对应…...

Mapbox-GL 的源码解读的一般步骤
Mapbox-GL 是一个非常优秀的二三维地理引擎,随着智能驾驶时代的到来,应用也会越来越广泛,关于mapbox-gl和其他地理引擎的详细对比(比如CesiumJS),后续有时间会加更。地理首先理解 Mapbox-GL 的源码是一项复…...

【C++】高级分析 switch 语句的应用
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯switch 语句的基本用法语法结构核心要点实例演示正确实现 期望输出错误实现错误输出 💯if 与 switch 语句的实现比较使用 if 语句使用 switch 语句比较分析 &am…...

活动预告 | Surface 来了#11:Windows 11 AI+ PC,释放 AI 办公设备的无限潜能
课程介绍 欢迎来到 Surface 来了第 11 期节目。 今年 5 月底,微软推出了专为 AI 体验而设计的全新 Windows PC 品类:Windows 11 AI PC。 微软通过 Windows 11 AI PC,进一步强调了 NPU 在运行设备端 AI 功能的重要性。并要求符合这一品类的…...

php基础:正则表达式
1.正则表达式 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。到目前为止,我们前面所用过的精确(文本)匹配也是一种正则表达式。 在PHP中,正则表达式一般是由正规字…...

go语言压缩[]byte数据为zlib格式的时候,耗时较多,应该怎么修改?
在Go语言中使用compress/flate包来实现Zlib格式的压缩时,如果发现压缩耗时较多,可以考虑以下几个优化方向: ### 1. 压缩级别 默认情况下,compress/flate包中的NewWriter函数使用的是默认压缩级别(BestSpeed和BestComp…...

[机器学习]AdaBoost(数学原理 + 例子解释 + 代码实战)
AdaBoost AdaBoost(Adaptive Boosting)是一种Boosting算法,它通过迭代地训练弱分类器并将它们组合成一个强分类器来提高分类性能。 AdaBoost算法的特点是它能够自适应地调整样本的权重,使那些被错误分类的样本在后续的训练中得到…...

深入了解Spring
目录 Spring基础 什么是Spring框架? Spring 包含的模块有哪些? Core Container AOP Data Access/Integration Spring Web Messaging Spring Test Spring,Spring MVC,Spring Boot 之间什么关系? Spring基础 什么是Spring框架? Sp…...

jar 包如何下载
maven官网:https://mvnrepository.com/ 点击搜索,找对应搜索结果点击...

ESlint代码规范,手动与自动修复
规范说明 规则参考 - ESLint - 插件化的 JavaScript 代码检查工具 规范说明 可看到是main.js文件报错分别是第三行第30个字符,以及第七行第一个字符 后面则是规范说明,可以根据说明查找相应的规范 一.手动修正 ctrl f 可以搜索 二.自动修正 …...

利用编程获得money?
在当今数字化时代,编程技能为人们开辟了众多赚钱途径。无论你是编程新手还是经验丰富的开发者,都能在广阔的市场中找到适合自己的盈利方式。以下是一份详细的用编程赚钱指南。 一、自由职业平台 像 Upwork、Freelancer 和 Fiverr 等知名自由职业平台&am…...

设计规规范:【App 配色】
文章目录 引言I App 配色组成色彩象征 & 联想II 知识扩展设计流程图UI设计交互设计UI交互设计引言 设计规范,保持设计一致性,提高设计效率。宏观上对内统一,管理与合作变得容易。 按类型管理颜色、文本样式、图标、组件(symbol)。 蓝湖设计规范云 https://lanhuapp.co…...

react 使用 PersistGate 白屏解决方案
我在全局添加 PersistGate 组件后报错了 报错信息如下: Uncaught Error: A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped wi…...

F5中获取客户端ip地址(client ip)
当F5设备对其原始设置上的所有IP地址使用NAT时,连接到poo成员(nodes、backend servers)的出站连接将是NAT IP地址。 pool 成员(nodes、backend servers)将无法看到真实的客户端 ip地址,因为看到的是F5上的…...

Maven(生命周期、POM、模块化、聚合、依赖管理)详解
目录 Maven构建项目的生命周期 Maven的常用命令 POM 依赖管理 依赖导入 依赖范围设置 依赖版本维护 依赖传递 依赖冲突 解决依赖冲突的方法 使用maven提供的依赖调节原则 排除依赖,排除依赖的jar包 锁定版本 项目模块化 Maven项目的继承 Maven项目…...

电力场景绝缘子缺陷识别分割数据集labelme格式1099张3类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):1099 标注数量(json文件个数):1099 标注类别数:3 标注类别名称:["brokenpart","brokeninsulator…...

【k8s集群应用】Kubernetes 容器编排系统
文章目录 Kubernetes 容器编排系统背景与发展Kubernetes 基本概念Kubernetes 集群架构与组件Kubernetes 核心组件Master 组件配置存储中心Node 组件 Kubernetes核心概念1. Pod2. Pod控制器3. Label与Label选择器4. Service5. Ingress6. Volume7. Name与Namespace K8S创建Pod资源…...

Unity3D仿星露谷物语开发2之工程初始化
1、依赖包安装 进入【Window -> Package Manager】 安装如下插件: 1)Cinemachine 它是一套专门控制Unity Camera的模块,适用于各种游戏场景中物体的移动变化,解决了许多关于摄像机间的复杂控制,混合,…...

Kafka篇之参数优化进而提高kafka集群性能
1. Kafka性能优化分类 Kafka集群的性能优化涉及多个方面,包括硬件资源、网络、配置文件参数等。 调优目标通常是为了提高吞吐量、减少延迟、提升稳定性和故障恢复能力。 以下是Kafka集群调优的常见策略,以及调优后的配置文件示例。 1. 硬件资源调优 C…...

关于SAP Router连接不稳定的改良
这个也是网上看来的,之前在用的时候也在想是不是建立一个长连接,就不至于断线。今天正好看到。 关于SAP Router连接不稳定的改良 我们在使用SAPRouter时经常会碰到断线,其发生原因有很多,如:网络不稳定、操作间隔时间…...

使用pygame做游戏(2):2048游戏的进一步改造,以失败告终
前言 受《Python树莓派编程从零开始》里的示例启发,我决定将上篇的2048游戏进行“面向对象化”改造。 这次除了要建立一些对象,还要能有移动效果,并能显示中文。 另外我还发现一个bug:方块放满了不代表输了,还要检查能…...

【CSS in Depth 2 精译_078】12.6 调整字间距,提升可读性 + 12.7 本章小结
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考12.1.3 行内元素的间距设置 12.2 Web 字体12.3 谷歌字体12.4 font-fac…...

泷羽sec学习打卡-brupsuite7搭建IP炮台
声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-Brup-IP炮台搭建 搭建炮台服务端安装zmap1、更新系统和安装基础依赖ÿ…...

使用Svelte构建轻量级应用详解
文章目录 前言一、为什么选择Svelte?二、快速上手Svelte三、理解Svelte的核心概念四、优化性能与用户体验五、案例研究:构建一个待办事项应用结语 前言 Svelte是一款新兴的前端框架,以其小巧的体积、高效的性能和直观的API赢得了开发者的青睐…...

Qt设置部件的阴影效果
QT中的比如QWidget,QLabel,QPushbutton,QCheckBox都可以设置阴影效果,就像这样: 以QWidget为例,开始尝试使用样式表的形式添加阴影,但没有效果,写法如下: QWidget#widget1::shadow{color: rgb…...