- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563416 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174248
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
HTML 知识点(未完)# }; E: H* B% s" R. L+ ~0 |, c
5 u! c5 X7 ^% i3 _9 i
HTML 知识点6 h! ?6 I& b- v8 m! O- t4 \( D
, A4 h% D6 G N' W+ V6 d三列布局- (高度已知,左右宽度固定,中间自适应)# |0 Y4 k1 Z& i; I6 Y% }! c4 Y
" O$ b* X1 C4 c" o8 E& @0 O( W
布局方案 优点 缺点8 W$ E9 _* k. E: ]
浮动 兼容性好 脱离文档流,需清除浮动
% ?: A+ h2 X1 b$ d& ?- f+ Q( b; k; y) b绝对定位 比较快捷。 因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。$ R+ i' [; ^- n) p+ V
flex布局 目前是比较完美的方案。 只兼容到ie9。! b$ g# o, D6 @0 _8 P8 v
表格布局 兼容性好,当需要兼容ie8时可以用表格布局。 多栏布局时,某栏高度增加,会使其他栏高度一起增加。$ ]) \; b; y* ^! F
网格布局 新技术,代码量少
- l& e% O! c' Q; C<!-- 网格布局 -->, X4 [$ Q- w$ V. h9 s- K9 l
<body>
; o: m3 W0 r5 T& y <section class="layout grid">
) B6 s: R, A0 P2 E! } <style media="screen">6 g$ X3 y+ Y) B7 |& C0 H# j, ]
.layout.grid .left-right-center{
) ]# H( S* |+ P6 G2 @7 C display: grid;
/ @; @* ]2 h0 C8 I8 L ?0 ? b width: 100%;
+ M6 J4 C+ l% f# N grid-template-rows: 100px; // 设置行高) t# I9 u/ U% v# o1 g% c
grid-template-columns: 300px auto 300px; // 设置每列的宽度- a. V9 l+ } e, f* L# U5 G
& v# ]+ U& L$ q </style> T0 e1 y T' f, r& b
<article class="left-right-center">
& @6 ?6 F! \. Y5 ~6 ? <div class="left"></div>6 r: B) R; k; }2 Q- e
<div class="center"></div>. s& _2 m% J; K C" Q1 J
<div class="right"></div>
# i5 G' Y* c3 m( v </article>
+ j/ K2 Z+ v. z. j! N0 x, ^$ l </section>
8 v _; L9 ^* P</body>
9 j7 \8 `2 \9 B; u* i3 A% H
0 D0 S0 T4 t& V0 T# Jcss盒模型
! t9 N, H* o$ n. D
! b/ C( \. O y# _CSS盒模型的认识( b! g6 P. O. W' r, Y6 h' x
: g9 ~7 r% n) q+ l3 |* h
css属性: content padding border margin; [# S. j$ K/ ?/ C0 y |* C4 u
/ \+ ^0 Y, F. g6 ~两种模型:IE盒模型(怪异盒模型)和 标准盒模型
0 p! E+ h& [! V# S: V
* `. K! I" p( a/ x+ ^( q% t1 \' w两种模型的区别:计算高度和宽度的不同) s4 p+ {# [3 k6 K8 B
- a+ n9 S. `, u( F, ~) P. u两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
% x; @' P* q! A2 f2 U/ d5 P1 |0 I R6 F8 K9 O: J$ l( s' x U' ^% Y
JS如何设置获取盒模型对应的宽和高4 h" k8 b2 }) f4 ?. [! q3 C
3 F) e; o3 t% \! ?获取方式 优缺点0 ~- t9 R/ o1 e; g* x# \ p3 ?8 }
dom.style.width/height 只能获取内联样式设置的宽和高7 ]; e" w7 |4 W- o" D
dom.current style.width 获取浏览器渲染后的宽和高,只支持ie
. B% u( f5 \5 }+ s; D) _window.getcomputedstyle(dom).width 兼容性更好0 I6 P" L2 t1 q+ X5 b2 x' e3 E
dom.getboundingclentreact().width 适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
0 @- b4 j2 N$ }, L% }% D实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距% K+ b+ B7 z% k- r9 M
" q- p6 E/ C2 t3 J, {" m
块级元素包含了子块级元素,子元素是100像素
# C0 N; S. l/ @8 k- X' g子元素与父元素上边距是10像素: f( r2 b+ d; o! Y) Y) u0 h
父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
( b8 Z2 y: n3 _. [' @ ?6 q另一种兄弟块级元素-% n' W# n6 G2 d% u
5 Z/ q; s( j4 y9 @
挨着每个都有上边距或每个都有下边距。-
2 O2 _ |! P# a$ [& l; {- k该重叠的原则就是取最大值
. l/ G. S% v% ~, |空元素的边距-取margin-top和margin-bottom的最大值
/ o9 _& h. A/ t$ z9 f) E: f( m解决方案:* k8 S2 ~$ S( C$ N! U3 J
! Z7 c0 v4 p% |. O5 P: u- W) f5 a父元素创建成一个BFC (无论父子,兄弟情况)
4 `) V4 V" W/ |6 Y0 i5 b+ K
: W' M I4 |: k. U1 a4 [) L4. BFC (边距重叠解决方案)6 C" J8 N8 ? j, ?; k
8 Y& O: v6 p1 Z) v' Y! H, a1 wBFC(边距重叠解决方案)
( ~, F* P0 Y6 O; A# Q5 Y
7 l, T: T: ]( q/ o0 G4 T, O @1、BFC的基本概念: 块级格式化上下文;
% o4 i5 `/ O# A: b$ `# y6 a- |" G/ W4 V( a$ `7 w. D' Q
2、BFC的原理:BFC的渲染规则。
- y: i4 c. h E$ n& c% @
$ j3 q4 k4 ?) I( o①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
) i: K# \% ?2 L2 M' q B* W* b, [
+ O8 n1 h1 v. y& c8 f4 n" Y% R/ c1 D* B②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
% T5 }7 o8 [) f( m, G
+ s0 q& p+ w: i {9 h, V③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
# y9 A! [, u( V
2 O+ b8 \7 m9 N* l. Y④:计算BFC高度时,浮动元素也会参与计算3 B6 I' z7 }, \ t
/ L+ Y0 Q$ _4 P" y3 g3、如何创建BFC# d4 N6 T2 s9 x4 ?$ p; E9 V
+ h- U7 y7 u" G9 r2 S- b; b①:float不为none。
3 }: u- Z0 _9 G+ e; q
1 }7 N' Y C T( G②:position不为static或者relative。! s+ d* O9 N! @3 {
1 a: Y J, R5 f' F
③:display为inline-block或者是table相关的。
2 p% z+ i. t/ L* ~% x& Q0 _8 q4 b, u( t! d
④:overflow不为visible。+ D7 [8 L+ C$ Y3 _: _- S
& t% z4 U( z) E8 K2 f⑤ : body 根元素
, ]/ h# F3 `. ^) L4 z' G3 K
; ]& |6 v( R! o& t* o& y% x5 B1 ?应用场景: - M% x3 U8 i+ ]2 h* ]
左右布局时,float ! |3 x7 ]0 U; i5 n" ?
相邻div使用margin产生边距重叠
" ~8 E/ e+ x+ H) t5 M- Odom事件8 N( T i1 l& v5 l$ i
: E8 m$ J0 m" J0 U( I, Y# @) d
基本概念: DOM事件的级别
# E* U+ |+ }/ U- \% d5 a' m8 `: d i# h7 b7 O& ]; b" q
DOM0: element.οnclick=function()
4 ]+ u! p/ x6 ]2 d$ J8 x' H4 z+ a& X( C# Z9 \
DOM2: element.addEventListener(‘click’, function(){}, false)
) Z% r5 W/ M8 a4 K( v0 e* i. S8 g8 z, ^
DOM3: element.addEventListener(‘keyup’, function(){}, false). G) `% u U4 @+ j2 S
9 W" `% U$ [$ d) K7 H( ]7 Q5 f
DOM事件模型
5 N) H& c5 y+ i/ z6 Z6 s. [' ^1 j
: t$ f. m) w$ V' z$ ~% T2 Hevent.target 2. event.currentTarget
4 ?: `2 K# \, v/ h4 devent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素( ?. k* Z. s; }9 Z" ?6 @) N
DOM事件流
* K! F: [( i' y4 L9 L( v4 X% \
, D; V( o5 k6 G事件流 -->《捕获》 2. 目标阶段 3. 冒泡. _ z1 Y# N4 i$ z
描述DOM事件捕获的具体流程+ T6 a1 C) o5 K3 k: L
2 b% T9 \4 \1 G) _. P" K
window 2. document 3. html 4. body 5. 按html结构 6. 目标元素, n h. r$ R7 g- G& }9 k
Event对象的常见应用' i% `. p, y$ [8 N. U, {
- V* d9 ?! h* J6 P# L
e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()5 K! P/ W. m7 S2 p1 A& q4 ^- S
自定义事件
4 f* `2 }( n8 g1 l0 [/ g
+ F" {) D; A! u- \var eve = new Event('custome'); W! |& G- N% b# ^
ev.addEventListener('custome', function() { ]" W' X& A$ A5 r+ k
console.log('custome');# O/ m, Y4 G6 Y2 O, K8 f/ u
});
% C% e5 D5 W$ G: s0 c9 K x/ Qev.dispatchEvent(eve);- x2 T1 @) e- s! u" b1 _
1
H9 `4 J& I! Y9 l23 ?7 w3 y! L0 }8 K7 W8 x
38 A3 K* t6 v6 K' R2 n! `6 |% Q
44 I3 c6 Y, w( q$ F3 }8 T
5
! _8 Q) @' A" q' w. V8 B6 ehttp协议
( @ s' ?% A4 B+ n
* u; Q. J/ D5 dHTTP协议的主要特点
: w5 L- P3 V" w! ]9 ?" y* T6 R3 s. `+ U" o2 m/ h3 O* {7 w$ w
简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、- ?4 Z) a$ a* A# X3 h6 Z/ B4 ^
" R" H* G B" Y
无连接(连接一次就断掉)1 a; V8 K; i. w& l j }' L. ^
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。* C: F# C5 R7 ^1 r1 [3 q
无状态(两次连接身份)& ^) |/ N& k7 ?8 ]7 N# i7 S% D- K
是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传: B+ d# A& {% o. E3 Z4 p& w
HTTP报文的组成部分7 ~" t5 u. u; A
. |. V6 {0 k6 r# d+ \3 D/ l% Q0 x# O
请求报文+ N' N- S! ^+ ~1 `( S
: Y8 A0 ]" y8 L9 Q4 N
请求行 请求头 空行 请求体
& D' `; l* l' [9 z
# \6 O5 D& B( T$ y# B响应报文
) s. Q2 Q: n- N( y1 p3 ]
* }$ g' i! a- `( ~+ q* Y状态行 响应头 空行 响应体
: Q( c& A8 l4 m% D
. N9 [! Y K; G# E6 ]. zHTTP方法, R$ d% a% S) J& U
9 O$ t2 a! ]8 l6 B
方法名 方法作用 注意) D) w5 T5 N" d+ C) l$ @
GET 获取资源 * s9 \% \. p/ e; q
POST 传输资源
1 ~% A; T8 i: X& ~+ R$ P/ O) APUT 更新资源 . v$ r5 ?0 o2 ?. _7 t: A5 u
DELETE 删除资源 / H- ^8 f# t) R: {$ s2 H* B4 ]6 G
HEAD 获得报文首部
5 I) I7 A$ R: h8 [POST和GET的区别4 r+ ?1 H5 ]4 d& c# ] L/ g( s2 R
6 b0 _* ]) v: s
get post! I/ }$ q. T: D. Y& f$ e6 l4 \
在浏览器回退时是无害的 会再次提交请求1 j0 a: s; D; ?- j' E* M1 S, \
产生的URL地址可以被收藏 post不可以 F) @9 r, A: y. r, y
请求会被浏览器主动缓存 不会,除非手动设置! N5 X6 s: P7 f
只能进行url编码 支持多种编码方式
& y6 {- J$ \- J6 _0 u3 p q请求参数会被完整保留在浏览器历史记录里 参数不会被保留4 q# g* w1 D: O C p
请求在URL中传送的参数是有长度限制的 没有限制. [6 c; v" W& d, b) O: Y
对参数的数据类型,get只接受ASCII字符 没有限制- M$ f! G2 [* Q& [& x8 ^6 u6 d2 ^
更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息 没暴露1 U' C$ u; t- H
参数通过URL传递 放在Request body中
2 l! u1 G, T# CHTTP状态码
: `! F# Y! { j
' j1 Y$ m1 r$ t3 P) |5 u: i状态码 意义/ ~) G) ~3 V+ U$ p. v$ o0 Y
1xx 指示信息 - 表示请求已接收,继续处理。
6 L7 c- c8 K1 R2xx 成功 - 表示请求已被成功接收。
- D% V3 k V Q/ ]! S9 w3xx 重定向 - 要完成请求必须进行更进一步的操作。- }2 v3 j4 A4 k2 N4 u `8 _; V
4xx 客户端错误 - 请求有语法错误或请求无法实现。$ G, u5 F( p: S! K4 a
5xx 服务器错误 - 服务器未能实现合法的请求。* }* A p# L" N7 X9 i3 D/ H
状态码 意义$ L7 _- ]4 ^/ g
200 OK 客户端请求成功
+ W: N) q2 O! u. _& a: w# o6 {206 Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它
7 Q) ?0 J9 o7 W* b; ]301 Moved Permanently 所请求的页面已经转移至新的url
; J( \- T3 U; p( W7 S5 \) l8 d0 Q302 Found 所请求的也么已经临时转移至新的url
: ~. f- ^7 ]- b304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用% R3 Y8 s# ]: I, v$ a7 }9 s& E$ s
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
% e; f$ W7 [" X: |% {0 c401 Unanthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用, @6 @9 R" o5 N4 r- e |
403 Forbidden 对被请求页面的访问被禁止
! o+ y4 |( x% \5 A9 d+ D8 N404 Not Found 请求资源不存在
3 ]; @5 G+ F1 H3 D2 Q- u. K500 Internal Server Error 服务器发生不可预期的错误原来缓冲的文档还可以继续使用8 O. C& o) o; U0 F$ u
503 Server Unavaliable 请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
4 j9 K, w1 e9 T w8 ?9 X9 |什么是持久连接
7 q! s+ f& t) ~/ B; B t5 o+ F0 g! E' V8 \: m) j6 k
HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
0 w2 J: i' O; ]7 P& h
`2 B8 r6 w% A7 ?; l; P2 j. c& m当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。# e. e: u1 S% k+ v" m" ^& @7 P
! r0 L8 i3 P) p
使用了持久连接* Z( @* f' m1 x. Q0 [9 V. ]0 H4 {0 V
1 v, L2 r1 K0 l4 l# k
请求1->响应1->请求2->响应2->请求3->响应3
$ s- q: O2 r/ X) D0 S% J" `" @
4 x% j' K9 H* U) F2 y }变成了: W2 ?6 g$ ~7 i( k4 B
3 |0 M: ^; k/ W t& x% Y% y0 i请求1->请求2->请求3->响应1->响应2->响应3# m% e* d i+ ]2 K" E6 @+ s A
& o& k. A2 a9 _$ e' ]
什么是管线化
6 @ y' i' [0 `0 d. s! P- _1 h" R( r
管线化通过持久连接完成,仅http/1.1 支持此技术
% J% c: b6 d w4 k3 D8 P只有get和head请求可以进行管线化,而post则有所限制
( I9 A) F! _' p初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
) x, S* o6 _: P w$ C# \* F…
" v8 F y6 `9 t) I, J7 V s安全! G8 W$ T' x1 I% p7 L
( w% }. ^/ w% d/ s: v: S3 z+ y3 c
CSRF& w$ F& s( l# A
基本概念和缩写
1 B9 F% J8 }! ]# R& x" g2 uCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。2 }9 x/ F: l8 i0 Y
攻击原理% j- ]) [5 L% z$ V _- l0 f- H
访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。$ q' {1 L& Y2 ]! J& c H
这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。" E, [6 Q1 x `1 Z X& b
XSS7 k/ Q w; m( R- _3 P# w
基本概念和缩写
V7 u* g: b$ ?XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。* n7 F! H; z6 l2 m0 E
攻击原理
4 H+ h( O: s" \, i! h输出脚本code
& r4 D# N: D9 O. o4 Z+ s" x) ~跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 Y' `$ b, H, h. w9 ~) {8 T' f
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。3 F4 `$ l$ e" z4 _
渲染机制类/ u& A0 U, k) m% ?$ k, h/ o
7 c- W% F, T$ N) Q$ l什么是DOCTYPE及作用5 k; K. {5 I- z4 @
+ Y {, l" U1 z4 e
DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。# c, N- x4 E$ h; A+ U( H
作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。
4 J; z9 N% D8 x% L, S; |8 H7 ODOCTYPE是用来声明文档类型和DTD规范的,( x. ~" e0 @! y% u" C% m
作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。7 V( Q, T, P8 t+ V3 L
HTML5的DOCTYPE:
' b6 R& }3 i( x7 n M- m3 G- d
) n2 C9 }0 x9 g1 `3 ]HTML4有严格模式和传统模式
( ?& c+ ]8 T- n6 t) a7 q$ i E J
浏览器渲染过程& I* J) u, A9 M; Q$ h8 V1 ~! j6 {% x+ E
/ _* N7 V0 I; C9 U; c1 T) {; d
一些概念
3 r: H/ `2 T- C- k# F- s% W# D8 a. |. |$ r9 Q
名称 概念9 M! |) g( X% p: e O
DOM Tree 浏览器将HTML解析成树形的数据结构。
( U/ [: o( t5 |, V4 lCSS Rule Tree 浏览器将CSS解析成树形的数据结构。
- ]. U {, I$ E$ k7 J3 YRender Tree DOM和CSSOM合并后生成Render Tree。- c0 B2 [/ N H; ~! z, `
layout 有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
( ]- C9 m( U. C: J/ Cpainting 按照算出来的规则,通过显卡,把内容画到屏幕上。0 p& b, L+ z5 f V
1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源8 {6 U( _5 N d/ t9 R
2。HTML解析器会将这个文件解析,构建成一棵DOM树5 O5 @3 V% {) K/ D1 B- A0 X
3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器3 S" V$ a5 K' F9 v/ o2 ]
4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成9 C# a4 z# R+ o8 M) Y% `+ n/ W
5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树8 ]4 z1 H( t( K% y
6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
+ @: v6 x% U! H# D% N7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去9 g# s f' e# N
1
k2 f" L, q }) N3 l7 Y, o& u2' G2 z! D8 U1 ]
3; J; L6 L( `2 e' k" a
46 w }: ^1 m2 X7 h% m9 d! }% b
5; i. L1 V6 O& a& w6 ?
6
" \% W* q1 L; @* j. U$ N9 N7
* l. b5 V4 [% ]: E7 k重排Reflow
- `0 b. L3 n+ e) t o* Q5 ]0 Q8 w8 z8 n* m/ |
定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
& s, m- _3 e" L6 t2 I% I触发Reflow:
: t& j, e& M* j8 l0 `; w4 j当你增加、删除、修改dom节点时,会导致Reflow或Repaint
2 D9 S( w3 P+ J; M0 z% ~2 e当你移动DOM的位置,或是搞个动画的时候; u- w& E) j. G; ~* Y- H0 h
当你修改CSS样式的时候
. F( i; T: F4 q3 c当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候- Y* i; V+ |- ~* A+ S" J& {- K: D
当你修改网页的默认字体时# f) t0 {. Y _! z8 p9 U
重绘Repaint
# H9 [0 _ H+ Z8 ~, f
) q7 L' A+ B1 E: t- `9 s定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
& W+ K0 ~1 z+ R' ]: r* z* k: N2 b1 ]/ _4 M- \4 D: t, P9 m, g: r( h
触发Repaint:# F2 |8 u8 p8 E, Y0 B2 ~! G- j
8 s) o. Z% b$ _# w* Y6 W _1 vDOM改动! ] k2 [: c% u" f
CSS改动
/ |! i' Y! c8 G" X- ~# b————————————————
( M1 j% f, [* G' M5 S版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
( s: \, U, g! w9 m原文链接:https://blog.csdn.net/u012015672/article/details/105931291
9 z, x; h+ I5 k6 U
: @ C. t2 }4 i9 ]3 ^
7 z" I! I H; q7 k% b |
zan
|