- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563309 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174216
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
HTML 知识点(未完)
& G& f6 U) e/ B) p- a2 X" \3 r. w4 B" N. d
HTML 知识点 G+ Q/ w+ b( X2 z% ]$ {
8 U4 \9 s w$ L! m3 M
三列布局- (高度已知,左右宽度固定,中间自适应)
) K7 k$ k/ z8 A+ }9 C, o* [* j) `) I
( A4 G b! N; R% Z& V布局方案 优点 缺点
+ \1 x( [ O% s4 R浮动 兼容性好 脱离文档流,需清除浮动- t0 D# `9 {" c8 A# O
绝对定位 比较快捷。 因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。
0 C- L* @9 m' i, o) ?# M0 H: Fflex布局 目前是比较完美的方案。 只兼容到ie9。
! n' \5 p) P6 k& U( Y6 |3 T3 g- |表格布局 兼容性好,当需要兼容ie8时可以用表格布局。 多栏布局时,某栏高度增加,会使其他栏高度一起增加。
# f+ o4 w4 B; ]2 Z" Y/ O$ y) H: s网格布局 新技术,代码量少
- s O5 N: y! S' z9 ~) N1 r; J<!-- 网格布局 --># ~& P( @# X7 G; ~" x0 ?
<body># }8 v( ? V* ?" |2 c: A
<section class="layout grid">
1 v8 m7 f( p w; G <style media="screen">/ W; Y' a. A( O( w; x) M0 G
.layout.grid .left-right-center{+ G3 ]( ~8 q' ^4 F
display: grid;
, ^' B. |, j0 o* A+ R width: 100%;8 V2 ~0 ~5 _0 f# m3 p0 O
grid-template-rows: 100px; // 设置行高7 ^& m G" C6 p) ]
grid-template-columns: 300px auto 300px; // 设置每列的宽度
. H# n8 X2 t" b7 W# c6 U& x* w0 d$ @* R
</style>5 x3 ~6 L7 a( t
<article class="left-right-center">9 W2 z! L5 `/ G8 C3 k% F! E
<div class="left"></div>8 n2 R) V' u; I4 w9 u# @
<div class="center"></div>
1 G* K. `% W k9 O6 \ <div class="right"></div>! M4 A2 j' L( S6 m* d
</article>9 ~6 t. Y3 Q. j- n+ q& l8 S
</section>& G& Y9 x; j. Y7 j9 _
</body>
8 ^8 C1 D, S' ^7 G' d; P+ N6 h# L1 y
' m! P' g t! z; F- O& }) l0 V! ]css盒模型' p% \( `4 U( W+ y
: M r5 J; `' [1 k9 {
CSS盒模型的认识
5 M( U: F# |8 D! `' B& o3 n9 g# d0 t
css属性: content padding border margin
) _5 Z; Q. J" f' r v! o" F& _, e8 B; \
两种模型:IE盒模型(怪异盒模型)和 标准盒模型8 q4 Z7 i& x% R! T$ T% y" J
% z' E5 R1 n7 n L% D# m# W4 h
两种模型的区别:计算高度和宽度的不同. r/ k8 n, R5 ~ T% t, `
- p! V& [6 {" P' r1 f% r2 I
两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
( v; t. `# F5 e/ l- X1 V1 a2 `+ c& ^/ P1 E: W" g
JS如何设置获取盒模型对应的宽和高
' J0 N8 x9 i$ w( ]
$ ]8 X: Q% W1 \8 n- L获取方式 优缺点7 t# P0 a: h V$ K7 K l& U) w
dom.style.width/height 只能获取内联样式设置的宽和高
- W9 u6 x5 |' i; x. Tdom.current style.width 获取浏览器渲染后的宽和高,只支持ie
; x7 Z. W* k- u* l& q9 owindow.getcomputedstyle(dom).width 兼容性更好6 {7 @" i3 I& ^/ w9 Q
dom.getboundingclentreact().width 适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
) ?9 g$ `: f, C2 ~# n! b6 d3 m实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
8 Q& g! h/ h; @8 W- i7 q, q5 K) q
) @' c1 g4 i Q; D6 i5 W' I% N. j块级元素包含了子块级元素,子元素是100像素
9 G) h1 k$ Q; C* u. R' Y& w5 S+ P子元素与父元素上边距是10像素$ A/ I7 \2 i/ {3 i( Z
父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
2 M& r9 C1 h: u( O另一种兄弟块级元素-
$ l7 J) I6 N/ x! y1 \+ y" \
, ]3 S; @2 r, c6 Y. U6 h$ E6 b挨着每个都有上边距或每个都有下边距。-* J+ N, p% k4 u3 ~5 G u
该重叠的原则就是取最大值7 U% Y+ i; U( n$ \: y5 s4 h6 l
空元素的边距-取margin-top和margin-bottom的最大值
& ^1 f. [. Y! x8 ~% L解决方案:
4 j: f) m: f$ u- C) C8 r8 B1 Q1 _* W, ?* D: g
父元素创建成一个BFC (无论父子,兄弟情况)3 z6 L7 T% U1 X
) f) K3 Z! L5 @5 d( L# |4. BFC (边距重叠解决方案)& ~$ l s4 B- u! _
& d7 ^! I( T B6 e& }9 SBFC(边距重叠解决方案)4 Y# s, m! J1 i* u1 _$ u9 Y9 M/ A+ [
# c+ q: Y* h1 M; U2 l+ l0 u+ w% \1、BFC的基本概念: 块级格式化上下文;
|4 k1 \( _" {9 n" ^& x/ `# K9 ~) k; S# K0 Y+ @3 z7 p \* v, l$ e
2、BFC的原理:BFC的渲染规则。; P+ v8 C: x/ R# D3 e2 V3 U
5 D, e/ Q- L' Q x①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
5 N8 K8 }% F& A8 V; Z, k* i) |8 H, |4 T
②:BFC的区域不会与浮动元素的box重叠。(清除浮动)' j/ u6 L( U: q0 [7 f. P, K8 `
* ?% A+ C$ Q! q( B2 A& l③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。, b3 S4 p; @1 w; g! A3 ?4 s: ~7 z
$ N5 o- Q' \# o
④:计算BFC高度时,浮动元素也会参与计算
0 p1 g1 H' H" {, a2 h7 h0 C% n! J. W
3、如何创建BFC8 a% W) }8 n) k; O3 @$ s/ n1 C1 m
8 x$ u9 j5 ]4 l
①:float不为none。
0 b. K$ e' S7 {1 D+ Y; E5 J7 O) O$ x; O+ O$ N& J7 e
②:position不为static或者relative。
7 ]3 X/ A* D$ F5 `
4 \! J5 r0 ^% \9 e1 \: c7 g+ D③:display为inline-block或者是table相关的。
* q0 z6 k% t4 B' n& a7 d+ b
0 l; F$ j+ p" L4 m/ ^④:overflow不为visible。
5 H; w$ [* S' w+ v# l. p. m' ^. u5 `; }' y: E* J- [3 C
⑤ : body 根元素 P }/ r. @+ o8 j. f# ~
: Y" E5 f0 h) i; u5 ?5 }1 g应用场景:
+ r. }, K; M( J左右布局时,float
/ S$ R8 v( Y8 Y" L4 J5 w相邻div使用margin产生边距重叠
& T, e+ i5 j% a4 v# I1 I2 \dom事件. G M0 V; B0 C8 m9 N6 a/ }$ \
: a( _( z5 A A7 w7 S) d基本概念: DOM事件的级别3 H7 y9 c" f7 ^
8 o* D) k! Y- Q$ ? n" mDOM0: element.οnclick=function()1 |: B( B0 H4 J8 X7 h! h3 X, D
+ C$ G. d# W f2 y: E! {0 u
DOM2: element.addEventListener(‘click’, function(){}, false)
$ _8 U/ u, X1 l3 x& T
. g! W. l- F; E5 Q2 mDOM3: element.addEventListener(‘keyup’, function(){}, false)
0 Y2 h% u8 q# x' g ?7 p9 l$ D
. ?9 v/ E& t5 e" d/ PDOM事件模型
' A' X0 x3 T) Q8 r, `/ P8 g! V; i/ m) T% |" }/ a
event.target 2. event.currentTarget: v' e3 s: ^/ D( ?* T( g8 ~- H! O
event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
( }6 R$ [: f2 O5 b; L. ODOM事件流4 G# w' s1 a, Z! A: m. Z* e& ^
$ h @' f% d$ c( ^" m5 N8 F事件流 -->《捕获》 2. 目标阶段 3. 冒泡) Y8 q2 Z9 C# d
描述DOM事件捕获的具体流程
1 ?7 U8 O, o7 ^# u9 A1 q: L" w
0 C; ~: z+ r4 j# S" T' X) Kwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素' S# H; `& [8 w
Event对象的常见应用
# a% I* k5 r" c( D5 A- l
, B8 W% S9 n J' S6 B3 _2 Te.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()* r3 }- g2 _! f
自定义事件
9 N6 \" K: I8 Q5 M8 x) _$ F. C: y
var eve = new Event('custome');
* I- Q! V4 A" O, _ev.addEventListener('custome', function() {7 _! ^/ e5 G; Y/ @0 J
console.log('custome');; W# l) Y4 N% V9 ?+ E
});
+ U, H, m9 ]) U# D: t4 Zev.dispatchEvent(eve);
3 F8 V8 D U. i j1
" t8 a7 K2 F. ^2
! }8 s- e5 g. x& o9 b' a3
; W1 y7 z( l4 R9 c) {0 n4
1 A2 l0 A) E7 G5
' Y% s$ K7 b$ D8 p$ {+ Dhttp协议 E ?! I% c5 `( A/ l6 E
) F7 B5 I3 B8 O9 m8 G
HTTP协议的主要特点/ P. l3 [- W5 F6 k& T3 G% V
4 [" d' h- Z! n/ B& Y
简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、/ L5 a- t' Z& P
3 c5 M" L) e* G
无连接(连接一次就断掉)
1 [+ O r1 Q# h5 ~( E* d无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。1 n; h( |5 O% B6 x: o8 X
无状态(两次连接身份)9 Z! u c; F3 o5 {" z
是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传5 y3 r* Q& S% d! t
HTTP报文的组成部分
9 ]7 e; k5 H0 ~# G
* M1 p0 U# Q' j) _/ u3 Y* k请求报文
1 r# D2 p; W$ R, s$ o; v6 m' ~, X- N3 [4 }
请求行 请求头 空行 请求体
2 t8 l+ A' Y2 ] T, w2 ]; ~$ [+ F9 L& q& m& x
响应报文1 N8 V( X+ F% r* e0 V
2 Y# e* B* b: z2 s状态行 响应头 空行 响应体
' k$ y7 A/ `+ P( e7 G9 |7 U x7 F5 q
HTTP方法
) C8 c5 F. D$ O) D+ e
% p! J& K& H6 {9 x/ A8 Y! b2 U. Q方法名 方法作用 注意
) z2 O2 Z2 ?& OGET 获取资源 ; X& \* G: U: f* w5 @! U, E
POST 传输资源
6 k0 l9 z& }6 Y9 a7 vPUT 更新资源 * r$ A9 y6 P( V
DELETE 删除资源 9 H) b- v. w0 w: n" L& O3 m
HEAD 获得报文首部 & _0 h* J. q, \7 W. T6 Q! c. l
POST和GET的区别. u; K/ [" ?* ]* Z5 |
* g& l) y: S, _. a
get post
5 x& H- s. h/ M! Y5 f/ ?在浏览器回退时是无害的 会再次提交请求
; D2 t# r( `; O. |$ K5 u3 o产生的URL地址可以被收藏 post不可以4 Z% ~" X0 F+ ?5 ^$ k
请求会被浏览器主动缓存 不会,除非手动设置
4 m7 v0 `9 c5 G5 P' `8 V2 ^; k只能进行url编码 支持多种编码方式
$ c: h q& {' { o# e请求参数会被完整保留在浏览器历史记录里 参数不会被保留
) p$ F( Y0 w l' N1 D B0 _9 P请求在URL中传送的参数是有长度限制的 没有限制% F4 {5 \, ]+ s8 x0 X9 j
对参数的数据类型,get只接受ASCII字符 没有限制6 T4 V) r, f0 I& P. F
更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息 没暴露
1 O) p% n& l2 H# b: e参数通过URL传递 放在Request body中/ Q+ j" [, J! r# ^! [( E
HTTP状态码. U4 S% M8 h# n& v3 c9 E
M' H" U+ _" C5 e# @状态码 意义: G% y; N- }# O0 H
1xx 指示信息 - 表示请求已接收,继续处理。
* B% ^* k' m6 e8 J2xx 成功 - 表示请求已被成功接收。/ L) c& B" U. p$ e
3xx 重定向 - 要完成请求必须进行更进一步的操作。
1 g# ]8 t! v2 D' ]$ e4xx 客户端错误 - 请求有语法错误或请求无法实现。
+ X, z. _; Q1 N9 H. D5xx 服务器错误 - 服务器未能实现合法的请求。. Q: j$ z9 q* H5 |/ K( X" n
状态码 意义
1 k) N; ^! k" l4 P3 E5 k200 OK 客户端请求成功
) V$ y4 C& L' a0 k' u& l206 Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它
T) b! p$ T5 Y9 s, X8 ~$ `* z301 Moved Permanently 所请求的页面已经转移至新的url
7 r% B* t- i+ m" S& F/ M. o( ~302 Found 所请求的也么已经临时转移至新的url2 ?5 d4 \' J7 S+ a" J% D. T8 _+ b
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用. M* p. l2 y3 |- j5 u* t
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
3 C5 h# ^) l. q) E" d401 Unanthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用" M% w1 q6 e$ f; g' D
403 Forbidden 对被请求页面的访问被禁止
2 C2 K; V3 z m4 k F404 Not Found 请求资源不存在
) G2 E. {' P, x" G- ~! U500 Internal Server Error 服务器发生不可预期的错误原来缓冲的文档还可以继续使用
# u; K, e3 d- z" s503 Server Unavaliable 请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
" N* |7 F$ h; }; ?6 q; I5 Q什么是持久连接3 i9 c7 s, e+ Z+ n$ ]
1 F, i6 _7 T0 Q& O3 V) N6 BHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议) D. G9 C2 g8 f
% Y `$ h- A2 Y6 y0 ?当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。! H0 ?5 b6 r2 B: n( U
% B4 g2 x; Q% Y) O e, `5 h
使用了持久连接
) S6 u# b7 C& @/ V& U+ }; {( u. X3 M$ p( g
请求1->响应1->请求2->响应2->请求3->响应3
* L2 c" e6 @' z" z/ n5 Y
/ b4 s1 L' X5 v6 H8 u2 z5 h变成了
* q, R9 V. D$ n4 D# v4 Q U9 V6 d/ P/ A% Z
请求1->请求2->请求3->响应1->响应2->响应3/ S+ u- u+ D, j/ A
d7 h. E/ ^# f5 H/ }( O6 Z
什么是管线化
$ l. A! [0 ? \: R0 C) S7 ?
- N) ~( t; X) x/ ^$ ^% C" V8 d" u9 D管线化通过持久连接完成,仅http/1.1 支持此技术
- `( A: v) [! }1 B只有get和head请求可以进行管线化,而post则有所限制" A5 Q$ m2 v8 @1 J
初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
: M* X- X) Z+ R1 v…. `# [0 w/ A8 L6 U0 I* k
安全, a* ^( U- G5 Z0 K0 e
! g7 k, a: u" @
CSRF
, }8 K% x+ ?& D+ J; e基本概念和缩写
4 s# J4 E5 @% N8 N: RCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。% i, Q7 i; q9 ?% P
攻击原理
; T. Q: w7 e$ `1 L% j* ] Q) v5 [0 |$ x访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
2 S2 i/ o# W2 Q: c5 x0 R6 W这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。2 {6 H$ O1 s8 s- C2 g$ `* C
XSS
+ T+ @3 X% B: f9 m) n/ j) w# {基本概念和缩写
; f h. t9 i; B" }0 aXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
) ?$ r' S" z7 o" n! F" p- m4 u攻击原理
' L1 N1 T' }% M! T7 g' b8 V. F5 p输出脚本code% R. t# Y9 C6 `5 i/ e
跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
5 N9 i5 z2 \0 K( dxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。9 {, U: Z$ d3 n& Z3 q+ E- A' {
渲染机制类+ x- C u8 B& \) z9 W
- R+ x) A1 }6 m( W: e1 U; T- b: B# ?什么是DOCTYPE及作用: A2 t8 Q: X4 S& o3 Y+ i- e3 T( ^
5 N4 g5 D& q; c ^+ t" U5 y
DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
* P" K( ]! A+ N( [5 f, C作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。
7 a; b9 \# U1 i$ e WDOCTYPE是用来声明文档类型和DTD规范的,) f% A6 P# P1 `
作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。& `" S$ Q6 p2 j4 T0 j: ~; M! R
HTML5的DOCTYPE:+ B$ b/ {3 P! E# o; Z% S
; N% w+ x' @$ p0 T& a7 m7 Z. zHTML4有严格模式和传统模式* f" y7 @; `& ~$ D5 e
8 Y% _" k6 f% ~0 [+ Z6 v" m4 z0 d浏览器渲染过程" ]- G% `8 B% k$ y4 K+ q7 f
' S" f% T% D9 M8 z: a
一些概念- s+ S) c5 [5 [: G2 Z! o5 q* y
2 R+ z6 | [" }9 R. j/ _" D$ ?
名称 概念
+ @! A, t' a; s, G+ \2 c; W. lDOM Tree 浏览器将HTML解析成树形的数据结构。1 F0 Y& K' R0 B
CSS Rule Tree 浏览器将CSS解析成树形的数据结构。
( J& z+ ^' f) `" d& b; ?) @+ ORender Tree DOM和CSSOM合并后生成Render Tree。8 k; u, K/ w+ m* w8 L
layout 有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
+ c) u g( Q( K9 v) qpainting 按照算出来的规则,通过显卡,把内容画到屏幕上。: k- W7 N/ V9 k1 h7 ~
1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
* B" I- a' d8 s* U& B& [2。HTML解析器会将这个文件解析,构建成一棵DOM树& I# Q7 F5 X$ D: q* k% T
3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
; ]3 S- x4 ^ ~4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成2 t$ o. A4 y% m& R/ m: R, W
5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树
8 d) e" m. }' @( G. ^2 ^8 o7 T9 T6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树3 b/ e& r a. Y% d. D( B2 ?& y
7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去$ u" S, U. s% R& E- c0 K" K
1
r* v2 E( r' |2
5 Y. u. Z0 E0 e% Y% [- a3
0 m8 u1 }* p( R: E7 Z46 e. ?+ @' o, {8 H" B+ Q ^
55 u) O2 h1 g: X, [. H
6
; A6 @1 g. Q) V# `# _0 ]' m$ W7- w6 D$ Z2 ~" X: m
重排Reflow, j1 G/ c6 F* z7 S" t5 c! x
, m f) o! D5 X4 z: }# y ]% i2 m
定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。/ F r) J' H0 v. D7 N
触发Reflow:
) T( _! h2 E: c/ i, O2 h8 E: Y当你增加、删除、修改dom节点时,会导致Reflow或Repaint
; H7 b2 j6 E% P& p4 h* w" T6 H& }当你移动DOM的位置,或是搞个动画的时候
1 Z! a1 N% F5 U% x2 x& Q当你修改CSS样式的时候
- n/ ~( i) k- o当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
; _( n' s; H; b6 W! X T当你修改网页的默认字体时 |2 r r! n$ i7 V+ Z4 Z- o% |2 \
重绘Repaint. l7 X( }* o- U: q
5 T4 S0 _4 J1 [5 q
定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。" a( n; |- I2 P# _% X" a) a S
4 g# Q9 X9 I" `" f触发Repaint:
* |$ }: x4 H; f; X4 M
( Y* t8 B" d( F/ Q; W% n, k# nDOM改动
E# Z- h; W( BCSS改动
# z# A( E# w; `4 x————————————————
. g5 H0 E% I- K L M/ }3 I版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。! \; W( _! V% n0 P( O1 g. v
原文链接:https://blog.csdn.net/u012015672/article/details/105931291
" X8 h$ u( K: V) H! ~" q% |2 ~4 V" b9 u. B* B7 R
! E, h% G; E9 a# \' r: j* s |
zan
|