web前端面试题最新,html+css移动端布局,前端程序员必经的实践之路

/**

  • Add the correct font weight in Chrome, Edge, and Safari.在Chrome、Edge和Safari中添加正确的字体粗细

*/

b,

strong {

font-weight: bolder;

}

/**

    1. Correct the inheritance and scaling of font size in all browsers.修正所有浏览器中字体大小的继承和缩放。
    1. Correct the odd em font sizing in all browsers.纠正所有浏览器中奇怪的’ em '字体大小

*/

code,

kbd,

samp {

font-family: monospace, monospace; /* 1 */

font-size: 1em; /* 2 */

}

/**

  • Add the correct font size in all browsers.在所有浏览器中添加正确的字体大小。

*/

small {

font-size: 80%;

}

/**

  • Prevent sub and sup elements from affecting the line height in all browsers.

*防止’ sub ‘和’ sup '元素影响所有浏览器中的行高。

*/

sub,

sup {

font-size: 75%;

line-height: 0;

position: relative;

vertical-align: baseline;

}

sub {

bottom: -0.25em;

}

sup {

top: -0.5em;

}

/* Embedded content

========================================================================== */

/**

  • Remove the border on images inside links in IE 10.在IE 10中删除链接内图像的边框。

*/

img {

border-style: none;

}

/* Forms

========================================================================== */

/**

    1. Change the font styles in all browsers. 更改所有浏览器中的字体样式。
    1. Remove the margin in Firefox and Safari. 删除Firefox和Safari中的空白。

*/

button,

input,

optgroup,

select,

textarea {

font-family: inherit; /* 1 */

font-size: 100%; /* 1 */

line-height: 1.15; /* 1 */

margin: 0; /* 2 */

}

/**

  • Show the overflow in IE. IE显示溢出。

    1. Show the overflow in Edge.在边缘显示溢出。

*/

button,

input { /* 1 */

overflow: visible;

}

/**

  • Remove the inheritance of text transform in Edge, Firefox, and IE.在Edge、Firefox和IE中移除文本转换的继承。

    1. Remove the inheritance of text transform in Firefox.在Firefox中删除文本转换的继承。

*/

button,

select { /* 1 */

text-transform: none;

}

/**

  • Correct the inability to style clickable types in iOS and Safari.修正了在iOS和Safari中无法样式化可点击类型的问题。

*/

button,

type=“button”,

type=“reset”,

[type=“submit”] {

-webkit-appearance: button;

}

/**

  • Remove the inner border and padding in Firefox.删除Firefox中的内边框和填充。

*/

button::-moz-focus-inner,

[type=“submit”]::-moz-focus-inner {

border-style: none;

padding: 0;

}

/**

  • Restore the focus styles unset by the previous rule.恢复先前规则未设置的焦点样式。

*/

button:-moz-focusring,

[type=“submit”]:-moz-focusring {

outline: 1px dotted ButtonText;

}

/**

  • Correct the padding in Firefox.

*/

fieldset {

padding: 0.35em 0.75em 0.625em;

}

/**

    1. Correct the text wrapping in Edge and IE.修正边缘和IE中的文本包装。
    1. Correct the color inheritance from fieldset elements in IE.修正了IE中’ fieldset '元素的颜色继承。
    1. Remove the padding so developers are not caught out when they zero outfieldset elements in all browsers.

去掉填充,这样当开发者在所有浏览器中归零“fieldset”元素时就不会被发现。

*/

legend {

box-sizing: border-box; /* 1 */

color: inherit; /* 2 */

display: table; /* 1 */

max-width: 100%; /* 1 */

padding: 0; /* 3 */

white-space: normal; /* 1 */

}

/**

  • Add the correct vertical alignment in Chrome, Firefox, and Opera.在Chrome、Firefox和Opera中添加正确的垂直对齐

*/

progress {

vertical-align: baseline;

}

/**

  • Remove the default vertical scrollbar in IE 10+.:删除IE 10+中默认的垂直滚动条。

*/

textarea {

overflow: auto;

}

/**

    1. Add the correct box sizing in IE 10.1. 在IE 10中添加正确的框大小。
    1. Remove the padding in IE 10.2. 移除IE 10中的填充。

*/

[type=“checkbox”],

[type=“radio”] {

box-sizing: border-box; /* 1 */

padding: 0; /* 2 */

}

/**

  • Correct the cursor style of increment and decrement buttons in Chrome.修正了Chrome中递增和递减按钮的光标样式。

*/

type=“number”::-webkit-outer-spin-button {

height: auto;

}

