四、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-boxwidth 和 height 设置的是盒子内容区的大小。(默认值)
border-boxwidth 和 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 内核浏览器支持。
  • -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%

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

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

相关文章

Loki 微服务模式组件介绍

目录 一、简介 二、架构图 三、组件介绍 Distributor(分发器) Ingester(存储器) Querier(查询器) Query Frontend(查询前端) Index Gateway(索引网关&#xff09…

上海亚商投顾:创业板指缩量下跌 多只高位股午后跌停

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 市场全天震荡调整,创业板指领跌,高位股开始出现退潮,建设工业、星光股份、…

libnanomsg详解

libnanomsg,或简称为nanomsg,是一个高性能的消息传递库,它为开发者提供了简单且高效的“可扩展协议”实现。以下是对libnanomsg的详细解析: 一、基本概述 项目地址:GitCode - 全球开发者的开源社区,开源代码托管平台 …

MySQL基础大全(看这一篇足够!!!)

文章目录 前言一、初识MySQL1.1 数据库基础1.2 数据库技术构成1.2.1 数据库系统1.2.2 SQL语言1.2.3 数据库访问接口 1.3 什么是MySQL 二、数据库的基本操作2.1 数据库创建和删除2.2 数据库存储引擎2.2.1 MySQL存储引擎简介2.2.2 InnoDB存储引擎2.2.3 MyISAM存储引擎2.2.4 存储引…

geoserver 瓦片地图,tomcat和nginx实现负载均衡

在地理信息系统(GIS)领域,GeoServer作为一个强大的开源服务器,能够发布各种地图服务,包括瓦片地图服务。为了提高服务的可用性和扩展性,结合Tomcat和Nginx实现负载均衡成为了一个有效的解决方案。本文将详细…

Spark执行计划解析后是如何触发执行的?

在前一篇Spark SQL 执行计划解析源码分析中,笔者分析了Spark SQL 执行计划的解析,很多文章甚至Spark相关的书籍在讲完执行计划解析之后就开始进入讲解Stage切分和调度Task执行,每个概念之间没有强烈的关联,因此这中间总感觉少了点…

前端的知识(部分)

11 前端的编写步骤 第一步:在HTML的页面中声明方法 第二步:在<script>中定义一个函数,其中声明一个data来为需要的数据 赋值一个初始值 第三步:编写这个方法实现对应的功能

网络编程中的黏包和半包问题

引言 - 什么是黏包和半包&#xff1f; 在网络编程中&#xff0c;黏包和半包问题是常见的数据传输问题&#xff0c;尤其是在使用TCP协议时。Netty作为一个高性能的网络框架&#xff0c;提供了多种解决方案来处理这些问题。下面我将详细解释黏包和半包问题&#xff0c;以及Netty…

F5中获取客户端ip地址(client ip)

当F5设备对其原始设置上的所有IP地址使用NAT时&#xff0c;连接到poo成员&#xff08;nodes、backend servers&#xff09;的出站连接将是NAT IP地址。 pool 成员&#xff08;nodes、backend servers&#xff09;将无法看到真实的客户端 ip地址&#xff0c;因为看到的是F5上的…

【容器】k8s学习笔记原理详解(十万字超详细)

Pod详解 Pod介绍 Pod结构 每个Pod中都可以包含一个或者多个容器&#xff0c;这些容器可以分为两类&#xff1a; 用户程序所在的容器&#xff0c;数量可多可少Pause容器&#xff0c;这是每个Pod都会有的一个根容器&#xff0c;它的作用有两个&#xff1a; 可以以它为依据&am…

【他山之石】Leading-Trim: The Future of Digital Typesetting:数字排版的未来 —— Leading-Trim

文章目录 【他山之石】Leading-Trim: The Future of Digital Typesetting&#xff1a;数字排版的未来 —— Leading-TrimHow an emerging CSS standard can fix old problems and raise the bar for web apps1. The problem with text boxes today2. How we got here: a histor…

vue3修改elementui-plus的默认样式的几种方法

#创作灵感 今天写vue的前端项目&#xff0c;因为需要去修改elementui-plus中drawer的默认样式&#xff0c;所以刚好将修改步骤记录下来。 一共提供了三种方法&#xff0c;但亲测第二种最好用。 使用第二种是可以无视自己的代码中是否定义了该盒子&#xff0c;因为有时候盒子的…

Qt WORD/PDF(四)使用 QAxObject 对 Word 替换(QWidget)

关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF&#xff08;二…

MaskGCT——开源文本转语音模型,可模仿任何人说话声音

前期介绍过很多语音合成的模型&#xff0c;比如ChatTTS&#xff0c;微软语音合成大模型&#xff0c;字节跳动自家发布的语音合成模型Seed-TTS。其模型随着技术的不断发展&#xff0c;模型说话的声音也越来越像人类&#xff0c;虽然 seed-tts 可以进行语音合成等功能&#xff0c…

socket编程UDP-实现滑动窗口机制与累积确认GBN

在下面博客中&#xff0c;我介绍了利用UDP模拟TCP连接、按数据包发送文件的过程&#xff0c;并附上完整源码。 socket编程UDP-文件传输&模拟TCP建立连接脱离连接&#xff08;进阶篇&#xff09;_udp socket发送-CSDN博客 下面博客实现了停等机制。 socket编程UDP-实现停…

Linux 网络流量控制 - 实现概述

摘要 Linux 提供了一整套丰富的流量控制(traffic control)功能。本文档概述了相应的内核代码设计&#xff0c;描述了其结构&#xff0c;并通过描述一种新的排队策略来说明新元素的添加。 1 引言 最近的Linux内核提供了多种流量控制功能。Alexey Kuznetsov&#xff08;kuznet…

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …

.net core在linux导出excel,System.Drawing.Common is not supported on this platform

使用框架 .NET7 导出组件 Aspose.Cells for .NET 5.3.1 asp.net core mvc 如果使用Aspose.Cells导出excel时&#xff0c;报错 &#xff1a; System.Drawing.Common is not supported on this platform 平台特定实现&#xff1a; 对于Windows平台&#xff0c;System.Drawing.C…

AI视频配音技术创新应用与商业机遇

随着人工智能技术的飞速发展&#xff0c;AI视频配音技术已经成为内容创作者和营销人员的新宠。这项技术不仅能够提升视频内容的吸引力&#xff0c;还能为特定行业带来创新的解决方案。本文将探讨AI视频配音技术的应用场景&#xff0c;并讨论如何合法合规地利用这一技术。 AI视频…

【数字花园】个人知识库网站搭建:①netlify免费搭建数字花园

目录 [[数字花园]]的构建原理包括三个步骤&#xff1a;五个部署方案教程相关教程使用的平台 步骤信息管理 这里记录的自己搭建数字花园&#xff08;在线个人知识库&#xff09;的经历&#xff0c;首先尝试的是网上普遍使用的方法&#xff0c;也就是本篇文章介绍的。 后面会继续…