QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2190|回复: 0
打印 上一主题 下一主题

HTML 知识点(未完)

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2020-5-5 14:53 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    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
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-21 15:52 , Processed in 0.650188 second(s), 51 queries .

    回顶部