/**

    1. Correct the odd appearance in Chrome and Safari.修正Chrome和Safari中奇怪的外观。
    1. Correct the outline style in Safari.修正Safari中的轮廓样式

*/

[type=“search”] {

-webkit-appearance: textfield; /* 1 */

outline-offset: -2px; /* 2 */

}

/**

  • Remove the inner padding in Chrome and Safari on macOS.在macOS上移除Chrome和Safari的内填充。

*/

[type=“search”]::-webkit-search-decoration {

-webkit-appearance: none;

}

/**

    1. Correct the inability to style clickable types in iOS and Safari.修正了在iOS和Safari中无法样式化可点击类型的问题。
    1. Change font properties to inherit in Safari.在Safari中更改字体属性为“inherit”。

*/

::-webkit-file-upload-button {

-webkit-appearance: button; /* 1 */

font: inherit; /* 2 */

}

/* Interactive

========================================================================== */

/*

  • Add the correct display in Edge, IE 10+, and Firefox.在Edge、IE 10+和Firefox中添加正确的显示。

*/

details {

display: block;

}

/*

  • Add the correct display in all browsers.在所有浏览器中添加正确的显示。

*/

summary {

display: list-item;

}

/* Misc

========================================================================== */

/**

  • Add the correct display in IE 10+.在ie10 +中添加正确的显示。

*/

template {

display: none;

}

/**

  • Add the correct display in IE 10.在ie10中添加正确的显示。

*/

[hidden] {

display: none;

}

