QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2237|回复: 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 知识点(未完)
    # o$ F0 `  o- R9 `
    # v6 L4 E! L" |HTML 知识点
    1 l3 D/ m7 b# o1 S2 X" W$ q/ }
    9 I) ]& {. [/ d. a3 p& K, |8 V三列布局- (高度已知,左右宽度固定,中间自适应)7 Q. ~% K: I7 o3 Q

    / y/ v$ V/ z: t" p2 ^! w布局方案        优点        缺点
    - S! b1 ?7 K/ L4 c7 U浮动        兼容性好        脱离文档流,需清除浮动
    * g1 K5 X. m" m* v. M: l绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。
    - l, T" W6 q, ~% Z1 n4 {flex布局        目前是比较完美的方案。        只兼容到ie9。# q- L- R" o  M
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。
    $ W& l1 a( e  u% z8 q* w网格布局        新技术,代码量少       
    ( r7 N' A. B$ d6 l! v7 n* W<!-- 网格布局 -->
    8 O/ g5 ^; C1 {0 t. K& p5 x6 {<body>
    : Q6 R% ^7 W7 L- r    <section class="layout grid">
    ' Y( h: K2 @7 \! l        <style media="screen">2 A6 [3 `( W, X! e$ p7 X3 o
                .layout.grid .left-right-center{5 a( I4 b5 C4 C1 L
                    display: grid;) a7 |  _' e% p8 Q1 b1 ]
                    width: 100%;
    % v' R4 o0 e& O# {$ N8 ~) \                grid-template-rows: 100px; // 设置行高# S9 f& I& ]2 |3 L
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度
    - w5 G: W# d! W3 @3 C  ~
    9 H  }% q1 s" |! E8 u        </style>+ e# F1 Z0 g! r8 ]! X5 j
                <article class="left-right-center">
    * P/ G# k2 G5 j$ w$ k! X) f            <div class="left"></div>1 F% m8 C; A8 [
                <div class="center"></div>
    ! a" h/ A$ j' g. G: n% v9 w! E            <div class="right"></div>3 i2 s9 T* q4 b- K, h
            </article>- K( G6 J+ S0 V4 a7 B
        </section>. ]1 o/ j) b6 e, F6 V
    </body>
    * L) Q0 p* N& K( V% C7 p4 e/ [; T4 \( H
    css盒模型
    ) A8 M/ [: ~% q& E1 z
    " K5 Q, U0 o& u. UCSS盒模型的认识
    / b7 N0 ?  Y5 K/ B& Y( D
    8 o  ~! q% x8 l# a, @* \css属性: content padding border margin
    9 R, y; n  m1 V3 B6 \& {/ ]0 t8 f+ q, n$ {! M
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    - K( W5 u9 E: m! e' i. [' V- W
    * q6 \" L8 {2 `8 R# ]) V两种模型的区别:计算高度和宽度的不同
    % I- f' `" I9 |% c  l9 K
    * O" r6 Z! w, B) i两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    ) S1 H: I6 o7 ~5 r
    5 `0 u) N" d0 C7 ]2 K! aJS如何设置获取盒模型对应的宽和高
    * o$ q* `# O5 @4 O) F6 Y/ g% X) l2 k: s- y& P4 `) z
    获取方式        优缺点+ I5 g; X. \+ n5 D! i
    dom.style.width/height        只能获取内联样式设置的宽和高
    7 i5 m, s0 t) O) s& Mdom.current style.width        获取浏览器渲染后的宽和高,只支持ie5 A1 W5 J, ?, w0 N- \( d: ]
    window.getcomputedstyle(dom).width        兼容性更好2 Z( `. u8 a  V, Q( B; f9 c6 Q- L
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置& z' e0 F9 J4 E% l! Y7 l$ X
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    / L% d: {2 h( ?  h  `; w( |
    8 R% r( v! v4 r) ?9 @: Y块级元素包含了子块级元素,子元素是100像素
      S) {8 G: E6 k7 s0 C: o+ P子元素与父元素上边距是10像素- u. ?+ n" f% |" m
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)" o3 ]0 X& f' F( ^
    另一种兄弟块级元素-1 r3 m2 T( O& S* V3 E5 t

      X1 x- `+ d* C9 j挨着每个都有上边距或每个都有下边距。-
    - R* [" Z) ^( R' x该重叠的原则就是取最大值; e* k' i+ x; m% z; f
    空元素的边距-取margin-top和margin-bottom的最大值
    ! Y  y9 g; l0 d& {8 M: d& L解决方案:
    : I8 D/ @* u/ `5 S
    % Q- \; p" _+ \; Q4 }父元素创建成一个BFC (无论父子,兄弟情况)
      n; I) U- g5 Z8 X8 \: {
    ' y1 i5 T+ C' p/ {1 l* `8 S4. BFC (边距重叠解决方案)
    ; N5 n+ U  }0 W, w7 R/ i. Y7 N
    6 _0 u" u; S% g: _# S0 \BFC(边距重叠解决方案)9 b& M2 o' H8 f% Q! r
    : q' ^6 z9 \$ q4 [- \
    1、BFC的基本概念: 块级格式化上下文;6 b( s5 v9 ]9 Q# [) o

    6 c4 f) e) L. I0 ^% ~2、BFC的原理:BFC的渲染规则。
    3 A" ~0 x$ J, P1 T9 z* e' @6 m5 H6 B6 V/ |' }
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    0 e$ s) T7 I1 Y3 f) b1 U1 ~% v( c  [9 U/ B' H
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
    # ^5 K5 d% `  a" W1 f" j# Z
    ) A0 g9 i6 _3 S% ?4 ~- b9 z! U③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    $ K# J1 y3 x, X- y+ i1 Q
      K0 f8 p( ~! v: c$ B3 t④:计算BFC高度时,浮动元素也会参与计算7 p' g7 s0 G4 R- _8 n
    : q) c: d% ^) n( x) L
    3、如何创建BFC# d- v5 ~  @# Z) f5 R. `
    - w7 O5 S6 m3 c) m' d
    ①:float不为none。; S; J- O; {- h
    : @9 ]* C1 n$ o  f2 |
    ②:position不为static或者relative。
    ' G( E! Y. y5 U% L/ M0 f
    4 f2 f9 _$ l7 A) R$ \+ ]③:display为inline-block或者是table相关的。  |. U4 C4 X! V

    , X, y4 \3 }4 D! v5 J5 |④:overflow不为visible。
    " W; H) v- U# d  x0 w# V
    " G; ?( ~$ J$ R* I, a⑤ : body 根元素
      G$ l3 q0 @! _3 j) Q
    ! D' O: C. K+ h/ A8 M1 Q5 i) g应用场景:
    7 c, V# Y7 H" l; ~  g左右布局时,float 5 C' w) L! u5 _2 [1 g( l
    相邻div使用margin产生边距重叠
    " O6 Y1 {& ?# G. {5 @# r6 I& `8 B- zdom事件" l9 A" g1 s* Z2 z" z

    1 n; S& u' Y  M1 w4 R# B基本概念: DOM事件的级别6 w0 ?7 r$ t4 L6 x0 h% }" M

    & X9 Z9 ]1 ~9 n% r$ I0 N5 UDOM0: element.οnclick=function()
    : W+ s% L3 q! }( m
    ( S$ A- P; [2 \) h, cDOM2: element.addEventListener(‘click’, function(){}, false)
      R; j# j$ y7 P0 @' k+ q+ j" v; a: I7 U, s( ?8 W7 u7 p1 o
    DOM3: element.addEventListener(‘keyup’, function(){}, false)( v) b) f5 I' q' a4 J; q) B5 h6 j
    % L- f- O  q7 O  F) }
    DOM事件模型
    0 \( h+ N* v  c/ F, q' t* R+ x3 [8 w4 P& f  u/ B  n( N6 e
    event.target 2. event.currentTarget5 [) g( R4 Q* w4 c7 x$ R' t  V
    event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素+ [) N3 L2 H% a. V% w$ ^# y
    DOM事件流
    3 H3 k1 G- W$ d+ [
    9 g5 B# z" ]* Q5 Q事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    : `0 k: p9 V2 h: p9 h# Q0 c8 V, n描述DOM事件捕获的具体流程
    1 K! Y4 l/ m# w. Y( P' u  a' B* a
    + q- k9 M: q! E0 \. G, Iwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素, ]! u% u7 q6 s% l* E8 |. U$ N
    Event对象的常见应用8 L$ m" P4 S& v
    ( `* w0 D; ?$ s
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target(); V8 J7 ^( o# ]) o; r+ g; G
    自定义事件! L7 A, B9 Y) C0 r, `! H$ B9 r) p
    ! u7 ?1 J9 S4 r% u" H6 [) K
    var eve = new Event('custome');
    5 u! W4 i2 `4 N4 T3 \- U/ g0 y9 rev.addEventListener('custome', function() {6 r$ ^! W5 V5 e
        console.log('custome');- O7 z1 S) O" x4 c: n8 I
    });- l9 w/ Q( Q5 r0 V$ Y4 G
    ev.dispatchEvent(eve);
    + c" B! n; y/ C2 H! ^' g( C( [1
    " ]7 k0 n) V: v% d9 N2
    * H& i( Q3 S( b3
    ( Z7 {, u; l  C. t4
    0 L$ e: s; q' _8 M; u6 z: n5
    & Q5 [& w% E3 q0 W& Lhttp协议% R  I+ S0 o7 O0 O% j. N. x7 ]
      S6 V  B, v, I% P- Z  e2 i9 E' @6 e
    HTTP协议的主要特点
    8 P% B# o( l3 K* \) t. _  K0 j+ S# E8 q; f+ F
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、4 s! W- O9 j- |% G. ^( q. v

    0 H1 B: O1 h- D1 t- w, ]  B( {( {. z! g无连接(连接一次就断掉)
    2 W" r, M* ?/ Y- I/ r8 M/ x" _无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。& a2 t. |! J# {5 M. }" `5 E6 k
    无状态(两次连接身份)
    0 Y% F) A( S! V: E+ p是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传( I- z- F# @; ^+ j) _' |
    HTTP报文的组成部分
    4 J0 c# X7 Z( E. o/ z: I3 @* ?$ O9 U0 n/ _  s6 T$ K& C
    请求报文
    ) ^) j1 L1 w/ V8 p5 Q" X3 o0 h* o" B/ ^3 i8 K: ?: ~
    请求行 请求头 空行 请求体9 ?( \* ~, w# e7 x- k! |: z
    0 F) m+ ?. \, u5 D  P5 d3 Y$ j
    响应报文0 L8 n2 f4 g  K5 ?  [6 k

    7 m6 e- m; D1 h0 t. R  l状态行 响应头 空行 响应体4 a6 F* B5 y$ R8 Z6 G6 f
    3 b9 P" L% L+ C: Q& f1 t: H" h7 a
    HTTP方法' z" c) y. Y1 a2 w1 |5 C0 g- q3 |

    3 F8 J$ z& L* K- b方法名        方法作用        注意% f; ?1 D  t( D, k/ p* P
    GET        获取资源        - ^8 l  D9 L. E; q' \
    POST        传输资源       
    9 m9 W5 o" l  m9 ?8 c# H" B" sPUT        更新资源       
    7 F4 z- N+ `& i: m: uDELETE        删除资源        ( f' v* \2 v6 o1 U) |& x( @2 A
    HEAD        获得报文首部        % m8 J( \" O( G! f7 L8 u5 h4 R
    POST和GET的区别
    $ C+ }- _2 f& `# |* y- Q) d" E: [( L1 Z  i: ], b2 s; t# J
    get        post
    3 a- \. h4 V" `在浏览器回退时是无害的        会再次提交请求$ d! \/ d) o) h) T" r9 e
    产生的URL地址可以被收藏        post不可以
    & c+ j" u, m' k1 ]% a7 w1 K# f" E请求会被浏览器主动缓存        不会,除非手动设置
    / T0 h* q. s% X+ _7 d) H8 x只能进行url编码        支持多种编码方式
    % c6 U& l1 r; q" y请求参数会被完整保留在浏览器历史记录里        参数不会被保留
      I4 P, z6 U. ~' m" l请求在URL中传送的参数是有长度限制的        没有限制9 k" _- [' f1 Y, d5 i0 ?/ i
    对参数的数据类型,get只接受ASCII字符        没有限制5 B) d. Q9 F& E% c" n9 p- F
    更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露1 p- C4 A0 Z7 ^* g7 J& W
    参数通过URL传递        放在Request body中
    ! ?  Y+ B8 Z7 g6 [5 k6 ~' F6 xHTTP状态码0 ^9 c* \. y/ r  G6 `4 o) i1 \
    3 _6 y: |" x1 q
    状态码        意义1 u$ A' C4 T2 c# O8 V
    1xx        指示信息 - 表示请求已接收,继续处理。
    ( W8 w) U# Z2 u) I6 q' ~2xx        成功 - 表示请求已被成功接收。
    ! O0 S4 c7 T/ B" M' @3xx        重定向 - 要完成请求必须进行更进一步的操作。+ Q; F& l/ M: @/ P4 A
    4xx        客户端错误 - 请求有语法错误或请求无法实现。+ t) G* j4 C& J8 f0 |: N) a
    5xx        服务器错误 - 服务器未能实现合法的请求。
    1 _+ L) \9 r; D- f7 v2 H4 t5 o状态码        意义* y4 Y  y- H; _9 M0 A; P* d1 h# F
    200 OK        客户端请求成功8 l4 ~9 Q/ h' ?: l5 R7 Z, G4 `5 x
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    " d% p* w4 F( o3 F) G301 Moved Permanently        所请求的页面已经转移至新的url6 M  J" K4 ?$ U# Z2 v) {
    302 Found        所请求的也么已经临时转移至新的url1 M* @  f6 g; t
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用9 H# b- i5 g0 S* o2 Z" W
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解5 W- r" C+ \) G- s+ s7 ~7 A
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用0 F/ b) t( @9 E2 r  t
    403 Forbidden        对被请求页面的访问被禁止1 w) q1 b* A% H0 z9 c0 ]
    404 Not Found        请求资源不存在
    ! i- e: i* k/ m1 h: {6 b500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用, o/ P" v; z( I: h+ K# D" ]0 P
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    0 i' \- @3 H  p4 k什么是持久连接6 H0 i+ @* x7 B# C" a* B/ D
    % e6 \9 A5 u% `1 \$ W, d
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    $ E% B9 o/ C; S, A) @' {4 r4 D0 y7 b# H( G. M' g  T; B
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    , m7 E4 a+ p: H* s* m( u7 V& o/ h3 \) K4 i: T9 }
    使用了持久连接) q- W3 ^! T! D
    3 c( n* s4 k! e& S+ f
    请求1->响应1->请求2->响应2->请求3->响应3
    1 C. k* _7 {) g5 j
    - x, q6 v2 w2 ~( X6 x7 h/ C( X* x变成了* d4 F% _5 k) n  V  j2 x, \' c9 b
    7 P% a+ P, D# R3 o9 `1 c
    请求1->请求2->请求3->响应1->响应2->响应3
    0 o: ]* I6 ?( x
    # @7 S1 X- J9 ~3 X什么是管线化2 s/ h% H1 ]6 e6 A) G
    ' V- g* \( |% s( D5 K4 h) n
    管线化通过持久连接完成,仅http/1.1 支持此技术
    6 e' w/ N) }) S  ?4 x只有get和head请求可以进行管线化,而post则有所限制
    - y6 K+ U# Y' M0 B: O初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    * ^& @: @0 \" S2 i, ^6 Y: K3 \( S0 d6 Q: K" L
    安全+ u% [" o' a1 T3 c2 @

    4 l/ k$ H: `9 d0 Z0 p  WCSRF0 ^" V/ o) M( c: @/ Z" d
    基本概念和缩写
    2 @! R5 A9 H) I* k6 ?+ L  y& U! B4 [# UCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    / c+ x5 ?3 p! R6 [' _攻击原理0 \- L- X4 h" z1 l) K5 c9 C9 P8 h
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    8 M2 Q5 r$ w( Z2 q- W  h这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
    ' m: m! @1 h2 p8 i0 AXSS
    8 D8 B& O: v& w, b基本概念和缩写. p" Q- Y& r; t! G4 W/ k
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。) v. E/ Z' j% L' d
    攻击原理
    / p% h7 r/ E/ f# [输出脚本code
    5 V% P8 E( ?/ r: g. B  W跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    % K# M1 Q1 J; A# u  u4 oxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。, [8 P) W1 W! f
    渲染机制类
    & G+ z7 Y+ W! H0 y& U; g) I0 `) N" ]; z; A3 s
    什么是DOCTYPE及作用
    7 U) y- `7 z) f
    5 S# M7 [' q1 K; fDTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。0 {+ _* z4 {$ _& |
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。1 V. l2 x% k" W  f+ B
    DOCTYPE是用来声明文档类型和DTD规范的,. C- l0 }" l; v) ?7 ~# @  D
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    + M6 c. b& g. w7 e- b, f- \HTML5的DOCTYPE:
    6 R8 J8 A( ]+ Z# j1 ?5 v5 S
    * D1 }' n9 |# {/ V6 V0 A6 ?* `HTML4有严格模式和传统模式1 w' F; y0 k  O4 Z( ?

    % L% V, d2 `3 E& w( C) F: g浏览器渲染过程
    / N, m6 T& o2 f* E  Q" V7 S0 Y1 I) a# T  k! Q
    一些概念
    2 C  o( s% F* s! e: [2 s/ M" O+ u) ~9 o& j& l
    名称        概念5 `9 p* ^1 |# Y: L
    DOM Tree        浏览器将HTML解析成树形的数据结构。
    / R7 Z5 H; I! H9 m3 e  kCSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    9 e- Y+ [5 ]+ d8 F& SRender Tree        DOM和CSSOM合并后生成Render Tree。5 E" h2 l& E9 b, B& M
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
    ! @0 T" y# \3 ~( a$ qpainting        按照算出来的规则,通过显卡,把内容画到屏幕上。1 n( p* R: e. V3 ?; @+ h% X
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    " G/ _7 X0 q" A: I6 J3 o9 O; f- G2。HTML解析器会将这个文件解析,构建成一棵DOM树4 Q& ]6 ?+ g0 k7 T  |/ z  f
    3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
    . O0 T3 H8 `- o) t* ^4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成1 U3 N: G( m" U# r7 G* @5 f- C
    5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树
    . {7 Y- F9 ]' G& n- X/ p+ Z% p1 {2 \6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树7 U- _8 J" p- g1 I& _
    7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    ( [! w5 M  T: A; k( k1: s7 g$ m# P7 h% l+ U: p
    26 q. L3 q1 \- g9 T# j+ q; j' |
    3+ ^% L  s8 w9 a4 L! P+ N+ c# i
    4
    4 R. z$ R6 }3 ~" X! N5
      U5 D  P* p1 s& G) k: F6# u& x' W5 P& Z* T+ Z
    7
    + N7 h5 @! g5 h. W重排Reflow" L" }* d( _0 L# L
    % j) L7 A* n" g6 U
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
    " p2 _, V  ~( u0 n6 S触发Reflow:+ Y% t! Y  D/ {! P# E2 u& y
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint- w0 J6 p5 x6 J$ z$ |
    当你移动DOM的位置,或是搞个动画的时候1 X$ \9 `6 ^6 |: L3 X2 C, o8 V# q3 ?
    当你修改CSS样式的时候
    " S' g  A% `5 l当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    3 |8 q/ \7 ^: ^% f# n! Y当你修改网页的默认字体时
    4 R1 z- o% S, B6 ~1 p7 k重绘Repaint" l( W) ?' n5 W0 f) ?
    " S  _9 R  v0 q
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    , G* t0 e2 l* F# p; K3 s6 v( K$ {" g5 B* n( x1 m0 j5 {* D
    触发Repaint:
    % B/ w: [8 e4 [) B/ D6 J9 S+ w6 |9 B, M1 ^. c) V
    DOM改动/ v  X- b6 y5 r  s( b3 d3 ?% a
    CSS改动
    ' n# b; O/ [7 i2 Q( @+ Q$ B————————————————" w/ E% r; Y6 p2 c% V4 Y
    版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ' n% n7 [; k6 ~+ O$ C原文链接:https://blog.csdn.net/u012015672/article/details/1059312910 @* U& A( q/ o& \: s% e

    - s9 j* V6 v' B! J# F* f" R* _( d
    7 o0 |1 M$ X% r; e4 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-8-4 08:46 , Processed in 0.410494 second(s), 50 queries .

    回顶部