QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2239|回复: 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 知识点(未完)
    1 l" [; C- X. g! I  Y% z3 u! i  c2 h4 ^5 N9 W# K2 A0 Z. V
    HTML 知识点
    0 {% \) z! Q/ W1 L' E1 M( F5 V2 c# v- e' Z8 k* ?* a0 U0 }
    三列布局- (高度已知,左右宽度固定,中间自适应)7 `) N$ b9 p; y) X
    ) L3 G9 Z1 C7 A4 u+ T
    布局方案        优点        缺点# f3 p' r6 b7 C% x
    浮动        兼容性好        脱离文档流,需清除浮动* U8 w0 r: z3 Z, d7 F7 Z! S
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。
    # r/ d- G2 @7 E* i" ~flex布局        目前是比较完美的方案。        只兼容到ie9。
    " \( Y# i% }+ x- [表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。6 @6 b& T* n0 ?& Y' z5 {& N
    网格布局        新技术,代码量少       
    * o7 t5 H* w% g: l6 j: A<!-- 网格布局 -->
    ; a7 j1 @% y+ y# ?* x<body>! I; k; z! M: ?6 S; w
        <section class="layout grid">   Y: R3 K1 H; U/ B* ]; }9 R
            <style media="screen">
    - O4 \; }2 _4 R! h" Z            .layout.grid .left-right-center{
    . \. Z3 b* t6 A' j" P; A$ r9 I# r                display: grid;6 e2 t& m0 ~' |5 p$ J. Q8 D
                    width: 100%;' E& b6 w& T/ o/ o4 C* z
                    grid-template-rows: 100px; // 设置行高! L* r2 h4 J$ w3 e" v, f
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度
    * [/ @) @: @. ^" J+ m+ [& J0 \  {  L9 ^) r! v8 W  c) e/ P  a# A
            </style>
    ' a( e, r5 U% \; c5 H6 b) N            <article class="left-right-center">
    4 O: V' B( C; M4 e1 M% g            <div class="left"></div>
    2 c$ M/ E$ T1 c( [# Q& l+ h            <div class="center"></div>) n, _0 e% O' k% \7 z) g  R
                <div class="right"></div>
    $ _1 l3 P2 u8 p/ Z( p# O+ N        </article>
    % L% ]; l2 A0 O1 R4 _    </section>  k" X- v  r" _4 d
    </body>; R' i4 C0 y* s, {8 k# {

    $ D% b/ F- U, y- X" j, Z" \css盒模型
    . O8 [( D0 D% w: f: t. d$ W
    $ U$ s& `/ a4 X( h* C$ vCSS盒模型的认识
    9 q1 \/ W  v, ?8 Q  s- h! E; }/ I# M, |) Y" J* |* k+ h( P+ B
    css属性: content padding border margin
    2 R) b% l* O3 N# x8 g+ W1 E; p3 U# j7 o
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    : t! |( Q* ]# `. e$ C
    : X( x) n7 u6 r+ g6 V/ Q两种模型的区别:计算高度和宽度的不同5 x$ Z$ j2 W/ T3 O! S( N
    * z1 {; [" X+ J, Z
    两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    0 m, S  ~+ z) m7 u. t8 U% \( k# Z! F1 i* j# K2 v  T2 e
    JS如何设置获取盒模型对应的宽和高
    + B: \9 x( P) W4 K! s+ j& N% q4 |7 v, x  |
    获取方式        优缺点0 S/ V# C( x% O  }) O' }
    dom.style.width/height        只能获取内联样式设置的宽和高8 Y( z, ~6 t) @  F4 y2 W
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie/ ^5 [; o  O7 T+ l
    window.getcomputedstyle(dom).width        兼容性更好& S/ r$ l/ c; m' R* m2 f% V# t
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    - \! |/ X0 _7 q. F1 A实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距0 M4 s' M7 g0 y8 i) y( A
    # x1 a3 L9 N, l( j# M
    块级元素包含了子块级元素,子元素是100像素! O* o( A, j8 P: }' F
    子元素与父元素上边距是10像素
    ! s( E' C/ c. K, m7 ~6 s父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    4 G0 U( ~) O6 \' O. x& h另一种兄弟块级元素-: ]: L8 Y( ^0 A

    0 C! P0 C5 S0 l/ v% ]( B挨着每个都有上边距或每个都有下边距。-
    : c2 t- r+ `" y& r" v# Q5 Y该重叠的原则就是取最大值5 i" S- B; {9 U! c$ f
    空元素的边距-取margin-top和margin-bottom的最大值& z$ I+ \' ]# l# ?
    解决方案:
    ' O" t3 \1 m- R3 o( v+ |+ ~6 d$ ]) J6 g  Q
    父元素创建成一个BFC (无论父子,兄弟情况)
    $ `2 v( f0 z* C7 r5 x
    2 B7 w& i* v4 C& j3 o4. BFC (边距重叠解决方案)
    2 a1 j+ q% d% C% a2 K4 u  L  a+ Z/ _9 g& c( q1 M. e' D
    BFC(边距重叠解决方案)
    8 d$ p: b& p& ^7 m% b2 z
    / F/ v0 o2 I1 X+ R8 E% s1、BFC的基本概念: 块级格式化上下文;# u( c; M5 s, U8 V1 ?8 I# @9 P
      P. R8 Q+ [2 Q7 L$ E0 e& U
    2、BFC的原理:BFC的渲染规则。
    7 Y0 O$ h" I9 W! M! @! E) b) r  D" ~5 k# E7 m/ V- K6 O. w0 T: o" y
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)' F) z0 E3 Y4 B0 G9 e1 Y' ]
    ' Z, Z. ~) }" {  v& I
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)1 J8 X: S) t( [
    ' Y8 F" [0 ?/ ?& R" Y  ~# g+ j
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。9 h& F& Z' Y9 Y0 a1 K
    " {: }; N9 V( l7 u$ e9 X
    ④:计算BFC高度时,浮动元素也会参与计算
    # y6 ?" p0 a, e0 p+ m+ ?( s' ^9 H) B! Z# ?% C+ Z" d
    3、如何创建BFC5 I, N; l: S) q/ ?% O

    ! G! B) A% |. X. E" G①:float不为none。; f7 f+ j+ G  g3 ^" L. O0 b

    - l/ F( o" z* l, _6 V②:position不为static或者relative。! W8 E/ @) D2 O. k: S0 p  i  O( ^

    8 k5 [- H& ?* O+ o③:display为inline-block或者是table相关的。
    6 [, ~( V2 {# s7 Q, V
      j& n! P4 d- h- Y% I④:overflow不为visible。( _9 q# @* T5 B; \; h" q

    * f( b- S- B; ?. w" B" k⑤ : body 根元素
    ' ^, A9 K* P; w; w- c& Z' p! M% Z
    应用场景:
    1 \+ Z$ J7 F6 y' O: o% \左右布局时,float 4 z' S' Z6 Q  `. [8 Z  C: V0 T
    相邻div使用margin产生边距重叠! X) P8 A9 m; Q; P
    dom事件9 l2 R! _# B$ W8 q

    ( M. y0 @1 h; B8 n9 f( B基本概念: DOM事件的级别
    % s: f2 ~3 D; \4 m4 {# ?" r! ]
    & E* y! w' Z9 CDOM0: element.οnclick=function()
    / R) y8 c2 e; c7 W# p5 A$ U. J
    / u! {3 a7 R8 P+ b8 Y& [DOM2: element.addEventListener(‘click’, function(){}, false)
    ; B/ ]7 l5 ~5 i* k$ A$ E3 r5 u8 R1 i3 q+ e% Q
    DOM3: element.addEventListener(‘keyup’, function(){}, false)
    + r% E, }+ q# F% \8 _3 J( _0 D! |) h8 }
    DOM事件模型0 K$ B& J6 ~+ v$ T' r" @/ C0 m
    2 D! ?. L+ [( Z
    event.target 2. event.currentTarget0 ^' \: S. R4 N: f. U. }0 T
    event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    ' h6 G; e  ]; G5 x  c" pDOM事件流
    , W8 c0 M4 Q: v0 L: T5 z
    * p$ [$ o/ Y% Z) @# v事件流 -->《捕获》 2. 目标阶段 3. 冒泡+ y4 x5 e# H$ E+ o
    描述DOM事件捕获的具体流程. H5 U" _, t* n
    1 J2 M& Q! U) J3 \3 @+ f- [  L. [
    window 2. document 3. html 4. body 5. 按html结构 6. 目标元素1 j  K& M% D% R1 i2 X8 b, X
    Event对象的常见应用  q0 I$ o) Y5 {7 n
    " C1 ~" b% v. t) e
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()5 }4 D8 k$ A3 L" Q2 W8 B$ R5 G
    自定义事件- g4 I1 ?+ H) S1 J9 O
    $ C' D! M7 f/ E: o1 t8 K: c/ h
    var eve = new Event('custome');
    : Z8 p* s. w7 }) iev.addEventListener('custome', function() {4 D% x, O3 q0 ~' D% f2 U3 h
        console.log('custome');. V) J, L7 {2 j6 g! u! U# A
    });# Y  u; A' T6 P  O: X$ G% @
    ev.dispatchEvent(eve);
    " h. u1 W4 Y* f, H  d9 Z- Y% [9 j1& \% p' I: h' j
    2
    ) [* {" t$ M& n2 U, u2 r3  b# M: G3 f+ J: ]
    4
    2 T' @3 w2 b; H7 A58 P8 ~6 T* B1 M# y/ M( [' X: P/ k
    http协议
    9 w/ J2 q8 L, g7 o  }" y
    ) m: ]: S/ D) F& [" G2 UHTTP协议的主要特点
    ! O3 r& X. F$ |7 O2 h& w0 g
    & X; |+ P7 W! Z$ b/ E简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    ) ^# _' p# g" C0 x# A6 g
    ) o' l! Y$ L: {+ F. C$ T# S无连接(连接一次就断掉)
    $ F0 X0 u1 `9 U$ a1 Q- ]8 _7 }无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
    1 ?* [; y- z- U# F# g无状态(两次连接身份)
    ' n" P  i9 p, Y6 P) u4 \1 b, y1 }是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
    # I; a9 `4 g3 k4 Q8 @- h% ^2 ~  eHTTP报文的组成部分/ Q$ B4 }" n1 Y" F& T  _

    5 x8 F+ Q% a7 r" \. Y: m" l8 y请求报文
    2 t8 e# I+ e/ R9 r+ w& Q, w8 }) w4 i5 O* c, A/ ]0 n, F8 J, c
    请求行 请求头 空行 请求体
    8 y/ A) J% H) |; g( J: C
    4 s& M& Q7 p$ y响应报文* w, |% F0 r; r$ R9 U  u/ z; C) k5 W

    9 w' K' P5 l# Q: p状态行 响应头 空行 响应体+ h. ~* T. y. R2 I' C1 o8 [  @
    1 R% O# {- W6 S2 A* ~& d
    HTTP方法
    6 K2 l2 J' I* ]! |
    : @) W+ ~/ E! G. l' v* D& ]2 \方法名        方法作用        注意
    + M3 p6 X* F4 V" K: c% i) ~% kGET        获取资源        - ]2 B7 E0 N- O1 M( @) C
    POST        传输资源       
    ; f( o( A7 a: q0 P6 U5 D2 N- BPUT        更新资源        4 ^. J! p9 k& e# y: ~4 I6 |
    DELETE        删除资源       
    3 M3 s: Q2 _0 _& Q3 x& w- S* JHEAD        获得报文首部       
      n% f% k- d% g$ ~( r4 TPOST和GET的区别
    5 q3 ?' h) o& ?
    ) d1 a0 Y$ Z4 E% N5 s2 y* B% pget        post7 X3 M: W8 S8 w( K0 L, ~4 Z; Q
    在浏览器回退时是无害的        会再次提交请求' x: W+ u. ^- u
    产生的URL地址可以被收藏        post不可以
    1 F8 D" }. C4 h- |8 r# u请求会被浏览器主动缓存        不会,除非手动设置
    ) p- I& f; s0 {+ N& v4 B$ h+ a只能进行url编码        支持多种编码方式$ @1 m, A  i" `4 o2 m
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留
    : x) |5 j5 R# O# ?; H请求在URL中传送的参数是有长度限制的        没有限制
    ) G# o6 A* Z& c对参数的数据类型,get只接受ASCII字符        没有限制
    # N) q# h" w& V6 `更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    4 V( l7 x/ a+ ?  D3 b& ]参数通过URL传递        放在Request body中
    - E- _6 y3 R* i2 Y) i  vHTTP状态码
    : x& t! A/ s5 b: K& c
    # R3 \9 p3 z! S1 K+ k9 [( h状态码        意义
    ) y9 D4 s; I% W$ v1xx        指示信息 - 表示请求已接收,继续处理。
    ; W6 \" g0 n# w: H' n8 d8 C2xx        成功 - 表示请求已被成功接收。
    " a( Q. l) g2 K- V/ \3xx        重定向 - 要完成请求必须进行更进一步的操作。- o1 C. ?  O! t0 r( _
    4xx        客户端错误 - 请求有语法错误或请求无法实现。
    3 L( L: U7 \) i7 {5xx        服务器错误 - 服务器未能实现合法的请求。
    & M& x: d- \1 G/ `2 z状态码        意义+ @/ S- R3 a  [% C- ^
    200 OK        客户端请求成功% e$ i' `* U8 u) ?' A9 N& J# v( r
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    . G0 A# L1 u4 ?6 V& G0 o! B301 Moved Permanently        所请求的页面已经转移至新的url
    $ Y3 J* t/ `1 v; M( D302 Found        所请求的也么已经临时转移至新的url
    ' v! `1 |% `) X) t% `304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    7 k6 B: n+ e* w# z9 t400 Bad Request        客户端请求有语法错误,不能被服务器所理解$ k  m" m( Z% u9 j+ [0 s9 X
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用5 U$ M0 N( p$ b
    403 Forbidden        对被请求页面的访问被禁止
    : s0 e4 q. T$ u. T- ]: @8 u: j404 Not Found        请求资源不存在
    ; h/ Y$ I8 a3 A4 R500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用
      U& Y( G1 e/ P* K6 s5 s. P503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    ( D3 E" @5 m' `+ ^6 [" |% U9 C' Z什么是持久连接8 g% y1 \3 z0 O" j& D8 o' D

    - K: S3 I' n9 @' ?7 c% sHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    " J2 c; V* Q' o* F2 y8 H8 D5 |; Z% a- @/ j
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。/ u0 r9 G7 d* G- W

    + e4 ]4 q4 x1 ]9 t$ M' j! \使用了持久连接
    ) w7 j' E! u4 Q6 j" k: o% u; F. n' m. s; j2 `8 S& H
    请求1->响应1->请求2->响应2->请求3->响应3
      Y- w8 D: t' W1 Z8 G, C  o
    " W  q% D* h; }% n; E! U7 d变成了
    , S) {$ }3 a" c* _  f4 U8 w2 x6 H1 D- O2 W
    请求1->请求2->请求3->响应1->响应2->响应3
    9 @. r" N$ W* F- }- v9 n2 b% q+ k% u7 e% X
    什么是管线化
    1 S) }7 H2 S- q$ r4 d$ e
    / R) x/ o  ]( d% q) [管线化通过持久连接完成,仅http/1.1 支持此技术& e' L) T% F5 u
    只有get和head请求可以进行管线化,而post则有所限制. d1 o- v4 i( D6 J4 A
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    " [1 W4 I: P% P( A: i# r. l, L9 k
    , |8 J0 K& S( U3 ^' _6 s安全
    5 b, I8 A  i2 g* v7 u, A/ R8 m& a9 R; O5 h) i0 V# l  \
    CSRF. L$ l% J+ |! S8 [6 ^7 `0 L# O" \( i- ?
    基本概念和缩写
    ' @4 G* l- f; t" B! J9 ~% K7 KCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    ; V4 n& m3 Q" o) F- |4 ^攻击原理# w4 n4 u) \6 l, O+ T
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    3 E& F  Y4 x: y- M$ n4 V这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。- p" I& d+ l. E* {
    XSS' z" l" U: r  x( X, B; |$ ?
    基本概念和缩写
    7 Z" X4 z( B5 cXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。1 y1 {- w4 H$ k. `4 o1 O4 b% ~
    攻击原理
    9 }' k2 l* R8 H5 P3 ]输出脚本code8 v  g: P+ u% K) ]* t* t- s/ I/ E" g
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。7 Z( m) |' [+ d
    xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    3 {' M6 F  F( E! N: A( z; G渲染机制类
    6 t/ N0 {0 I4 V# e4 \- J# |" `5 f$ u# @- c  \  N) E( o  b; p; p
    什么是DOCTYPE及作用
    1 Z3 P/ e, {$ M9 |; Y! U
    ) h/ K# ~  K. k4 Q1 [7 ^, eDTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
    / }0 ?/ o/ G! j. S1 S) n作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。, v% W) x- J4 k9 r5 Y
    DOCTYPE是用来声明文档类型和DTD规范的,1 O% A) r8 e4 ]! d7 y8 A
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    9 w. v  |" [- \0 T: NHTML5的DOCTYPE:
    7 j$ v5 n6 ~) q1 t, k
    . g4 y) G* H3 S* q# Q( N7 N' {" ]HTML4有严格模式和传统模式/ p1 U0 j1 f* q" J# u+ w

    " |6 i) t& f  i7 v3 n* X& y% U8 M浏览器渲染过程
    , r+ \6 R& D/ n; t% G6 D
    ! Y( R6 Z8 `# B一些概念' f. L- h3 U1 @  I5 n

    : R5 _$ `7 \; L2 L1 b. @" a名称        概念
    ! t6 A1 U* y1 `# h, _' hDOM Tree        浏览器将HTML解析成树形的数据结构。2 `% H: I( \+ A' Y3 V: Z
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    + y! q) A! i- {8 s* tRender Tree        DOM和CSSOM合并后生成Render Tree。" E8 e0 C2 }2 @/ z1 T$ l
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。. m# b! Y4 I/ K, f. B3 i
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。
    # t3 T) x" t2 }( W/ [1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    8 t1 h# [/ c$ C& g! r2。HTML解析器会将这个文件解析,构建成一棵DOM树
    2 _$ [" ~& G6 D' b3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器2 E- Z& Q$ X6 v, ~  g, \
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    ' ~- q0 f% F, z  D+ W( `5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树( ?+ V1 ?+ C9 H! M/ g& F
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    * b) B! ~1 Z0 \8 `7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    3 n+ E* ]' P, X: o1
    2 `* z2 p- b5 M9 R3 _( F2
    " k, X; b4 Q" `5 K( q; p3
    * w; ?- U1 ^0 o- e; Y4 Z4
    ) W" }* a6 k) F' W  Y9 I- j5
    8 k. B5 K( E7 @6
    ) C. b* u2 `3 H) D. i% X( H( \* ?7/ ?2 G9 k8 P; @' D# f0 }9 j
    重排Reflow9 ~: H( W6 |1 t4 Q( A. N0 m

    9 N: Z3 V# Y$ x/ @# F定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
    # e$ x* K" w1 k; p: z触发Reflow:: l$ I# `# P4 E  Z# Y
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint/ e# o% Q$ p3 T, D/ C( x
    当你移动DOM的位置,或是搞个动画的时候- z+ l# E( \- X5 L- }, {; ^
    当你修改CSS样式的时候
    , x  }* k: r! c% P" Y* t/ `当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候2 K) L4 T, {1 X  f0 h
    当你修改网页的默认字体时1 |" I! {8 e% Y, h
    重绘Repaint
    - u  F$ m% C. A: p. u8 R% ^3 P6 @3 ?# @7 @/ ]
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。8 M$ M/ \( z/ V6 ~% e, \
    1 @( y! R9 u2 |3 {
    触发Repaint:. T3 c& H5 }. S. D

      u: l- d& K% R7 N* E  r9 u2 YDOM改动
    6 |4 ^0 b2 e# U2 i% y4 f/ UCSS改动% t7 q& h- {- n) U1 m6 i8 ]
    ————————————————
    . ~3 _4 {7 y/ E0 i版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 y' c4 D% Y: P; u* b/ \
    原文链接:https://blog.csdn.net/u012015672/article/details/105931291
    * b5 _4 ]: p$ }
      J% D- Y4 O% O; H/ j- Y4 `$ T0 w5 i& z/ j7 M. J% q& i* I
    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-8-4 13:39 , Processed in 1.639957 second(s), 51 queries .

    回顶部