3 CSS3 盒子模型box-sizing

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

  • `CSS3盒子模型: 盒子的宽度 = CSS中设置的宽度width 里面包含了 border 和 padding

也就是说,我们的CSS3中的盒子模型, padding 和 border 不会撑大盒子了

4.特殊样式

/CSS3盒子模型/

box-sizing: border-box;

-webkit-box-sizing: border-box;

/点击高亮我们需要清除清除 设置为transparent 完成透明/

-webkit-tap-highlight-color: transparent;

/在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式/

-webkit-appearance: none;

/禁用长按页面时的弹出菜单//ios上独有/

img,a { -webkit-touch-callout: none; }

六、移动端常见布局


移动端技术选型

1. 单独制作移动端页面(主流)
  • 流式布局(百分比布局)

  • flex 弹性布局(强烈推荐)

  • less+rem+媒体查询布局

  • 混合布局

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

  • 媒体查询

  • bootstarp

七、移动端开发之流式布局


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

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

  • 流式布局方式是移动web开发使用的比较常见的布局方式

  • max-width 最大宽度 (max-height 最大高度)

  • min-width 最小宽度 (min-height 最小高度)

Document

八、京东移动端首页制作


1.技术选型

  • 方案:我们采取单独制作移动页面方案

  • 技术:布局采取流式布局

2. 搭建相关文件夹结构

image-20220318145511600

3.设置视口标签以及引入初始化样式

<meta name=“viewport” content="width=device-width, user-scalable=no,

initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

4. 常用初始化样式

body {

margin: 0 auto;

min-width: 320px;

max-width: 640px;

background: #fff;

font-size: 14px;

font-family: -apple-system, Helvetica, sans-serif;

line-height: 1.5;

color: #666;

}

/点击高亮我们需要清除清除 设置为transparent 完成透明/

  • {

-webkit-tap-highlight-color: transparent;

}

/在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式/

input {

-webkit-appearance: none;

}

/禁用长按页面时的弹出菜单/

img,

a {

-webkit-touch-callout: none;

}

a {

color: #666;

text-decoration: none;

}

ul {

margin: 0;

padding: 0;

list-style: none;

}

img {

vertical-align: middle;

}

div {

/* css3 盒子模型 */

box-sizing: border-box;

-webkit-box-sizing: border-box;

}

.clearfix:after {

content: “”;

display: block;

line-height: 0;

visibility: hidden;

height: 0;

clear: both;

}

项目下载

九、移动WEB开发之flex布局


1.flex布局体验

1.1 传统布局与flex布局

传统布局

  • 兼容性好

  • 布局繁琐

  • 局限性,不能再移动端很好的布局

flex 弹性布局

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

  • PC 端浏览器支持情况较差

  • IE 11或更低版本,不支持或仅部分支持

建议:

  1. 如果是PC端页面布局,我们还是传统布局。

  2. 如果是移动端或者不考虑兼容性问题的PC端页面布局,我们还是使用flex弹性布局

1.2 初体验
Document

1

2

3

2. flex布局原理

1 布局原理

flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局

  • 当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。

  • 伸缩布局 = 弹性布局 = 伸缩盒布局 = 弹性盒布局 =flex布局

采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。

  • 体验中 div 就是 flex父容器。

  • 体验中 span 就是 子容器 flex项目

  • 子容器可以横向排列也可以纵向排列

总结flex布局原理:

就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-85Ph4D1E-1647853059074)(C:/Users/lightofd/AppData/Roaming/Typora/typora-user-images/image-20220319090424025.png)]

3.常见父项属性

  • flex-direction:设置主轴的方向

  • justify-content:设置主轴上的子元素排列方式

  • flex-rap:设置子元素是否换行

  • align-content:设置侧轴上的子元素的排列方式(多行)

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

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

  • flex布局中,默认的子元素是不换行的, 如果装不开,会缩小子元素的宽度,放到父元素里面

1).flex-direction 属性决定主轴的方向(即项目的排列方向)

注意: 主轴和侧轴是会变化的,就看 flex-direction 设置谁为主轴,剩下的就是侧轴。而我们的子元素是跟着主轴来排列的

| 属性值 | 说明 |

| — | — |

| row | 默认值从左到右 |

| row-reverse | 从右到左 |

| column | 从上到下 |

| column-reverse | 从下到上 |

2)justify-content 设置主轴上的子元素排列方式
  • justify-content 属性定义了项目在主轴上的对齐方式

注意: 使用这个属性之前一定要确定好主轴是哪个

| 属性值 | 说明 |

| — | — |

| flex-start | 默认值 从头部开始 如果主轴是x轴,则从左到右 |

| flex-end | 从尾部开始排列 |

| center | 在主轴居中对齐(如果主轴是x轴则 水平居中) |

| space-around | 平分剩余空间 |

| space-between | 先两边贴边 再平分剩余空间(重要) |

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

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

| 属性值 | 说明 |

| — | — |

| nowrap | 默认值,不换行 |

| wrap | 换行 |

4)align-items 设置侧轴上的子元素排列方式(单行 )
  • 该属性是控制子项在侧轴(默认是y轴)上的排列方式 在子项为单项(单行)的时候使用

| 属性值 | 说明 |

| — | — |

| flex-start | 从上到下 |

| flex-end | 从下到上 |

| center | 挤在一起居中(垂直居中) |

| stretch | 拉伸 (默认值 ) 使用stretch子盒子不要给侧轴长度, |

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

|属性值 |说明|

|–|–|

|flex-start |默认值在侧轴的头部开始排列|

|flex-end |在侧轴的尾部开始排列|

|center |在侧轴中间显示|

|space-around| 子项在侧轴平分剩余空间|

|space-between |子项在侧轴先分布在两头,再平分剩余空间|

|stretch |设置子项元素高度(侧轴长度)平分父元素高度|

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

flex-flow: column wrap;

4.flex布局子项常见属性

  • flex 子项目占的份数

  • align-self 控制子项自己在侧轴的排列方式

  • order属性定义子项的排列顺序(前后顺序)

1).flex
  • flex 属性定义子项目分配剩余空间,用flex来表示占多少份数。

  • 参与分配盒子其长度失效,被计入到剩余空间内

.item {

flex: ; /* default 0 */

}

2).align-self 控制子项自己在侧轴上的排列方式
  • align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。

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

span:nth-child(2) {

/* 设置自己在侧轴上的排列方式 */

align-self: flex-end;

}

3). order 属性定义项目的排列顺序
  • 数值越,排列越靠前,默认为0。

注意:和 z-index 不一样。

.item {

order: ;

}

十、携程网首页案例制作


1. 技术选型
  • 方案:我们采取单独制作移动页面方案

  • 技术:布局采取flex布局

2. 搭建相关文件夹结构

image-20220319100456512

3. 设置视口标签以及引入初始化样式

<meta name=“viewport” content="width=device-width, user-scalable=no,

initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

… 与 京东移动端首页制作类似

4.常用初始化样式

body {

width: 100%;

min-width: 320px;

max-width: 540px;

margin: 0 auto;

font: normal 14px/1.5 Tahoma, “Lucida Grande”, Verdana, “Microsoft Yahei”, STXihei, hei;

color: #000;

background-color: #f2f2f2;

overflow-x: hidden;

-webkit-tap-highlight-color: transparent;

}

/点击高亮我们需要清除清除 设置为transparent 完成透明/

  • {

-webkit-tap-highlight-color: transparent;

}

/在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式/

input {

-webkit-appearance: none;

outline: none;

}

/禁用长按页面时的弹出菜单/

img,

a {

-webkit-touch-callout: none;

}

a {

color: #000;

text-decoration: none;

}

ul {

margin: 0;

padding: 0;

list-style: none;

}

img {

vertical-align: middle;

}

div {

/* css3 盒子模型 */

box-sizing: border-box;

-webkit-box-sizing: border-box;

}

.clearfix:after {

content: “”;

display: block;

line-height: 0;

visibility: hidden;

height: 0;

clear: both;

}

5. 常见模块命名

image-20220319115648410

image-20220319115706990

6.常见flex布局思路

image-20220319115734530

项目下载

十一、背景线性渐变


background: linear-gradient(起始方向, 颜色1, 颜色2, …);

background: -webkit-linear-gradient(left, red , blue);

background: -webkit-linear-gradient(left top, red , blue);

背景渐变必须添加浏览器私有前缀

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

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


1.rem 基础

rem 单位

  • rem (root em)是一个相对单位,类似于em,em是父元素字体大小

  • 不同的是rem的基准是相对于html元素的字体大小

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

  • rem的优势:父元素文字大小可能不一致, 但是整个页面只有一个html,可以很好来控制整个页面的元素大小

  • rem的优点就是可以通过修改html里面的文字大小来改变页面中元素的大小可以整体控制

/* 根html 为 12px */

html {

font-size: 12px;

}

/* 此时 div 的字体大小就是 24px */

div {

font-size: 2rem;

}

2.媒体查询

1)什么是媒体查询

媒体查询(Media Query)是CSS3新语法。

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

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

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

  • 目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询

2)语法规范

@media mediatype and|not|only (media feature) {

CSS-Code;

}

  • 用 @media 开头 注意@符号

  • mediatype 媒体类型

  • 关键字 and not only

  • media feature 媒体特性 必须有小括号包含

mediatype 查询类型

将不同的终端设备划分成不同的类型,称为媒体类型

| 值 | 解释说明 |

| — | — |

| all | 用于所有设备 |

| print | 用于打印机和打印预览 |

| scree | 用于电脑屏幕,平板电脑,智能手机等 |

关键字

关键字将媒体类型或多个媒体特性连接到一起做为媒体查询的条件。

  • and:可以将多个媒体特性连接到一起,相当于“且”的意思。

  • not:排除某个媒体类型,相当于“非”的意思,可以省略。

  • only:指定某个特定的媒体类型,可以省略。

媒体特性

每种媒体类型都具体各自不同的特性,根据不同媒体类型的媒体特性设置不同的展示风格。我们暂且了解三个。

注意他们要加小括号包含

| 值 | 解释说明 |

| — | — |

| width | 定义输出设备中页面可见区域的宽度 |

| min-width | 定义输出设备中页面最小可见区域宽度 |

| max-width | 定义输出设备中页面最大可见区域宽度 |

3)案例
媒体查询修改背景颜色
Document
4)媒体查询+rem实现元素变化
Document
购物车
5) 引入资源(理解)
  • 当样式比较繁多的时候,我们可以针对不同的媒体使用不同 stylesheets(样式表)。

  • 原理,就是直接在link中判断设备的尺寸,然后引用不同的css文件。

语法规范

示例

3.less

1)维护 css 的弊端

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

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

  • 不方便维护及扩展,不利于复用。

  • CSS 没有很好的计算能力

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

2)Less 介绍
  • Less (Leaner Style Sheets 的缩写) 是一门 CSS 扩展语言,也成为CSS预处理器。

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

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

  • Less中文网址: http://lesscss.cn/

  • 常见的CSS预处理器:Sass、Less、Stylus

Less 是一门 CSS 预处理语言,它扩展了CSS的动态特性。

3)Less 安装(注意如果使用vscode无需安装less)
  • 安装nodejs,可选择版本(8.0),网址:http://nodejs.cn/download/

  • 检查是否安装成功,使用cmd命令(win10 是 window +r 打开 运行输入cmd) — 输入node –v查看版本即可

  • 基于nodejs在线安装Less,使用cmd命令“ npm install -g less ”即可

  • 检查是否安装成功,使用cmd命令lessc -v 查看版本即可

4)Less使用

我们首先新建一个后缀名为less的文件, 在这个less文件里面书写less语句

  • Less 变量

  • Less 编译

  • Less 嵌套

  • Less 运算

5) Less 变量

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

@变量名:值;

1. 变量命名规范

  • 必须有@为前缀

  • 不能包含特殊字符

  • 不能以数字开头

  • 大小写敏感

2.变量使用规范

//直接使用

body{

color:@color;

}

a:hover{

color:@color;

}

6)Less编译
  • 本质上,Less 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。

  • 所以,我们需要把我们的 less文件,编译生成为css文件,这样我们的html页面才能使用。

vocode Less 插件

  • Easy LESS 插件用来把less文件编译为css文件

  • 安装完毕插件,重新加载下 vscode。

  • 只要保存一下Less文件,会自动生成CSS文件

image-20220319170924284

7)Less嵌套

.header {

width: 200px;

height: 200px;

background-color: pink;

// 1. less嵌套 子元素的样式直接写到父元素里面就好了

a {

color: red;

// 2. 如果有伪类、交集选择器、 伪元素选择器 我们内层选择器的前面需要加&

&:hover {

color: blue;

}

}

}

//css 写法

#header .logo {

width: 300px;

}

//转化为Less嵌套

#header {

.logo {

width: 300px;

}

}

//如果遇见 (交集|伪类|伪元素选择器)

//内层选择器的前面没有 & 符号,则它被解析为父选择器的后代;

//如果有 & 符号,它就被解析为父元素自身或父元素的伪类

//& 与选择器之间不要加空格

a:hover{

color:red;

}

a{

&:hover{

color:red;

}

}

8)Less运算

任何数字、颜色或者变量都可以参与运算。就是Less提供了加(+)、减(-)、乘(*)、除(/)算术运算

在less中可以进行加减乘除的运算

一般只有一个数带单位就行

算术运算符 +-*/ 可以对任何数字、颜色或变量进行运算。如果可能的话,算术运算符在加、减或比较之前会进行单位换算。计算的结果以最左侧操作数的单位类型为准。如果单位换算无效或失去意义,则忽略单位。无效的单位换算例如:px 到 cm 或 rad 到 % 的转换。

// 所有操作数被转换成相同的单位

@conversion-1: 5cm + 10mm; // 结果是 6cm

@conversion-2: 2 - 3cm - 5mm; // 结果是 -1.5cm

// conversion is impossible

@incompatible-units: 2 + 5px - 3cm; // 结果是 4px

// example with variables

@base: 5%;

@filler: @base * 2; // 结果是 10%

@other: @base + @filler; // 结果是 15%

乘法和除法不作转换。因为这两种运算在大多数情况下都没有意义,一个长度乘以一个长度就得到一个区域,而 CSS 是不支持指定区域的。Less 将按数字的原样进行操作,并将为计算结果指定明确的单位类型。

@base: 2cm * 3mm; // 结果是 6cm

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

//& 与选择器之间不要加空格

a:hover{

color:red;

}

a{

&:hover{

color:red;

}

}

8)Less运算

任何数字、颜色或者变量都可以参与运算。就是Less提供了加(+)、减(-)、乘(*)、除(/)算术运算

在less中可以进行加减乘除的运算

一般只有一个数带单位就行

算术运算符 +-*/ 可以对任何数字、颜色或变量进行运算。如果可能的话,算术运算符在加、减或比较之前会进行单位换算。计算的结果以最左侧操作数的单位类型为准。如果单位换算无效或失去意义,则忽略单位。无效的单位换算例如:px 到 cm 或 rad 到 % 的转换。

// 所有操作数被转换成相同的单位

@conversion-1: 5cm + 10mm; // 结果是 6cm

@conversion-2: 2 - 3cm - 5mm; // 结果是 -1.5cm

// conversion is impossible

@incompatible-units: 2 + 5px - 3cm; // 结果是 4px

// example with variables

@base: 5%;

@filler: @base * 2; // 结果是 10%

@other: @base + @filler; // 结果是 15%

乘法和除法不作转换。因为这两种运算在大多数情况下都没有意义,一个长度乘以一个长度就得到一个区域,而 CSS 是不支持指定区域的。Less 将按数字的原样进行操作,并将为计算结果指定明确的单位类型。

@base: 2cm * 3mm; // 结果是 6cm

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-FM423NT0-1712273926299)]
[外链图片转存中…(img-RdxNtpMS-1712273926300)]
[外链图片转存中…(img-VZw9ZaCV-1712273926300)]
[外链图片转存中…(img-eBhn7fSh-1712273926300)]
[外链图片转存中…(img-qsO3OXgQ-1712273926301)]
[外链图片转存中…(img-2yE6wlk0-1712273926301)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-qFRBYiFS-1712273926301)]

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值