- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 559948 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 173357
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
HTML 知识点(未完)
0 c) i9 S$ g- m# @0 h1 U F( F
9 Q9 ~, o- g) G4 D1 i6 nHTML 知识点
1 J; @0 u( c7 d1 z+ Y9 K* v: F+ a- E' J/ d" F
三列布局- (高度已知,左右宽度固定,中间自适应)
4 L8 i# }" p j9 z6 Z! L3 |2 ^6 n1 y' C# y8 C' d4 s
布局方案 优点 缺点
$ T5 W% K. L( @6 K浮动 兼容性好 脱离文档流,需清除浮动
' }. c, R1 M0 j; I' R' F8 A绝对定位 比较快捷。 因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。$ O! i4 ]- U4 b
flex布局 目前是比较完美的方案。 只兼容到ie9。( U3 L; P0 Y" N
表格布局 兼容性好,当需要兼容ie8时可以用表格布局。 多栏布局时,某栏高度增加,会使其他栏高度一起增加。
1 \8 W+ X A4 o9 k2 n% r/ t1 y, Q1 s" }$ i网格布局 新技术,代码量少 # }4 j1 b- v: }
<!-- 网格布局 -->" p0 ?% n( Y: o, I' `8 B. E) D! v
<body>: P: }5 g0 p, T! `! x4 C+ N
<section class="layout grid">
* m6 d8 D9 A/ ^; J8 W <style media="screen">
* t+ X4 E2 E; i1 a8 s! `0 R" R .layout.grid .left-right-center{% A$ G% N, ?$ i5 M- h0 F
display: grid;
& {6 O& h( h/ m: {* r3 k2 J. i width: 100%; A- } @* J7 J8 H
grid-template-rows: 100px; // 设置行高
& X. }- p7 O, c. U grid-template-columns: 300px auto 300px; // 设置每列的宽度; _# m. u$ L- w9 `* _# S3 U
4 a* Z5 ]/ a. G" @" e4 M6 t0 {/ S </style>3 h; B+ H$ r/ [! U' i! \0 E
<article class="left-right-center">
8 G& t( O. b4 | <div class="left"></div>
+ ^" D) w' u0 q5 r/ g. w: `$ g <div class="center"></div>, {& {) X# L$ C0 s( ^+ X2 [5 B5 B1 K
<div class="right"></div>
: n+ k0 g0 u( ]: j7 u4 H </article>
- f# ^4 f: H% p </section> i$ z# m$ Y% }, f; s2 w
</body>: w8 M0 ]$ D+ w z) w$ D; N
+ U+ p: M% R7 H1 C" U$ U9 C
css盒模型$ w5 D6 i, `3 t
$ H2 J N, X9 i) j7 {# c3 KCSS盒模型的认识! D1 |: u$ m% Q# `; f6 z4 k U; s
# z+ p( n! q( x* |css属性: content padding border margin
2 h, w: s) d0 ]' @2 U2 F
6 r3 u1 m3 ^2 q0 J/ h W$ z t4 i两种模型:IE盒模型(怪异盒模型)和 标准盒模型
% e8 g6 h. {6 |6 M4 A2 R# F
n/ o; @; R! {/ w两种模型的区别:计算高度和宽度的不同- z1 Y. k9 B! Z$ j8 J3 @
- Y: i6 V9 @" l3 S( G) y两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)- F. E2 ^* k: ^. r$ N& b9 j( O
4 x2 F) @4 a9 o5 O- F' O Q
JS如何设置获取盒模型对应的宽和高
* {, J6 h% t) f* A( {) ~9 b, v+ R5 \: B$ @! c3 f1 j
获取方式 优缺点
$ Z9 h) n" C( O/ T0 u) {; xdom.style.width/height 只能获取内联样式设置的宽和高
, W1 F0 J# Y- W6 Z5 c. F, sdom.current style.width 获取浏览器渲染后的宽和高,只支持ie$ s$ A* C7 R1 `8 w. O1 z% p
window.getcomputedstyle(dom).width 兼容性更好
4 P; s; w0 l' [0 i$ n# Edom.getboundingclentreact().width 适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置, r& G/ m! M! p6 L$ ~) A
实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距! @) }2 t% o$ ]+ q8 W2 @2 B
6 r5 Z& b* ?" @# y
块级元素包含了子块级元素,子元素是100像素8 |' r( x v' n" i6 H
子元素与父元素上边距是10像素% w5 j- y5 r' O: N) C
父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
3 U C9 |1 n5 G& y7 R另一种兄弟块级元素-
8 @" j1 ~# ?$ Y! I! a
! H. H# f' O% K$ }( Y7 h挨着每个都有上边距或每个都有下边距。-# `" s7 s3 U# C3 T5 D
该重叠的原则就是取最大值" ]4 j! e2 @. K- @& M
空元素的边距-取margin-top和margin-bottom的最大值
" s# `, E% G) P1 x解决方案:2 ^/ |" `1 U. h$ w
6 q6 e' C7 j& i9 [
父元素创建成一个BFC (无论父子,兄弟情况)
/ m9 s' J& p9 c2 a( J9 U5 V6 d1 f1 B$ C% n1 ~
4. BFC (边距重叠解决方案)
* u t: i# W, H5 S' t2 h7 t2 ?/ H1 ^ S% o$ R/ H
BFC(边距重叠解决方案). u/ h+ A9 l# r" U
0 X, U o2 {! q: ]4 P1、BFC的基本概念: 块级格式化上下文;
1 r% x& }$ V, V7 l9 V- K5 g; m( x: f5 Q+ H6 D) k8 r% a
2、BFC的原理:BFC的渲染规则。2 s. W5 F+ L! p- M# j [0 I% A
) F( V: N+ `/ J1 k
①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
7 Z8 L; a4 |+ B3 K8 b: p/ b: I; L. q m- J3 X
②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
& v6 w: G4 R$ B* u3 r" l/ ^( \/ u8 S& M* K* U, w _# C
③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
5 D u* @, D- `9 F: }
* T9 h) w8 n" o0 l④:计算BFC高度时,浮动元素也会参与计算
+ Y- E' T& l# ]+ R& C- e* D% T! z0 V5 X u, s0 Q1 ^8 f6 A, V8 \
3、如何创建BFC
7 ~2 D/ b" h4 c, `( d0 i; o# C f9 j
; f7 a1 k/ g& U: u①:float不为none。
' `5 P8 `$ R$ d! \5 ?% b E H: _; W0 `+ C/ ]
②:position不为static或者relative。
5 z d/ g5 F: f) i0 z5 t q, t0 S% M1 {' D) ~. j. w) O+ M+ o, J
③:display为inline-block或者是table相关的。: R. Q7 R; [ L+ M, K Q
( J; U" {; V3 F; }# A9 L/ `
④:overflow不为visible。
. Y# q1 A! A& }& ?0 |
5 `; N, f4 @- Y) a4 a: O% x⑤ : body 根元素5 X! q) W3 ]# X# t) v0 ]) a: v
# S$ Z6 X' X+ D1 n
应用场景: : ~+ z( W0 k! P$ @9 {; I
左右布局时,float
; }4 G r8 N, K6 D! A4 {- @% _# u; M相邻div使用margin产生边距重叠 [1 m I/ {! g n: w X3 k
dom事件
: j6 K, a9 {1 x1 V; E
3 r8 L/ v* L/ }# v9 ~. M基本概念: DOM事件的级别
: ^* b# l; r7 u; q" f$ f$ u
5 n# ?8 W8 E% A9 U" [" \7 N, HDOM0: element.οnclick=function(): b: m& a, \; \! ?* P1 S
" \0 G, u/ [# ]! kDOM2: element.addEventListener(‘click’, function(){}, false)
% H9 ~5 n1 O- f. }9 ^1 S- I2 H/ Y w$ U3 E
DOM3: element.addEventListener(‘keyup’, function(){}, false)1 C' R5 m6 K5 Q) i! o$ i2 M, k
5 v3 }, k2 a9 v4 G+ _3 cDOM事件模型; {' y' _, l5 o1 A2 A Q; c8 a4 c
, ?9 h! \$ G3 F# V6 T1 _2 ?event.target 2. event.currentTarget
* O1 v3 a. E ievent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素6 W' ?0 M( y! q9 Z! \( l
DOM事件流
2 x1 F( j" _" z( J. m ^3 \
. Y- t- p& K. Z) [: a事件流 -->《捕获》 2. 目标阶段 3. 冒泡
- ]) A2 f! q1 \( S描述DOM事件捕获的具体流程% D. x8 r$ m9 v
. K4 C8 f5 n* o2 T0 hwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素
0 t, G* Q! \- W" b8 k! sEvent对象的常见应用
# v" {; d4 X( y6 l
( |& K$ z/ z5 c# G& g6 we.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target() M6 _% |2 o+ A+ ?& a/ k
自定义事件6 D k: c# F# {; P& u; C
0 \# v, t4 a# Q1 e/ [( s" j. k, R
var eve = new Event('custome');- J$ M' H! F8 @$ a; x+ F- D$ C* Q3 T
ev.addEventListener('custome', function() {
3 l1 z. ?( W7 M0 ? console.log('custome');
% Z0 ]) E; i5 ]1 F9 |});
/ E5 n8 L+ h: |7 Tev.dispatchEvent(eve);
1 n3 I" t' L5 i' w6 |7 L& c: W1# |0 k( {+ ], p; V) q
2
/ C& v# a- N1 s' Q' _# p37 ^7 p% o! ]$ y$ R
4
$ F- F; l' I* H8 W, e9 u! k51 |. X4 R. P+ `. a
http协议 b N/ Q# m" H6 X+ f9 K7 C. N4 ]+ A1 q
; v) F% R- r5 j1 q8 [5 i; |
HTTP协议的主要特点7 l# R4 t4 M" F7 G, t2 r1 B, u
1 |0 |; T. Z. u! Z9 D9 f9 p& `
简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、& G0 l2 x q0 \- q/ x9 ^, |
$ H6 W/ F) o Q
无连接(连接一次就断掉)
. t; ^, x$ H$ |6 \. @$ F" n无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。. [7 t9 R6 O' _: r' Y$ Z1 G% j2 J
无状态(两次连接身份)
; v- X' C& X, [7 s p1 I是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
( F6 Z: p* U' n1 }. s) eHTTP报文的组成部分
* f: F* C2 V' B |* `: ?, x$ c5 n( C5 ~ n: a& u
请求报文
2 K& y: B9 m, z% U' t- ]
2 g. C! A; t" n |, ]; c请求行 请求头 空行 请求体
+ M: Y s+ V$ e' B3 Y
[0 c, f0 _9 B* M# B* Y0 V响应报文
- T9 H0 Q$ ~9 B! z( v- ]: A: Z
5 P% ?, w. e3 G状态行 响应头 空行 响应体
2 U; x% n; [; j6 d
5 j5 k' Z7 o# [, \3 g) NHTTP方法
/ t v$ R+ R( q
# j6 |5 X9 u( G2 y) P方法名 方法作用 注意
) |8 a2 {8 ?/ n: f4 d; L; ^GET 获取资源
9 ~, a" {3 K% r F% s/ C0 [4 j7 OPOST 传输资源
1 N1 g) T0 C2 v5 d& C4 Y1 TPUT 更新资源
$ j7 P2 D8 F1 |- |! p5 ]) H P. GDELETE 删除资源
: d% d# n4 L NHEAD 获得报文首部
: K/ O4 t _& e" e0 ?% n1 L2 |1 y- S7 [POST和GET的区别
$ X+ W, Y$ g! ^) w1 u% v/ B A7 ~- P7 h' ~
get post% O$ H4 A; z/ I+ S2 ]
在浏览器回退时是无害的 会再次提交请求
4 T9 M4 `3 F, S产生的URL地址可以被收藏 post不可以
5 @- ?' R6 h# X请求会被浏览器主动缓存 不会,除非手动设置$ F7 n5 i, F: f, D
只能进行url编码 支持多种编码方式
- s' h, r; j& y2 _5 ?% \请求参数会被完整保留在浏览器历史记录里 参数不会被保留
. s3 K9 p4 a. A" |4 S8 \请求在URL中传送的参数是有长度限制的 没有限制
: |! m; n1 h3 W对参数的数据类型,get只接受ASCII字符 没有限制
; I& A3 n( a. X- ]- a. q+ a/ a更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息 没暴露
! @3 o* P+ t2 |' R3 H2 m参数通过URL传递 放在Request body中
; P/ J4 d! x# Y5 @6 z5 o; bHTTP状态码
$ Y/ R3 j9 Y& s9 D: Z; b2 N. S5 N3 G: j7 W @, F$ z: \! \2 q; J3 r
状态码 意义
; P% }* Q. O! z- T+ B$ T9 ~; r/ g1xx 指示信息 - 表示请求已接收,继续处理。% G8 ] f4 b% r s* L$ _
2xx 成功 - 表示请求已被成功接收。! h5 e7 g5 C) v8 |
3xx 重定向 - 要完成请求必须进行更进一步的操作。! P0 S% J2 F8 X, R3 U" E% G4 R
4xx 客户端错误 - 请求有语法错误或请求无法实现。+ k$ L6 J; D5 E' H
5xx 服务器错误 - 服务器未能实现合法的请求。4 H% ]* w6 X7 F6 b; M f
状态码 意义+ z1 F2 d* S7 `. ?- Q8 X* S3 e
200 OK 客户端请求成功
. |" ^6 Y* m& r' S+ T; |206 Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它* P! q: d3 U p
301 Moved Permanently 所请求的页面已经转移至新的url
2 @# c; W0 l$ i k- Q/ W& d6 h302 Found 所请求的也么已经临时转移至新的url
, u% B8 o2 F- M: b9 a/ Y304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用( c; V6 e2 ]) ^
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
6 I( x2 ^" I' g8 n+ t( b401 Unanthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
. ?; X2 ?% h u3 O; L+ p+ \403 Forbidden 对被请求页面的访问被禁止
5 N# F& M c3 B) r" K404 Not Found 请求资源不存在5 }! F, Y* ?# d; B4 ^+ B
500 Internal Server Error 服务器发生不可预期的错误原来缓冲的文档还可以继续使用( Y; \# k2 o8 B
503 Server Unavaliable 请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常0 _5 K: S) p. j! K B/ x
什么是持久连接
+ M) x$ X; [5 G) }$ I9 Q/ }% B$ {' z2 N6 P5 M6 c/ `
HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)7 q1 h% k' e4 U: d: K; F3 d$ ?5 C ]
6 I1 u z: o0 T9 }
当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
* C" {: ~8 Q3 j1 S/ T6 W
& U9 {: S! e( U7 Z9 z: @* N' w; ]! R使用了持久连接$ n F3 M0 x4 @7 I
5 P/ g0 U2 R$ C1 g( W请求1->响应1->请求2->响应2->请求3->响应3
' X& I6 Z% ~) r+ |9 j& m' q! V6 p/ J: i; A# b* W- Y, x
变成了
* q5 t. @5 C3 A7 `1 Z! m% i9 r! m) X- v( Z' y. J8 K2 Q" U* f
请求1->请求2->请求3->响应1->响应2->响应3
2 m+ V% L$ e0 c$ n A" _0 E# o8 U. n" A' b# ] t/ C) I
什么是管线化* `2 @. _1 m- R5 j, t6 U
; V4 v1 }( m& X. U: q管线化通过持久连接完成,仅http/1.1 支持此技术/ a% i! F% a6 Z
只有get和head请求可以进行管线化,而post则有所限制
/ X3 Z# n9 F# D1 c c; z1 f: M! F初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
; u8 V; v. ?; L/ X…. M2 u: }) N* V
安全
3 x. s+ V6 D" f
8 k# L! A% I3 i, o" ^CSRF) p0 D* O- }. O* A* T% w+ I
基本概念和缩写3 e, [3 _ }; d6 n& u
CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。# m' ]- @# b, ~* t+ t1 N! o6 W# Z
攻击原理
+ x* b% T1 V$ Y. Y* n3 L, V访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。: P5 X& [& x; G7 n0 z0 N% N4 i
这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。' p4 }% O( ]) f' ?0 m
XSS
4 h" A! d) X8 x$ a/ m) }) m基本概念和缩写. t, T k9 r8 U9 z5 B) m
XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
* F" a. R- ~) u' i1 x攻击原理- J' w: C4 ^6 m. L
输出脚本code
' r, w0 U F. O- h* n) U, v% y6 I跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。# @5 O) }7 P# Y
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
' Y1 `" V' f4 E$ m, _+ U+ D渲染机制类
- P; `: X2 {5 ^% P, N. S& s( I. T4 c& u. n
什么是DOCTYPE及作用
0 w; |/ f, V' ]1 }' E [& V2 I! j; a" ]+ @7 M/ i6 Q3 j6 H; T1 _
DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。( i3 w8 K* I+ l( S; M9 q
作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。/ k9 f+ H0 t" D4 S- |" y
DOCTYPE是用来声明文档类型和DTD规范的, S/ c: I+ E" g$ v p8 [
作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。8 n& W* V+ Q+ p4 I8 [1 W, w% T+ U
HTML5的DOCTYPE:4 j( w2 S. O) _! L }8 ?
6 o$ w4 `7 l) N9 P' WHTML4有严格模式和传统模式
) ~' Y" M/ u9 p% |& ]1 x" e
- z9 U+ n; |* L s( R浏览器渲染过程
1 S# \7 K) o1 x9 ~0 ` F9 i ~
' n% B( [& z, k: T* F" V一些概念. y J. C) ^* @8 l
$ p m1 g6 c3 R% ?" ]5 \名称 概念
. |9 ^/ _3 k( Z. m; B9 b1 eDOM Tree 浏览器将HTML解析成树形的数据结构。. Y' U3 m1 b$ `, r2 X0 p
CSS Rule Tree 浏览器将CSS解析成树形的数据结构。
: c5 h8 m( U& v1 z3 ~Render Tree DOM和CSSOM合并后生成Render Tree。
9 i6 @: I2 X. @* C9 g2 i3 llayout 有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。& [- H6 f+ I( H) w4 ]" v, _
painting 按照算出来的规则,通过显卡,把内容画到屏幕上。
( {, E7 {) Z- e' t! ]1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源* P. A. ]) r( ~% i
2。HTML解析器会将这个文件解析,构建成一棵DOM树
) U4 y2 U, t1 H3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器0 V8 d. p1 s5 c( ^4 O
4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成7 ~% d6 K. o- O, h1 o. g- s
5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树' F5 C7 I- @. a/ ]% W1 L L3 u
6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树- W, V' i; H/ E; r. q- P& U
7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去# ~. X) U3 `2 `, g5 v3 I
1! m2 l# h2 U4 B( \0 i- P
2; H6 U. M3 x( F T6 v7 L* d
3
7 ?* u, y( k+ G3 Q6 V4
. S- ~* {6 `: \3 r7 S5/ I/ P8 b$ j7 A+ \! L! h' V& a
6$ I/ J6 d1 {! m) ]8 [4 K. U" b! j
78 c u. R( V2 z* i
重排Reflow
8 I5 U y) v) c1 e3 T* {6 N5 f3 a9 p. x/ R
定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。1 a# Q4 I- }8 T# E! l! {
触发Reflow:6 B9 v- L# |! @8 C3 z
当你增加、删除、修改dom节点时,会导致Reflow或Repaint
* a' K) s+ V9 i当你移动DOM的位置,或是搞个动画的时候0 f0 _- O: I9 o$ B m5 b. B: N
当你修改CSS样式的时候9 D( O# ^3 f2 R4 J) x
当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
4 U6 j/ d/ ]( g! X2 i5 ]当你修改网页的默认字体时+ { i+ L1 |1 V( ^: q+ N
重绘Repaint0 p& F4 o8 N; b* a
5 j1 R6 W1 W; _( P+ Y; E& ^
定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
7 P+ i0 x2 x3 ?% U9 z! T
( l: V0 ]% T' T* I: }+ ^6 p触发Repaint:& T3 `& N) P$ @% P0 p+ c! P! b* ?
J- w8 d* Z: ?+ U
DOM改动/ I$ \0 D9 }) G, O* I. S
CSS改动
- V8 h2 z5 m( b1 [2 y3 N————————————————% _2 l3 W' ?2 ]8 }( _% a# Y7 q- B% W
版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
7 U. J2 |/ @+ G0 V- r原文链接:https://blog.csdn.net/u012015672/article/details/105931291. k9 A' d# ^! `8 D5 M; t& c1 u
( J/ I- v e2 `5 @! f1 a! {
4 c/ f, G& ?1 U |
zan
|