QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1984|回复: 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 知识点(未完)
    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
    转播转播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, 2025-9-25 09:43 , Processed in 0.340760 second(s), 50 queries .

    回顶部