- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 559120 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 173109
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
HTML 知识点(未完)8 D; n, e/ d7 O% s
: M8 i& }$ [, y# M- r- IHTML 知识点
6 P! {+ k% R* A4 q
" ^6 C, s+ y* e# N. Y& f三列布局- (高度已知,左右宽度固定,中间自适应)
3 E# X2 v5 j9 l1 R& ?# g; h6 J# \$ n
布局方案 优点 缺点2 {/ r1 A9 S2 d: P
浮动 兼容性好 脱离文档流,需清除浮动
! x2 q1 k# h% ]' P' U& P; E绝对定位 比较快捷。 因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。2 v0 z; w+ I# A
flex布局 目前是比较完美的方案。 只兼容到ie9。
7 b+ A& I* l6 J6 I. d表格布局 兼容性好,当需要兼容ie8时可以用表格布局。 多栏布局时,某栏高度增加,会使其他栏高度一起增加。" j/ q. o, v" |9 w/ M9 k. @) D
网格布局 新技术,代码量少
: ?8 Y6 y+ l- J2 k6 ?0 ~& O<!-- 网格布局 -->' Z! }$ S3 x% I$ M s8 w
<body>$ M& a& Y/ P- y7 S% Y
<section class="layout grid">
7 D! {3 z! C k' F, M7 G <style media="screen">0 P/ c: W0 E# p! Y- m
.layout.grid .left-right-center{8 b: ?7 `5 u8 S% v0 B
display: grid;
! @. u/ b& i1 @" w1 U width: 100%;; _8 G/ ^2 c9 G, t
grid-template-rows: 100px; // 设置行高
% j2 {: ?# p1 n( @6 d grid-template-columns: 300px auto 300px; // 设置每列的宽度
: R; U# L+ y) F4 X2 W9 A2 ~9 D2 k0 z. o( @, C
</style>
- ~% p" E3 B. O* y/ _8 l <article class="left-right-center">
* G. z$ D5 T2 u. i <div class="left"></div>
/ Z' g! J( C7 F4 v <div class="center"></div>' a8 v- h* g# ]: x$ P7 t
<div class="right"></div>7 i0 `/ q# N v" S. `! P& d; B2 ?
</article>
$ g% }7 P' }) c& y4 d! @ </section>
0 V1 |2 m* I% Y</body>
+ E* K) l, L! F: p/ [ r2 A. j, g
7 Y% _% b0 V& N; m+ D. Jcss盒模型: H. b6 z0 E3 p6 y2 d* X2 I; ^% v& `
2 U, R" p# [4 Q" [# y: m6 ]: y" z( FCSS盒模型的认识4 X1 b5 A5 d1 m& z- G2 j
: J m2 U: w/ k0 z; s% ]# ]. rcss属性: content padding border margin
, V( f( z; p5 M# H1 k$ h0 f* A$ F, t% w
两种模型:IE盒模型(怪异盒模型)和 标准盒模型
1 |6 D _$ r; h# q; }1 a" D; D* d% e9 K( Q1 H0 Y2 R" l
两种模型的区别:计算高度和宽度的不同6 L" q/ A( E1 o0 E
& W. D- ~7 F2 y7 s b3 ~两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
) C2 z# }2 \$ @
: G6 a( g; w# J' p7 D" U0 pJS如何设置获取盒模型对应的宽和高
5 F* f# D" M7 g" n$ d3 D$ ~9 D& ^/ b3 [& Y3 T- B: l
获取方式 优缺点 a3 M9 J* F1 w
dom.style.width/height 只能获取内联样式设置的宽和高% b, E( A0 ]9 J t
dom.current style.width 获取浏览器渲染后的宽和高,只支持ie+ c- ~' h7 S2 f* j
window.getcomputedstyle(dom).width 兼容性更好
% R3 v/ G% ?8 l; Qdom.getboundingclentreact().width 适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
9 D' Z3 @7 S. x' G实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距- f* P* T4 V$ w- u W* Y$ M
& A9 @# m3 J( |! Y9 S( W7 W9 E块级元素包含了子块级元素,子元素是100像素( [6 ~5 n* `7 t+ ?
子元素与父元素上边距是10像素
# k1 X7 | M0 `! F/ E9 _. |. y4 J6 _( J6 p父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)- C6 p( n' j. |- S/ ^$ F; B& n
另一种兄弟块级元素- b# k$ O8 \) B4 S; A+ E
( C2 q7 l. z% k! g [- G
挨着每个都有上边距或每个都有下边距。-2 M. C/ W# e# X; m; q$ T# [# S
该重叠的原则就是取最大值
+ J3 W3 z4 _1 t- p9 _) }空元素的边距-取margin-top和margin-bottom的最大值$ \# _2 b! z1 s* R6 {
解决方案:
& S+ k) [3 k7 V& Q( d8 {* p
" p; q! v x) w0 Q# h父元素创建成一个BFC (无论父子,兄弟情况)1 j# @ E! P/ Q! w' [: h5 c
+ t# K6 x* }/ B4 p$ ~5 J
4. BFC (边距重叠解决方案)6 l4 f- U* _; a+ J; Y6 b+ a# v
; }+ b# F# C. D# [- i% ^' ^- hBFC(边距重叠解决方案)4 ? s, j' }& U
8 `) ?* ?* H; |1、BFC的基本概念: 块级格式化上下文;% V2 ]- O/ \5 _0 b g8 G% D
; t/ s& a. H3 ]2、BFC的原理:BFC的渲染规则。( {" |% I) y `
; K! m n6 P- m0 ?! e; [! f①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
' p1 B; O; }! ~8 L/ a/ @* M
* x r( Z& p( p9 h1 a) J4 o G②:BFC的区域不会与浮动元素的box重叠。(清除浮动)5 V+ k" X9 H% F% d2 U3 J8 A
# s7 I# ?9 r; e3 ]5 Z2 n. S
③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
* Q$ W, e& e$ k: ]! L2 ^- ~1 a/ y( `- B. T: v- X1 ~$ H
④:计算BFC高度时,浮动元素也会参与计算1 J: ^4 l6 w2 n9 z
& l; u2 K$ c0 a! l
3、如何创建BFC
, O/ y8 @8 L4 P' q8 I. Q. \2 c; k0 X/ k( X4 e; g9 E
①:float不为none。
' X z8 I2 F& @
5 z6 J, @% a# I0 l②:position不为static或者relative。
2 F" R5 b6 |$ Y6 W) U0 w* o2 h( A$ }9 ]8 @$ h9 D! R2 \% P
③:display为inline-block或者是table相关的。+ M" W3 T( ~( w
O9 S2 c$ P% K$ P④:overflow不为visible。
) l6 V4 Y1 z( k3 w& }
* Y$ O) o. b2 ?) R' X1 C1 N* {⑤ : body 根元素
" O! O- }5 L3 {/ R' T7 z! t
2 Y0 [& ?% E" R; g* B# Q. P应用场景:
. ?, Y8 l: \! N7 M左右布局时,float
; z- b2 M7 y5 Q1 y8 t& f% @相邻div使用margin产生边距重叠4 _# ^* J* q3 ]
dom事件3 o2 t) S# l \" l1 a% ~. ?
# j1 Y% S# @8 [- s基本概念: DOM事件的级别7 g' ~6 \( D. E: q
. j( g; @5 M. K$ L* [DOM0: element.οnclick=function()
5 ~, q* H3 C- d& ^& M
7 @+ R) H5 y6 H* L! q' b, u4 iDOM2: element.addEventListener(‘click’, function(){}, false) c3 A8 \+ L. {5 D
) d0 e/ g9 z/ x# @DOM3: element.addEventListener(‘keyup’, function(){}, false), `; W: T& u& p! k( R9 R% }: n
" }& A9 \% y. _! D3 y, A7 |DOM事件模型0 P1 ]- C2 [$ Y. i& x# p" h
2 C1 n' T( Z# x' W5 q0 }& ]0 Xevent.target 2. event.currentTarget' E4 Q+ K6 R0 ^& f0 f
event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
9 O9 i* y7 [3 v6 `- v3 YDOM事件流
# J, x# e) @5 D" w+ N6 c0 d0 i: M
& _% P! {- h& C1 [2 ]4 y! k事件流 -->《捕获》 2. 目标阶段 3. 冒泡! h8 Z9 x. f6 ?) ~2 ?- d
描述DOM事件捕获的具体流程
( M8 D* o+ u* s- L8 _1 P
9 u; {. H$ A9 J2 e; M% y# Owindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素
; \/ P& N2 Z3 C, F7 vEvent对象的常见应用& ]/ ^/ `, s1 U' C l$ I; `/ K2 o- C
0 F9 o6 \' B# }3 O% |9 {* t, l0 L
e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
! [6 o8 b* v7 s5 G+ Y8 j* `# m自定义事件: ?" B+ K9 o5 a4 t/ W$ ^! W. P
# b* L8 i I! F9 d' r! Evar eve = new Event('custome');9 h% b+ _1 |" r/ G, N9 o- V: q- @2 A
ev.addEventListener('custome', function() {
6 L* b8 Y3 |2 k* G4 a+ { console.log('custome');
+ B) Z7 j, z+ M});+ V) @: K( t; J8 V; S
ev.dispatchEvent(eve);7 J$ V; o" E3 G! c6 |
1& |5 A# K9 ~3 j! r1 x2 L
23 ?6 |' p/ B% k" k. t# s
3
1 k, U( q2 u( t+ _4
2 J" r3 V+ A: H5
: A$ D @7 h9 S* ~http协议0 W7 A/ G# D6 l1 E9 l; x4 w& B9 z
j: s% Z9 I* L6 |
HTTP协议的主要特点
2 d8 G3 O0 y; M* V- J4 k& l! d( ]$ K, G' V/ x/ F: H2 t3 N' S
简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、 u4 z; Y0 d5 J/ X
( u/ L" B& z8 C8 F- Z: L5 R# J
无连接(连接一次就断掉)
$ G- g7 _# \# u( B \无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。3 v% L6 n A' D" O) s4 i
无状态(两次连接身份). b/ Q* U7 w* {, Z: x2 p2 Y
是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
% A6 ~# i1 ]# U6 r( }HTTP报文的组成部分
+ y5 Z2 n4 Z* O" y( i3 H1 `) c* y& {6 B. O( L {
请求报文; s0 W1 \4 x! O
0 z* H0 ^6 T% X: e0 c
请求行 请求头 空行 请求体2 ~& c$ T8 j. v* `3 j: E& J( Y+ f1 H
! J# q' M, A3 C( ]/ ]: A* ]' q' [# e4 s/ I响应报文: { ?2 w* U! D# H
0 ?: d6 g5 R9 Y2 m" v
状态行 响应头 空行 响应体% g) ~, N/ x7 C1 C9 W
6 `0 u2 T% B( [- {$ m- BHTTP方法
H& K8 d! }. I5 {7 _
N" {+ ^1 w: H方法名 方法作用 注意
6 s% y- H$ H. d0 s% W+ qGET 获取资源 5 O- E0 Q' e, Z9 B, n- J& m) `
POST 传输资源 / {* N" A4 t- O) i, x& U2 r$ h
PUT 更新资源
7 `- X# e8 `( t. [7 IDELETE 删除资源
5 U' N3 i! |; k* l5 PHEAD 获得报文首部 ( m/ M6 M; p" t" n9 J
POST和GET的区别" o8 G" {9 k/ v, @( a$ a
- b7 c3 U; @& d; @* Fget post
4 A. Z/ F8 w, k, x在浏览器回退时是无害的 会再次提交请求
% M' _5 p. u) V9 R3 i! Y产生的URL地址可以被收藏 post不可以8 x) ]" l! H, D* w! v
请求会被浏览器主动缓存 不会,除非手动设置: P3 R3 H# T! J' `, K2 A9 l, H1 Y- \
只能进行url编码 支持多种编码方式, S' `0 w' B# k' ?
请求参数会被完整保留在浏览器历史记录里 参数不会被保留/ t) D5 @& Q7 u5 z
请求在URL中传送的参数是有长度限制的 没有限制
$ I) m3 v7 d- Q! R. F8 l/ k对参数的数据类型,get只接受ASCII字符 没有限制
w- V4 Z' l! d }2 y- M% B" r- b更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息 没暴露6 Z1 y0 X1 ^5 p$ ]
参数通过URL传递 放在Request body中6 R& ?+ x: B6 C0 q/ [& u/ G
HTTP状态码
6 ~5 d p7 A# x: f$ E% Z7 g& i$ j) q. F3 l3 t; d- n+ F
状态码 意义
7 s+ H- G' l, P( a1xx 指示信息 - 表示请求已接收,继续处理。; l. ?. U9 ]6 Z4 b; B
2xx 成功 - 表示请求已被成功接收。2 ]8 h7 {: w$ w) k8 H. A
3xx 重定向 - 要完成请求必须进行更进一步的操作。
! H1 Y% m" L* C6 O4xx 客户端错误 - 请求有语法错误或请求无法实现。
) F% x4 |5 ?: [- z7 `5xx 服务器错误 - 服务器未能实现合法的请求。
8 H% n1 v7 s3 V5 O状态码 意义
- Z( e N, Q0 ]+ Q# N8 B( O200 OK 客户端请求成功' `% H' x H. p9 V2 c6 n
206 Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它: B: D5 |+ H* K) `. Q& |0 P0 b
301 Moved Permanently 所请求的页面已经转移至新的url
# l8 l9 i( n: Q" z! v+ x7 l& W302 Found 所请求的也么已经临时转移至新的url; K- b: T5 e3 w V" V) A! z' M2 j
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用$ x/ j, l5 Y% a+ ]0 s
400 Bad Request 客户端请求有语法错误,不能被服务器所理解/ }6 e* V* V+ X9 f6 m% B
401 Unanthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用3 v! O$ S) O8 |% [3 }
403 Forbidden 对被请求页面的访问被禁止
' ?3 C4 c$ \: A' j; H! I404 Not Found 请求资源不存在& x' L* }' q+ N1 K4 H0 f+ i; E) I
500 Internal Server Error 服务器发生不可预期的错误原来缓冲的文档还可以继续使用" ]0 t! Y% f, P! n
503 Server Unavaliable 请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
' F" T7 L9 n6 c什么是持久连接; N9 U: g: q0 t$ G& ^6 N1 h
0 H T- ^/ L+ S4 K: V0 H, p: THTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)1 K6 l C# z) X
* V/ Q) d1 ]$ u; F2 j
当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
( a. |5 q* T% ?1 E' `5 T1 z
: X7 x- j7 @2 _ G( w/ s2 |使用了持久连接3 i6 h& @7 f; X, k6 N6 t, c* T
6 P% d" y; Z p7 l' z
请求1->响应1->请求2->响应2->请求3->响应3- Z: i6 H' A6 h# e2 n
6 d: k, E# z3 \3 v2 Q1 m# q变成了
3 Z$ ?: h& O' i! ^
$ ]9 k% x/ a# \0 K! P' B请求1->请求2->请求3->响应1->响应2->响应3
/ C9 o# |0 ~- g* j
7 j. `! x% C7 P( w% V, T什么是管线化 T* X" y5 n& \4 l, o' U. R, {% K. C
& W3 ?4 Z# T4 ?5 g5 F! S管线化通过持久连接完成,仅http/1.1 支持此技术4 f# d9 B3 t5 s6 @6 y8 J. w
只有get和head请求可以进行管线化,而post则有所限制
2 Q# z2 s* t# f& k/ Q% F6 R初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议( f) Z2 t% ^- M7 s0 a
…1 f7 F8 c' t1 _, F- e* g2 b
安全
" Z& Y) g9 F3 r& H5 t
% b: O+ w( j4 l, A7 W2 ICSRF
# e2 A- g `8 C9 s) R6 J基本概念和缩写
1 E) O9 P1 w3 `; PCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
' z+ D1 E2 y n9 ^1 O9 s8 z% g s# E$ a攻击原理- W' z+ X9 L/ F: r
访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
: e, d' E2 r |9 k& F这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
1 w# E4 R5 G8 C1 k" j% I1 aXSS
$ E; D. f( d- `6 w基本概念和缩写
# ^+ E& A+ T) m' J" e" rXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。9 O. s/ i3 @$ R5 \0 {* h! i
攻击原理. C1 F! M% W5 V& i& k) D
输出脚本code
* b, u( Q8 V4 p) l/ d5 o5 x跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
& _( W: B3 J. I6 N( E. R/ |xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
- b* l* H# g) m! k" J$ x! E/ \渲染机制类5 `6 Y @( @6 A p" R
1 `, D# B; P4 ]) P, }什么是DOCTYPE及作用, x% } m; U) m) X$ E: F
' |. R6 [! C2 b G$ i
DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。0 e6 \ ^+ m! _( n5 ?9 \& i8 m# `
作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。3 u+ M+ V" U* F, h4 W" _7 a
DOCTYPE是用来声明文档类型和DTD规范的,9 U1 M/ l! @2 P6 Z! W4 v
作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。5 X6 U7 r, @" v0 z' K
HTML5的DOCTYPE:
2 C; O( N# X& a" _$ x1 }+ G3 O4 c( K- A' Y3 A
HTML4有严格模式和传统模式1 Z/ o0 G* ~0 L# v* s/ }, F
. k( e) u' r/ _! x, X, M. d浏览器渲染过程
! I" b. }7 D7 p6 z
+ t d4 \7 h! ~一些概念6 y W/ _/ j( U/ T8 B$ G% ~! j
0 u( Q; A3 y1 g+ B! z ^& b
名称 概念- C! k8 z+ U% s
DOM Tree 浏览器将HTML解析成树形的数据结构。
9 i# ^8 q9 w' ~CSS Rule Tree 浏览器将CSS解析成树形的数据结构。: w2 \3 _4 i- m2 Y: R2 [" ^* L
Render Tree DOM和CSSOM合并后生成Render Tree。, s: t2 j+ z. ~3 z' A9 U. ^
layout 有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。6 g( p. b' Z+ K% n& O. y/ x8 k! G
painting 按照算出来的规则,通过显卡,把内容画到屏幕上。3 J# ^4 K. m' h( p; o; i
1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
; H- i4 K* H' E0 N I2。HTML解析器会将这个文件解析,构建成一棵DOM树
* t! [- B0 U X3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
) r: g7 }) S$ v' }" x+ L' M4 E {4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
# N+ k! r, h% O9 i. r5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树7 Q1 v* Q6 n3 t4 v
6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
1 ~: F5 F; K9 U; S9 o* g7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
, [; o4 _, z) n% @16 V* k, W6 s8 n, X* c4 }/ S4 t
2
! U3 w4 c+ l5 o: u H0 t( {3/ H1 H7 R& [* U
4
+ f: M2 p5 Q2 e+ B# T7 @5
+ W9 r# W0 Z% o% Q* e2 f1 d6
- u3 y) S; G. }; B- {7
8 x& ?; L0 o( ?: R8 F; h重排Reflow7 W, ?" Q' e; P C
3 Y7 P2 X! x+ y2 J J. b/ D
定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。7 T- P2 N8 `6 o" n% A7 @# S0 z$ X
触发Reflow:
6 P- H& f. Q; E* j! _ |当你增加、删除、修改dom节点时,会导致Reflow或Repaint
* ~6 {, u2 H# l# ~5 Z! Q当你移动DOM的位置,或是搞个动画的时候
& v$ t. x) A4 X: R当你修改CSS样式的时候
- f( T0 D; P" m: O) J9 r0 v当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
/ ^2 h1 u- ?$ _% I( o当你修改网页的默认字体时
2 D0 h4 y. u: Y8 h' R重绘Repaint0 i" h& Q+ q& ` j; B2 t: F
1 B6 e6 N* k6 F0 }/ N4 T( x* J
定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
. G3 i6 i! j/ z1 S
' Y# m7 s- [, a, ^触发Repaint:! H: G8 ^2 d4 T/ D
) o( | A! P" W( m' @/ v
DOM改动8 F7 R* D# |; g4 y& |# D* Q7 ?
CSS改动% S! I+ |3 S2 K
————————————————
* _# N9 C1 V& l1 c) X8 v版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
- o/ ?* g+ h1 J/ b3 r原文链接:https://blog.csdn.net/u012015672/article/details/105931291
; V5 J+ i2 ^. l( k+ y" j6 S- M: @$ h5 n2 D+ v
" J, S) k1 l7 T. V/ P( i" b
|
zan
|