移动端笔记

news2024/12/24 11:34:16

目录

一、移动端基础

二、视口

三、二倍图/多倍图

四、移动端开发

(一)开发选择

(二)常见布局

(三)移动端技术解决方案

五、移动WEB开发之flex布局

六、移动WEB开发之rem适配布局

#END(具体可观看b站pink老师css后续移动端视频)


​​​​​​​

一、移动端基础

1. 移动端浏览器主要用于对webkit内核进行兼容

2. 内核:

(1) Webkit:一个开源的浏览器引擎,该引擎由苹果公司开发,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。

(2)Trident:又称为IE内核,采用Trident内核的浏览器有:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Sleipnir、GOSURF、GreenBrowser和KKman等。

(3) Gecko:又称为Firefox内核,同时Gecko是一个跨平台内核,可以在Windows、 BSD、Linux和Mac OS X中使用。

(4) Blink:由Google和Opera Software开发的浏览器排版引擎,在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

3. 目前移动端开发针对于手机端;

4. 移动端碎片化较严重(原因:分辨率和屏幕尺寸大小不同)。

二、视口

1. 概念:浏览器显示页面内容的屏幕区域;

2. 分类:布局视口、视觉视口、理想视口;

3. 布局视口(layout viewport)(不适合页面开发)

(1)移动设备的浏览器一般都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题。

*iOS,Android基本能将视口分辨率设置为980px,可手动缩放网页。

4. 视觉视口(visual viewport)

(1)用户所正在看的网站的区域;

(2)可通过缩放操作视觉视口,但不会影响布局视口(即布局视口仍保持原本的宽度)。

5. 理想视口(ideal viewport)

(1)为了使网站在移动端有最理想的浏览和阅读宽度而设定,对设备来讲,是最理想的视口尺寸;

(2)需要手动添写meta视口标签

(3)采用理想视口的主要目的是让我们的设备与布局视口宽度一致

6. meta视口标签

(1)标准的viewport设置

① 视口宽度和设备保持一致

② 视口的默认缩放比例1.0

③ 不允许用户自行缩放

④ 最大允许的缩放比例1.0

⑤ 最小允许的缩放比例1.0

(2)写法:

<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

三、二倍图/多倍图

*二倍精灵图做法:

1. 在firework(一个软件)中将精灵图等比例缩放为原来的一半;

2. 根据大小测量坐标;

3. 代码设置为background-sizes:精灵图原本宽度的一半。

*图片格式:

1. 实质:将准备的图片比实际需要的尺寸大小大两倍;

2. 物理像素&物理像素比

(1)物理像素点:屏幕显示的最小颗粒,是物理真实存在的(即分辨率);

(2)开发时的1px不一定等于1个物理像素,PC端页面1px等于1个物理像素;

(3)一个px能显示的物理像素点的个数,称为物理像素比或屏幕像素比。

(4)Retina(视网膜屏幕):一种显示技术,可以将更多的物理像素点压缩至一块屏幕中从而达到更高的分辨率,并提高屏幕显示的细腻程度。

举例:iPhone8中为750像素点,但宽度375px的盒子将其占满,1px=2像素点,物理像素比为2,其中375×667为开发尺寸(px)。

3. 多倍图目的

(1)使用倍图来提高图片质量,解决在高清设备中的模糊问题;

(2)将准备的图片比实际需要的尺寸大小大几倍(看实际需求);

4. 背景缩放(background-size)

(1)规定背景图像的尺寸

(2)background-size:背景图片宽度 背景图片高度

(3)单位:长度|百分比| cover| contain;

① cover把背景图像扩展至足够大,以使背景图像完全覆盖背景区域;(background-size:cover)

② contain把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。(高度和宽度等比例拉伸、background-size:contain)

