QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1976|回复: 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 知识点(未完)4 ], o4 S& \5 n, G: l) _

    1 D! j+ o, w, b- ^4 B1 XHTML 知识点
    : P5 P, N( G  E/ X! n: E4 N$ m9 n( j; l6 k% I( B" B+ i7 J$ A
    三列布局- (高度已知,左右宽度固定,中间自适应)
    $ V2 ]8 `" \; o) A  y) d* `/ R( I# e3 W! H; M  d& ~5 [2 _4 d
    布局方案        优点        缺点& \. J. k' |3 y
    浮动        兼容性好        脱离文档流,需清除浮动
    : ^; J5 z& u, B/ |: R1 Z* y, ]6 M1 k绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。0 ^7 T3 p5 ?) |2 V/ p% v
    flex布局        目前是比较完美的方案。        只兼容到ie9。
    # [# @) U, G3 Y表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。0 {; ^! ]7 h- g) p2 j: m) x
    网格布局        新技术,代码量少       
    7 Z/ o5 V5 N3 }% H' M  }3 Z4 O3 s<!-- 网格布局 -->
    7 x! {- O- e, M/ S/ _! D9 }$ c! _<body>
    + E% _4 G) ^* R3 |7 h6 Q    <section class="layout grid"> % Q1 a/ ^. e8 E, f0 h& M9 X! _$ c
            <style media="screen">+ o0 S2 R* T. [& `3 D* v% j4 l
                .layout.grid .left-right-center{
    ) [+ s$ Y9 ]( i+ j                display: grid;9 \% k8 S+ p0 r, a5 g1 v  [7 Z
                    width: 100%;  s8 h! u$ k, Y
                    grid-template-rows: 100px; // 设置行高4 G6 ^6 Y: h- E+ R  v8 |) [
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度) f" q% u3 I. o" W' d' H. m& a0 w3 T
    ! h2 I  k7 ?- l: \; T1 C
            </style>! n  X4 I# l6 b* n7 h( \
                <article class="left-right-center">+ N6 i7 D' ^  B4 v8 g
                <div class="left"></div># l& `) G- W$ l0 S8 J
                <div class="center"></div>
    7 Y4 w% }. w0 H  l& H$ C: e4 M            <div class="right"></div>; Q7 j! X' M4 Q2 L; \3 J8 V
            </article>
    9 j) ]' L# a* V0 n* D    </section>! Y4 C$ G$ z1 |: R- @' u& Q7 K
    </body>
    * X2 D+ {/ V- z) V7 k7 _1 o' U+ }2 E6 o0 o
    css盒模型
    / A3 O  r; S" _' _: @3 A% }' l! W5 \; G6 w  B
    CSS盒模型的认识* x2 A% ]& k& M; z
    4 E9 z" o0 d5 n) [0 L! k4 L2 D! n
    css属性: content padding border margin" T( _. I& p  e: `0 ~' g* i

    $ a0 A0 U7 D0 b& l两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    4 a; @! v9 R  E- c; c5 F: ]9 |8 x8 {
    两种模型的区别:计算高度和宽度的不同
    * \1 _; ?  [9 ]* e8 X
      }# ^0 G$ _1 u5 e两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
      J9 B! t$ p, k' F; M* v' w5 {/ H1 l+ u7 i
    JS如何设置获取盒模型对应的宽和高
    : j' x9 k$ V+ s) ^# m& w  Y4 x: V2 |4 D4 z( ~
    获取方式        优缺点+ O5 D8 X2 |/ @# S: ]( y) _( I0 y8 L
    dom.style.width/height        只能获取内联样式设置的宽和高
    5 Q/ o2 M" A9 T0 xdom.current style.width        获取浏览器渲染后的宽和高,只支持ie
    # {4 A( X2 i4 r3 b0 Z7 q! h! Dwindow.getcomputedstyle(dom).width        兼容性更好% r2 U; n  ^$ z
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置2 S% b0 U* w8 l$ K4 c4 S6 ~
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    . a- c3 J2 h. V$ _  {
    1 d3 N/ q+ Q$ T+ K5 }6 c. ]块级元素包含了子块级元素,子元素是100像素! U, n4 o/ i% t$ h3 r, G1 @! I
    子元素与父元素上边距是10像素/ I" |& `! G2 k4 F, {2 x  U) g
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)8 j: k7 U! ~% q+ T3 I: y9 c* O5 z
    另一种兄弟块级元素-
    # q3 \% k( ^0 r! Q4 F8 ?; E
    & p+ L6 K$ b0 K) s& m; H4 ?/ n挨着每个都有上边距或每个都有下边距。-: m7 b+ q* F* f2 E' ]
    该重叠的原则就是取最大值
    2 E2 \! @8 k- n  r7 `4 b空元素的边距-取margin-top和margin-bottom的最大值
    * O  `0 v+ L4 e# a' D解决方案:$ l- u% q; s+ U+ z
    & [  ~7 ]) f2 J2 E' h: ~  \/ l6 y+ L
    父元素创建成一个BFC (无论父子,兄弟情况)
    3 p& F: \! O* j& p9 X
    * l$ q: a. d5 \% K+ O4. BFC (边距重叠解决方案)
    7 }6 v  P! u' Q( Z0 m
    % B3 D& q' A) b. p/ _BFC(边距重叠解决方案)4 q) J4 U( A' d* c) g! ?2 y' H$ `
    ' {; o, N- [$ ?3 _
    1、BFC的基本概念: 块级格式化上下文;
    - p$ w: J1 O7 n4 f* Q' |
    0 u5 L# r0 j# T$ ]+ Q* t( W" Q2、BFC的原理:BFC的渲染规则。# R( a  ~+ @* L) k

    ( j" S4 e9 I& |6 b% W2 ?①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    / m- Z. r; E( p$ J8 e* H, W! w9 {- c  g6 U3 A- u& g. ^9 z
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
    7 ?6 p' @1 s6 i4 k" b  X* b- P5 {: u  x# q1 g. A
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    ) s, {, _) \# I, M8 l8 w4 b) t2 b
    ④:计算BFC高度时,浮动元素也会参与计算
    ( n5 ]0 T. J# O+ _2 a5 w0 v0 N* M$ P  V
    3、如何创建BFC
    / S% b! Q2 D" q0 B7 ^* ?
      Y& d8 a) \5 |/ T①:float不为none。* v0 t5 z" c$ U& l3 ?* K3 |  y

    : [. m4 T0 q+ \' U: y- r②:position不为static或者relative。
    7 @: C/ Z2 ]! ^2 }" a% o5 _+ P, j5 {0 l
    ③:display为inline-block或者是table相关的。3 s. T0 r1 X' H2 U9 |

    + z/ Z6 O& U" \. q④:overflow不为visible。
    ! D/ r# s. z" o1 |$ N* z. B& \) ?; N6 S7 A- h+ I* n( c- \
    ⑤ : body 根元素% [6 B: ~; Y0 D* u3 f* Z) d
    2 y4 {" {+ j2 U9 L0 s0 L; ^
    应用场景:
    - J: b' y( P2 t9 E3 T左右布局时,float
    / n. O$ F& E2 z8 R" A2 b相邻div使用margin产生边距重叠3 U2 [* j. V9 ]: a7 d7 `  L
    dom事件
    * ^' q' @: K# n2 Z( t7 p4 S) Q$ q" _0 s8 n( @3 K# d4 N5 S; N0 m
    基本概念: DOM事件的级别/ k/ r: T) e  A+ g

    7 _% t* h1 B6 ~! j1 B) aDOM0: element.οnclick=function()
      c: q, K8 \* U# k- f$ Q( o8 L
    6 n8 L' O- \. R" F2 K* kDOM2: element.addEventListener(‘click’, function(){}, false)
    - ?. p$ Z  q4 }7 s2 [. X
    . }- ~# C: J: W, vDOM3: element.addEventListener(‘keyup’, function(){}, false)9 x2 K6 `. t; [+ h& U

    ! o- ~2 |2 R" D) M( K+ l0 @2 o% fDOM事件模型% z/ e# Y: m$ @" y5 T. k) X

    . b# r9 m1 ~. n- Y. \( \9 Kevent.target 2. event.currentTarget
    # c* }8 M1 c! _8 L' t/ C4 J6 Cevent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素2 E# n) q" I, p. y
    DOM事件流
    # d5 F1 H; i- c  t, y: L! h0 Y0 x+ j3 p( n2 b5 p+ |# S8 o
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    9 m$ \% o& F  R7 Z描述DOM事件捕获的具体流程" N2 M' z' }% d* D3 V4 ^
    ! C3 d, ]& A( l! U
    window 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    # Z) k/ M7 f8 t' w' }" sEvent对象的常见应用9 B- l4 Y9 a0 i6 p8 m: P

    / Y- {% k: v" X9 Ne.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    ( p" J5 g% v: B" e8 [自定义事件
    ! \: G& Y# u% d# M1 G: q' t7 g+ b1 p/ h: l5 j
    var eve = new Event('custome');
    8 O. v3 g0 l/ Z' Y' y! xev.addEventListener('custome', function() {
    ; W5 j6 V& n, y/ W) G7 `# m9 Q    console.log('custome');- ?. i* E: }2 g* n2 Z" N; \; U
    });! x; M/ O) |( Q/ W
    ev.dispatchEvent(eve);
    & P' a0 N- J5 N: l, g1
    ) v, ~, [/ U& [" b2
    % |0 T: D3 |0 z" g3
    ; G8 T" t% q/ ]: O48 O& A! u  n0 E2 x3 |, \# l
    5, T  f$ @" J% f+ ]3 B
    http协议) m; H) g! x! `/ Z2 d
    . t. p- [* r6 V" {  C
    HTTP协议的主要特点
    ; z( }  C7 x" }9 f: m4 ]
      ?6 s* r' Z3 c6 `' c: ]. b简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    ; E9 b5 O1 f; H( ?1 `) G. z2 @0 ]& x$ V9 k) Q7 P4 ]+ o
    无连接(连接一次就断掉)
      I* r& k; Y7 ^9 v1 }% d无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。6 v3 Q: P# m2 |
    无状态(两次连接身份)
    $ `# v* H: j/ z- @7 b是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传' _- a4 |3 r2 O: {& w
    HTTP报文的组成部分
    $ a- N. }/ L0 y; q, y
    3 y$ X+ l' [- {8 p( y请求报文
    ! y9 G- S% ^4 c1 z  N
    / q* f% l6 s& |; J请求行 请求头 空行 请求体# {4 p  t2 t! y7 b4 t' p: b7 a( p
    - ^( _8 \. f# p+ e8 Q" f+ I
    响应报文
    ! ^) _1 G, I  c
    , Z$ x1 c6 o0 M7 y4 [状态行 响应头 空行 响应体; ~7 R1 f: k) D6 F& G0 i: @! N

    7 l2 p- m2 I5 G, r& }. [HTTP方法. T, E7 W- O& d$ ]
    0 Y2 Y) N# ?7 w8 e7 t* ~
    方法名        方法作用        注意
    $ t9 K- [1 Y( d% qGET        获取资源        ) t- R0 ~2 V/ N% w
    POST        传输资源       
    3 o# y3 E; }$ v0 b6 yPUT        更新资源       
    7 Z8 r3 w, {. h2 @DELETE        删除资源        0 f$ F" C" y2 N  R* V  p6 H+ p  z
    HEAD        获得报文首部       
    ) k% v4 o( ]! NPOST和GET的区别
    . ^' R. i$ i" J# R5 U9 K+ N& v; _9 G  p
    " q( r8 r. j2 u6 m) ~% zget        post8 J" e: J* G2 x- @
    在浏览器回退时是无害的        会再次提交请求' s  N- b1 X" y! n. f3 D
    产生的URL地址可以被收藏        post不可以; H% z+ e. |$ S# J
    请求会被浏览器主动缓存        不会,除非手动设置
    5 A1 G; i  `. D* Q只能进行url编码        支持多种编码方式# {/ m7 S; }/ {' g' G& f5 a
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留$ i8 k* d! o& N; }
    请求在URL中传送的参数是有长度限制的        没有限制
    - W  {+ t' ~2 d对参数的数据类型,get只接受ASCII字符        没有限制
    + L: [  B& X5 @- J8 P3 g  t更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    . W( O9 e, ]* }1 G$ D% l" l参数通过URL传递        放在Request body中+ ]& V, r- l) {5 s
    HTTP状态码
    , C* J) u, h. E$ [; x
    " h! n/ R' S! o/ T9 V7 d状态码        意义
    / ?2 _# a6 d! G6 w, ?% [1xx        指示信息 - 表示请求已接收,继续处理。
    & p  c% F4 U$ @9 @0 v/ h5 ]2xx        成功 - 表示请求已被成功接收。0 T8 Z  r' Q% l: s# n
    3xx        重定向 - 要完成请求必须进行更进一步的操作。
    9 _" K+ D3 k5 c: _4xx        客户端错误 - 请求有语法错误或请求无法实现。
    6 Q1 c6 w0 C+ v5xx        服务器错误 - 服务器未能实现合法的请求。
    " ]- y8 P* \/ z状态码        意义
    ! p8 ?4 d$ W* `2 m200 OK        客户端请求成功" ?  W1 s7 o$ O* |+ H/ q
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它" x5 y5 ~) `! _5 C+ Z/ b
    301 Moved Permanently        所请求的页面已经转移至新的url$ `" S% `% U* u! R" P* `: A" t
    302 Found        所请求的也么已经临时转移至新的url
    4 m; ~- w8 s- u6 Q( Q' c8 h9 t304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    ! r9 p% y6 s5 L: a; M% Y2 {9 K400 Bad Request        客户端请求有语法错误,不能被服务器所理解
    3 ^) ~2 g  R% s1 }$ \+ D401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用) h. i7 R; O/ i# t( r: }- X
    403 Forbidden        对被请求页面的访问被禁止
    ; v' I. T& [& F8 \" c. e404 Not Found        请求资源不存在8 K3 ~6 {  l9 f  L& ?( l$ b
    500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用
    ) u8 P3 R( R* t, M* B503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常+ P4 t0 f8 c) L4 w& D, I2 J
    什么是持久连接
    ( w9 ]- {' R' H. m  \0 b7 E# i
    $ \! ]5 L7 l$ HHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)" _8 [: y5 O+ U  j! c! _
    6 n: |2 R, D' {
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    ! f3 k5 |: G+ o, ^: j8 p& h
    " G5 R3 b- W. }, Z* s. Y4 x! O使用了持久连接1 y  E5 P6 }* m( O4 l
    7 C4 J0 @- V% x9 k* B; q* U
    请求1->响应1->请求2->响应2->请求3->响应3: i5 d% f  ^& y, J+ d" S* P2 T

    ( Q; d" g/ k* ?' I! D9 o变成了/ E7 D7 D2 l! C5 g

    8 T8 ~, X- V  g) m# A: i- p请求1->请求2->请求3->响应1->响应2->响应3
    / S5 ?+ K2 L" p" U0 w" g
    & P9 m$ O% M4 @8 z: y; d+ _1 L什么是管线化
    ; |9 P/ a) m! A( e% j' j! v- ~0 z9 c
    : p  ~( r  f+ }- _管线化通过持久连接完成,仅http/1.1 支持此技术
    5 a: v5 a  S& X, y只有get和head请求可以进行管线化,而post则有所限制
    7 o6 [# M$ \1 [初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议  `1 q* l- R* Z; }) y. E- K9 a4 W7 q5 A
    / z4 M' k' T9 q, {  c+ f' R- K4 z8 @
    安全6 t7 l; T# @8 k" B: T0 }# S' ~- ]

    2 n  D3 J* U% d$ G8 V' X/ YCSRF; |( e# r5 p& k4 x5 r2 }, p
    基本概念和缩写
    1 I# d' Z1 P5 ]CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    & H4 `) v/ Q. `4 y5 d攻击原理% b6 j( ?' k% D( }4 |) u: ?" x0 X8 t8 F
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。  R& G, A8 `& p# K5 t' _7 K0 |
    这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。  X) g7 _/ C8 {  Y8 r& m
    XSS4 n/ c7 z; e- |7 A
    基本概念和缩写
    0 Z2 W" `9 o1 {XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。1 @& A6 Z  D  K$ x. Z: f
    攻击原理6 T. V- [* P) Z$ s! l, V
    输出脚本code; q+ J" @. R# [2 J
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
      w# m7 `. a8 a( M5 w% ^xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    " W4 v9 P* s4 [7 y. o  l渲染机制类& \. y; m7 b) [! l' J
    ( @, E" l/ g6 e
    什么是DOCTYPE及作用$ I* W5 W/ ]/ q7 d) B- M
    * H3 {" }0 l* r/ f* e$ F
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。" R- b/ Y8 l6 ?% }& V" p9 N7 P6 p1 E
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。2 G9 s( n- M" I- y% o% [% g2 i8 @
    DOCTYPE是用来声明文档类型和DTD规范的,
    * ~. s$ c+ E# v作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    + L- b# W, J) h* h: C/ K: t, THTML5的DOCTYPE:4 X" W: j& |- o8 Q& \$ V/ M

    : \9 Z# D$ B7 EHTML4有严格模式和传统模式
    2 R: s  c% w! H2 U
    " I2 U1 M) R! I- v浏览器渲染过程; C3 `8 @7 I& z1 Q) R

    $ T6 Y9 E, L; _% a' w2 r. ?) e: A一些概念7 S7 ]1 d$ K9 Y; P1 `; O/ l

      Y3 O8 J: e$ `! u名称        概念
    1 u8 r; j0 q( ?1 ?% S  N9 [- F5 D& SDOM Tree        浏览器将HTML解析成树形的数据结构。1 S7 K# X! ?+ g6 y
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。# Y1 y! `( M# O1 [
    Render Tree        DOM和CSSOM合并后生成Render Tree。
    7 L6 W7 T3 F1 ~& A; J7 ?# nlayout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。( Z8 N+ @0 u6 o8 e/ Z/ G' I: W* {
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。
    ( ^2 l% W8 ^# q1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    & h! }, r! ?& r" E' t; Q2。HTML解析器会将这个文件解析,构建成一棵DOM树
    5 Q. ~- r0 j% k! R3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器2 M/ q$ ?8 q6 q4 c9 J  ]
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成8 s& X. H- Y. N' X, C4 n" _
    5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树# R) W0 _* \- o% h/ ^# N
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    6 N4 Y1 b$ R- M) ?6 N9 U2 j5 u7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    ; f+ k* H% q' r, L0 a1
    : J+ Y4 l0 _6 J9 Z; t2
    3 F) G- W, u) T3 ~# z, w3
    , x. l  Y, Z( U8 v9 e4
    7 i5 D" X+ Y& i: T: X. N5
    . K  W1 S; m: K# c6
    6 A7 F( T. x9 W) z9 G8 _! F75 r' Q) M# u4 A
    重排Reflow
    9 ^, a# G  K( M+ f$ j0 u% L# n* A6 d# `& W5 `" q. _
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。" a/ H$ c1 R4 O  ^8 f
    触发Reflow:
    5 D& H, d8 f% |  }当你增加、删除、修改dom节点时,会导致Reflow或Repaint: g4 h6 j6 n; Q4 d# N
    当你移动DOM的位置,或是搞个动画的时候
    9 f! T: v# g9 Q) ^  Z/ Q, @4 e2 z当你修改CSS样式的时候- H8 Q1 q1 g# c0 j% H& F
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候0 R1 E) L( r3 E1 ?; W/ u
    当你修改网页的默认字体时
    8 p( l" c/ m3 Y- L重绘Repaint5 E% W* O& x5 u6 r; f
    2 w6 D3 {' G) W0 M" R4 W  p
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。) Y3 L( D6 k5 y% ]

    : q: L" G  s9 \- p" B触发Repaint:
    6 A. L4 s0 c+ j0 w4 h2 c$ f
    6 M" q  A% x& s9 \3 sDOM改动
    7 r8 C9 S& `9 j2 C; C$ R. ~CSS改动
    0 M" b% q( j. V————————————————
    ' R# A* P# `% V# z, {0 d. n版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    : K  n( l$ `: g6 L7 g! q原文链接:https://blog.csdn.net/u012015672/article/details/105931291; Y# _0 J/ _, ^- y8 |/ |' |: f

    4 w4 `0 J+ X$ Z
    3 {; y6 e% j' [
    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-17 23:24 , Processed in 0.393261 second(s), 50 queries .

    回顶部