5. 相关代码

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      div {
        width: 500px;
        height: 500px;
        border: 1px solid black;
        background: url(../2.旋转木马/1.png) no-repeat;
        /* background-size: 500px; */
        /*完全覆盖盒子*/
        /* background-size: cover; */
        /*contain 高度和宽度等比例拉伸,当宽度或高度铺满盒子就不再拉伸*/
        background-size: contain;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

未使用background-size

 使用了background-size

使用cover

四、移动端开发

(一)开发选择

1. 单独制作移动端页面(主流)

(1)不改变原本的PC端页面,单独制作一个页面;

(2)通常情况下,网址域名前面加m(mobile)可以打开移动端。通过判断设备,如果是移动设备打开,则跳到移动端页面。

2. 响应式页面兼容移动端(其次)

(1)优点:通过屏幕宽度来改变样式,以适应不同终端;

(2)缺点:制作麻烦,需要解决兼容性问题。

(二)常见布局

1. 移动端技术选型

(1)单端制作移动端页面

① 流式布局(百分比布局)

② flex弹性布局

③ less+rem+媒体查询布局

④ 混合布局

(2)响应式页面兼容移动端

① 媒体查询

② bootstarp

2. 流式布局

(1)流式布局,就是百分比布局,也称非固定像素布局。

(2)通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸宿,不受固定像素的限制,内容向两侧填充。

(3)流式布局方式是移动web开发使用的比较常见的布局方式。

max-width(最大宽度) min-width(最小宽度)

max-height(最大高度) min-height(最小高度)

(三)移动端技术解决方案

1. 移动端浏览器

(1)移动端浏览器基本以webkit内核为主,因此考虑webkit兼容性问题,可使用H5标签和CSS3样式;

(2)浏览器的私有前缀只需要考虑添加webkit即可;

2. css初始化normalize.css的优点:

(1)保护了有价值的默认值

(2)修复了浏览器bug

(3)是模块化的

(4)拥有详细的文档

3. css3盒子模型box-sizing

(1)传统模式宽度计算:盒子的宽度=CSS中设置的width + border + padding

(2)CSS3盒子模型:盒子的宽度=CSS中设置的宽度width里面包含了border和padding也就是说,CSS3中的盒子模型,padding和border不会撑大盒子了

4. 特殊样式

五、移动WEB开发之flex布局

1. 传统布局和flex布局

(1)传统布局

① 兼容性好、布局繁琐;

② 局限性,不能再移动端很好地布局;

(2)flex弹性布局

① 操作方便,布局极为简单,移动端应用很广泛;

② PC端浏览器支持情况较差;

③ IE11或更低版本,不支持或仅部分支持。

2. flex布局与普通布局对比

(1)未加display:flex

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>flex</title>
    <style>
      div {
        width: 80%;
        height: 300px;
        background-color: skyblue;
      }
      div span {
        width: 200px;
        height: 100px;
        margin-right: 5px;
        background-color: pink;
        border: 1px solid black;
      }
    </style>
  </head>
  <body>
    <div>
      <span>1</span>
      <span>2</span>
      <span>3</span>
    </div>
  </body>
</html>

(2)加了display:flex

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>flex</title>
    <style>
      div {
        display: flex;
        justify-content: space-around;
        width: 80%;
        height: 300px;
        background-color: skyblue;
      }
      div span {
        width: 200px;
        height: 100px;
        margin-right: 5px;
        background-color: pink;
        border: 1px solid black;
        flex: 1;
      }
    </style>
  </head>
  <body>
    <div>
      <span>1</span>
      <span>2</span>
      <span>3</span>
    </div>
  </body>
</html>

3. 布局原理

(1)当父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效;

(2)伸缩布局 = 弹性布局 = 伸缩盒布局 = 弹性盒布局 = flex布局;

(3)通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。

4. 常见的父项属性

(1)flex-direction :设置主轴的方向;

① 在flex布局中分为主轴和侧轴(也称为行和列、x轴和y轴);

② 默认主轴方向就是x轴方向,水平向右;默认侧轴方向就是y轴方向,水平向下。 

 ③ 具体代码及结果:

<style>
  div {
    /* 給父级添加flex属性 */
    display: flex;
    /* 默认的主轴是x轴 行 row ,那么Y轴是侧轴,且我们的元素根据主轴来排列*/
    /* 翻转  */
    /* flex-direction: row-reverse; */
    /* y轴 */
    flex-direction: column;
    width: 80%;
    height: 300px;
    background-color: skyblue;
  }
  div span {
    width: 200px;
    height: 100px;
    margin-right: 5px;
    background-color: pink;
    border: 1px solid black;
    flex: 1;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
  </div>
</body>

(2)justify-content :设置主轴上的子元素排列方式;

① 具体代码及结果:

<style>
  div {
    /* 給父级添加flex属性 */
    display: flex;
    /* 默认的主轴是x轴 行 row ,那么Y轴是侧轴,且我们的元素根据主轴来排列*/
    flex-direction: row;
    /* justify-content:设置主轴上排列方式; */
    /* justify-content: center; */
    /* 平分剩余空间 */
    /* justify-content: space-around; */
    /* 先两边贴边再分配剩余的空间 */
    justify-content: space-between;
    width: 80%;
    height: 300px;
    background-color: skyblue;
  }
  div span {
    width: 200px;
    height: 100px;
    margin-right: 5px;
    background-color: pink;
    border: 1px solid black;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
  </div>
</body>

(3)flex-wrap :设置子元素是否换行;

① 默认情况下,项目都排在一条线上(又称“轴线”),flex-wrap属性定义,flex布局中默认不换行。

② 属性分为:nowrap(不换行)和wrap(换行);

③ 具体代码和结果:

<style>
  div {
    /* 給父级添加flex属性 */
    display: flex;
    width: 600px;
    height: 300px;
    background-color: skyblue;
    /* flex布局中,默认的子元素是不换行的,如果装不开会缩小子元素的宽度,放到父元素中 */
    flex-wrap: wrap;
  }
  div span {
    width: 150px;
    height: 100px;
    margin: 10px;
    background-color: pink;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
  </div>
</body>

(4)align-content :

① 设置侧轴上的子元素的排列方式(多行);设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行),在单行下是没有效果的;

② 属性值:

③ 具体代码和结果:

<style>
  div {
    /* 給父级添加flex属性 */
    display: flex;
    width: 600px;
    height: 400px;
    background-color: skyblue;
    flex-wrap: wrap;
    /* 因为有了换行,此时侧轴上控制子元素的对齐方式为align-content */
    /* align-content: center; */
    /* align-content: space-between; */
    align-content: space-around;
  }
  div span {
    width: 150px;
    height: 100px;
    margin: 10px;
    background-color: pink;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
  </div>
</body>

​​​​​​​

(5)align-items :设置侧轴上的子元素排列方式(单行);

① 在子项为单项(单行)的时候使用;

② 属性值:

③ 具体代码和结果:

<style>
  div {
    /* 給父级添加flex属性 */
    display: flex;
    width: 600px;
    height: 400px;
    background-color: skyblue;
    /* 默认主轴是x轴 */
    justify-content: center;
    /* 侧轴居中 */
    /* align-items: center; */
    /* 拉伸,但是子盒子不要给高度 */
    /* align-items: stretch; */
    align-items: center;
  }
  div span {
    width: 150px;
    /* height: 100px; */
    margin: 10px;
    background-color: pink;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
  </div>
</body>

*align-items与align-content的区别

① align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸;

② align-content 适用于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值;

③ 总结就是单行找align-items 多行找 align-content。

(6)flex-flow :复合属性,相当于同时设置了flex-direction和flex-wrap。

flex-flow: row wrap;

5. flex布局子项常见属性

(1)flex子项目占的份数;

① flex属性定义子项目分配其剩余空间,用flex设置所占份数;

② 具体代码和结果:

<style>
  section {
    display: flex;
    width: 60%;
    height: 150px;
    background-color: skyblue;
    margin: 100px auto;
  }

  section div:nth-child(1) {
    width: 100px;
    height: 150px;
    background-color: aquamarine;
  }

  section div:nth-child(2) {
    flex: 1;
    background-color: pink;
  }

  section div:nth-child(3) {
    width: 100px;
    height: 150px;
    background-color: cornflowerblue;
  }

  p {
    display: flex;
    width: 60%;
    height: 150px;
    background-color: pink;
    margin: 0 auto;
  }

  p span {
    flex: 1;
    border: 1px solid black;
  }
  p span:nth-child(2) {
    flex: 2;
  }
</style>

<body>
  <section>
    <div></div>
    <div></div>
    <div></div>
  </section>
  <p>
    <span>1</span>
    <span>2</span>
    <span>3</span>
  </p>
</body>

(2)align-self :控制子项自己在侧轴的排列方式;

① align-self属性允许单个项目有与其他项目不同的对齐方式,可覆盖align-items属性;

② 默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch;

(3)order :定义子项的排列顺序(前后顺序);

① 数值越小,排列越靠前,默认为0。

② 具体代码和结果:

<style>
  div {
    display: flex;
    width: 80%;
    height: 300px;
    background-color: pink;
    /* 让三个盒子沿侧轴底侧对齐 */
    /* align-items: flex-end; */
    /* 只想让三号盒子沿侧轴底侧对齐 */
  }

  div span {
    width: 150px;
    height: 100px;
    background-color: skyblue;
    margin-right: 5px;
  }

  div span:nth-child(2) {
    /* 默认是0,-1比0小所以在前面 */
    order: -1;
  }

  div span:nth-child(3) {
    align-self: flex-end;
  }
</style>

<body>
  <div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
  </div>
</body>

*线性渐变(必须加上浏览器私有前缀)

起始方向可以是:方位名词或者度数,如果省略默认就是top。

 具体代码及结果:

<style>
  div {
    width: 600px;
    height: 180px;
    background: -webkit-linear-gradient(top left, red, blue);
  }
</style>

六、移动WEB开发之rem适配布局

1. 基础和特点

(1)rem (root em)是一个相对单位,类似于em;

(2)em是父元素字体大小,而rem的基准是相对于html元素的字体大小;

例如:根元素(html)设置font-size:12px,非根元素设置width:2rem,则换成px表示就是24px。

(3)可以通过修改html里面的文字大小来改变页面中元素的大小,从而整体控制。

2. 媒体查询

(1)特点

① 使用@media查询,可以针对不同的媒体类型定义不同的样式;

② @media可以针对不同的屏幕尺寸设置不同的样式;

③ 当重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面;

④ 应用广泛,目前针对很多苹果手机、Android手机,平板等。

(2)语法规范

@media mediatype and|not|only (media feature){
    CSS-Code;
}

① 使用@media开头;

② mediatype:媒体类型;

③ 关键字and not only;

④ media featur:媒体特性(必须包含在小括号内)。

(3)媒体特性

① 每种媒体类型都具有不同的特性,根据不同的媒体类型的媒体特性可设置不同的展示风格(包含在小括号里);

② 属性值:

​​​​​​​

③ 具体代码及结果:

/* 这句话的意思是:在屏幕上并且最大的宽度是800像素 */
/* max-width 小于等于 */
/* 此处代表当body的宽度小于等于800像素时,则背景颜色为skyblue */
@media screen and (max-width: 800px) {
  body {
    background-color: skyblue;
  }
}

@media screen and (min-width: 800px) {
  body {
    background-color: pink;
  }
}

(4)引入资源

① 原理:直接在link中判断设备的尺寸,根据不同的尺寸引用不同的css文件;

② 语法规范:

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

3. less基础

(1)css缺点

① CSS是一门非程序式语言,没有变量、函数、SCOPE (作用域)等概念

② CSS需要书写大量看似没有逻辑的代码,CSS冗余度是比较高的;

③ 不方便维护及扩展,不利于复;

④ CSS没有很好的计算能力;

⑤ 非前端开发工程师来讲,往往会因为缺少CSS编写经验而很难写出组织良好且易于维护的CSS代码项目。

(2)less介绍

*总结:​​​​​​​Less是一门css预处理语言,扩展了css的动态特性。

① Less ( Leaner Style Sheets的缩写)是一门CSS扩展语言,也成为CSS预处理器;

② 做为CSS的一种形式的扩展,它并没有减少CSS的功能,而是在现有的CSS语法上,为CSS加入程序式语言的特性;

③ 在CSS的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本,就像它的名称所说的那样,Less 可以让我们用更少的代码做更多的事情。

(3)Less使用

① Less变量

变量是指没有固定的值,可以改变的。因为我们CSS中的一些颜色和数值等经常使用。

格式:@变量名:值;

变量命名规范:

a. 必须以@为前缀;

b. 不能包含特殊字符;

c. 不能以数字开头;

d. 大小写敏感。

② less编译

a. 本质上,Less包含—套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的CSS文件。(即将文件后缀名设置为less)

b. 编译方法:使用vocode less插件(Easy LESS插件用来把less文件编译为css文件)。

③ less嵌套

① 具体代码和结果:

//less文件中的代码
.header {
    width: 200px;
    height: 200px;
    background-color: pink;
    // 1.less嵌套 子元素的样式直接写到父元素里面
    a {
        color: red;
        font-size: 20px;
    // 2.伪类选择器、伪元素选择器、交集选择器,需要再内层选择器的前面加&
        &:hover {
            color: blue;
        }
    }
}

.nav {
    font-size: 30px;
    width: 300px;
    height: 300px;
    background-color: skyblue;
    .logo {
        color: red;
    }
    &::before {
        content: "";
        display: block;
        width: 100px;
        height: 100px;
        background-color: purple;
    }
}
//css文件中的代码
.header {
  width: 200px;
  height: 200px;
  background-color: pink;
}
.header a {
  color: red;
  font-size: 20px;
}
.header a:hover {
  color: blue;
}
.nav {
  font-size: 30px;
  width: 300px;
  height: 300px;
  background-color: skyblue;
}
.nav .logo {
  color: red;
}
.nav::before {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  background-color: purple;
}

④ less运算

a. 运算符的左右两侧必须加上空格;

b. 两个数参与运算,如果只有一个数有单位,则最终结果以这个单位为准;

c. 两个数参与运算,如果两个数都有单位且单位不一样,则最终结果以第一个单位为准。

d. 具体代码和结果:

//less文件中代码
@border: 5px + 5;
div {
    width: (200px - 50) * 2;
    height: 200px * 2;
    border: @border solid black;
    background-color: #666 - #222;
}
img {
    width: (82rem / 50px);
    height: (82 / 50rem);
}
//css文件中代码
div {
  width: 300px;
  height: 400px;
  border: 10px solid black;
  background-color: #444444;
}
img {
  width: 1.64rem;
  height: 1.64rem;
}

(4)rem适配方案

① 适配目标

使一些不能等比自适应的元素,当设备尺寸发生改变时,等比例适配当前设备。

② 如何实现目标

使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做尺寸单位,当html字体大小变化时元素尺寸也会发生变化,从而达到等比缩放的适配。

③ 如何在实际开发中使用

按照设计稿与设备宽度的比例,动态计算并设置html根标签的font-size大小;(媒体查询)

CSS中,设计稿元素的宽、高、相对位置等取值,按照同等比例换算为rem为单位的值;

④ rem适配方案技术使用(市场主流)

a.less+媒体查询+rem

b.flexible.js+rem

⑤ 最终公式:页面元素的rem值 = 页面元素值(px) / (屏幕宽度 / 划分的份数)

a. 屏幕宽度 / 划分的份数:html中font-size的大小;

b. 也可为:页面元素的rem值 = 页面元素值(px) / (html中font-size的大小)

#END(具体可观看b站pink老师css后续移动端视频)​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嘀嗒出行再闯IPO:千军万马我无懈

羽扇纶巾笑谈间&#xff0c;千军万马我无懈。 在激烈竞争中再度冲刺港交所IPO的嘀嗒出行&#xff0c;闪露出一丝歌词里的气魄。交通运输部下属网约车监管信息交互系统的数据显示&#xff0c;截至2023年1月31日&#xff0c;全国共有300家网约车平台公司取得网约车平台经营许可。…

如何使用COM-Hunter检测持久化COM劫持漏洞

关于COM-Hunter COM- Hunter是一款针对持久化COM劫持漏洞的安全检测工具&#xff0c;该工具基于C#语言开发&#xff0c;可以帮助广大研究人员通过持久化COM劫持技术来检测目标应用程序的安全性。 关于COM劫持 微软在Windows 3.11中引入了(Component Object Model, COM)&…

2月第4周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年2月20日-2月26日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B…

基频估计算法简介

基频估计算法 F0 estimate methods 估计F0的方法可以分为三类:基于时域、基于频域、或混合方法。本文详细介绍了这些方法。 所有的算法都包含如下三个主要步骤&#xff1a; 1.预处理&#xff1a;滤波&#xff0c;加窗分帧等 2.搜寻&#xff1a;可能的基频值F0&#xff08;候选…

chatgpt到底颠覆了什么 第二部分

以第二个理由就是两个字&#xff0c;垄断。 现在谈到范式转变&#xff0c;如果首先谈的还是算法&#xff0c;那说明还没有透彻理解范式改变范式改变&#xff0c;首先要改的是什么。是什么&#xff1f;是参赛资格。 过去我相信大企业大团队聚拢了许多聪明的脑袋&#xff0c;但我…

基于神经网络补偿的主动悬架自适应控制

目录 前言 1. 1/4悬架模型 2.仿真分析 2.1仿真模型 2.2仿真结果 2.1 形① 2.2 形② 3. 总结 前言 上两篇博客我们介绍了神经网络补偿控制律的仿真测试&#xff0c;从仿真结果我们可以得知神经网络具有逼近扰动&#xff0c;并将其补偿的作用。 上两篇文章链接&#xf…

在nestjs中进行typeorm cli迁移(migration)的配置

在nestjs中进行typeorm cli迁移(migration)的配置 在学习nestjs过程中发现typeorm的迁移配置十分麻烦,似乎许多方法都是旧版本的配置&#xff0c;无法直接使用. 花了挺长时间总算解决了这个配置问题. db.config.ts 先创建db.config.ts, 该文件export了两个对象&#xff0c;其…

AcWing算法提高课-3.1.2信使

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 题目传送门点这里 题目描述 战争时期&#xff0c;前线有 nnn 个哨所&#xff0c;每个哨所可能会与其他若干个哨所之间有通信联系。 信使负责在哨所之间传递信息&#xff0c;当然&#xff0c;…

CPU 偏高,和linux常用命令

CPU 偏高&#xff0c;和linux常用命令一、1、常用命令2、top 查看整体的cpu占有率&#xff08;哪个进程cpu占用过高&#xff09;3、top -Hp 8779 查看该pid 下哪个进程占用过高4、打印dump日志 重点关注&#xff08;RUNNABLE、BLOCKED&#xff09;一、 1、常用命令 整机 top …

k8s ConfigMap 中 subPath 字段和 items 字段

Kubernetes中什么是subPath 有时&#xff0c;在单个 Pod 中共享卷以供多方使用是很有用的。volumeMounts.subPath 属性可用于指定所引用的卷内的子路径&#xff0c;而不是其根路径。 这句话理解了&#xff0c;基本就懂subPath怎么用了&#xff0c;比如我们要替换nginx.cnf, 挂…

map和set的使用

文章目录关联式容器树形结构的关联式容器setinsert增减erase删除multiset修改mappair<key,value>insertoperator[] 的引入insert和operator[]的区别multimap小结map的使用统计最喜欢吃的前几种水果前K个高频单词&#xff0c;返回单词的频率由高到低,频率相同时&#xff0…

Isaac-gym(9):项目更新、benchmarks框架梳理

一、项目更新 近期重新git clone isaac gym的强化部分&#xff08;具体见系列第5篇&#xff09;时发现官方的github库有跟新&#xff0c;git clone下来后发现多了若干个task&#xff0c;在环境配置上也有一定区别。 例如新旧两版工程项目的setup.py区别如下&#xff1a; git …

现在的00后太强了,几个问题差点给我问懵了

前言 我们公司刚入职一个00后小伙&#xff0c;今天在办公室交流了一下&#xff0c;他问我会不会自动化测试&#xff0c;我说懂一点&#xff0c;然后直接问了我几个自动化测试问题&#xff0c;差点直接给我问懵了&#xff01; 问题如下&#xff1a; 我们在制定自动化测试实施…

计算机组成原理4小时速成5:输入输出系统,io设备与cpu的链接方式,控制方式,io设备,io接口,并行串行总线

计算机组成原理4小时速成5&#xff1a;输入输出系统&#xff0c;io设备与cpu的链接方式&#xff0c;控制方式&#xff0c;io设备&#xff0c;io接口&#xff0c;并行串行总线 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c…

刷题笔记1 | 704. 二分查找,27. 移除元素

704. 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 …

备战蓝桥杯——sort函数

备战蓝桥杯——sort函数排列字母lambda匿名函数排列字母 链接: 排列字母 不用多说&#xff0c;很简单的签到题&#xff0c;我们先来了解一下sort函数的用法 list.sort(cmpNone, keyNone, reverseFalse) cmp:进行比较的方法&#xff08;可以自定义排序的方法&#xff0c;通常…

vue2前端实现html导出pdf功能

1. 功能实现方案 1.html转换成canvas后生成图片导出pdf&#xff08;本文选用&#xff09; html转canvas插件&#xff1a;html2canvas是一款将HTML代码转换成Canvas的插件&#xff1b;canvas生成pdf&#xff1a;jsPDF是一个使用Javascript语言生成PDF的开源库 2.HTML代码转出…

JavaWeb详解加实战

JavaWeb 1、基本概念 1.1、前言 web开发 web&#xff0c;网页的意思静态web HTML、CSS提供给所有人看的数据始终不变 动态WEB 提供给所有人看的数据始终会发证变化&#xff0c;每个人在不同的时间&#xff0c;地点看到的信息各不相同技术栈&#xff1a;Servlet/JSP&#xf…

LeetCode 热题 HOT 100 Java 题解 -- Part 2

练习地址 Part 1 : https://blog.csdn.net/qq_41080854/article/details/128829494 LeetCode 热题 HOT 100 Java 题解 -- Part 236. 二叉树的中序遍历 9437. 不同的二叉搜索树 9638. 验证二叉搜索树 9839. 对称二叉树 10140. 二叉树的层序遍历 10241. 二叉树的最大深度 10442.…

cycleGAN算法解读

本文参考&#xff1a;https://blog.csdn.net/Mr_health/article/details/112545671 1 CycleGAN概述 CycleGAN&#xff1a;循环生成对抗神经网络&#xff0c;是一种非监督学习模型。 Pix2pix方法适用于成对数据的风格迁移&#xff0c;而大多数情况下对于A风格的图像&#xf…