QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2211|回复: 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 知识点(未完)- C# Y/ I$ F+ s0 {6 y
    + `( G; g  L% x4 d" l
    HTML 知识点2 Y; z7 C4 f& y4 ^4 q9 \

    . D8 g5 U9 f+ l" \/ d三列布局- (高度已知,左右宽度固定,中间自适应)
    / h( {5 X4 t4 T) F2 s. d# }+ |( E0 C" W6 f) [/ Z
    布局方案        优点        缺点
    ) ~2 v6 Z1 }* M5 P) {( t* T2 N: g浮动        兼容性好        脱离文档流,需清除浮动. y6 v& H$ B) T& S6 E; s: \% S" B
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。/ [/ [6 v7 w2 c
    flex布局        目前是比较完美的方案。        只兼容到ie9。4 c( y- K9 u% M% p) A
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。" {# Y4 W- u6 n9 j% m. ~
    网格布局        新技术,代码量少       
    1 P8 S5 G8 f& K2 f<!-- 网格布局 -->
    4 p0 e! @: G3 Z1 c5 x8 n<body>
    : q0 P) D3 g) d- o& K    <section class="layout grid"> 0 N7 M( v* k+ o; M* K9 j
            <style media="screen">
    . x. _1 Z/ N9 Z1 A6 |/ ~            .layout.grid .left-right-center{! v, K2 E; i, o3 i0 x3 I8 S
                    display: grid;5 R. ~. P1 r  a# y
                    width: 100%;' g% W8 L, L$ {- m1 {
                    grid-template-rows: 100px; // 设置行高
    ! Q7 O6 G, {+ ~$ l. w                grid-template-columns: 300px auto 300px; // 设置每列的宽度
    " }) Y9 M% R+ N$ }3 A
    9 `% n: k. `' G) i5 P        </style>& E4 i8 v7 L! o& U: b
                <article class="left-right-center">
    - n  u  _2 q8 F' G) U            <div class="left"></div>
    ( `, I6 Y, R" c% D            <div class="center"></div>
    , s) o0 k! d8 L1 w0 T# t8 X% N            <div class="right"></div>/ U* F/ N( m" p9 f. y# K
            </article>
    ) C2 Y3 E$ M7 ~" X) n    </section>
      [0 `" l; s' ~* ], I7 s</body>
    4 W' T6 }; ]" O9 z; E
    # B: s2 \/ i7 Q8 _css盒模型
    + \' L- a  b7 M2 E- q9 I, p8 T5 x; z
    CSS盒模型的认识  h( k+ ]( k! S0 A
    : Z. U0 V9 x0 c  k
    css属性: content padding border margin
    ; w. x0 [. d& b- Q
    / |2 Z1 _9 J8 Q4 E2 n两种模型:IE盒模型(怪异盒模型)和 标准盒模型- s) H5 m' @* X8 a- P& n

    8 L  A: G/ z5 R& V. K两种模型的区别:计算高度和宽度的不同9 w1 A/ [- p/ ^7 ^  o5 [" a4 g; l# u
    0 ^0 Q- i# O! r
    两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型): e% e' `, E6 h+ D) o# J2 n

    : n4 }+ d1 ?9 r) hJS如何设置获取盒模型对应的宽和高
      Z/ A; n1 {1 p7 ~
    5 D( Y2 m5 }; R7 Q' h获取方式        优缺点# r1 i2 v* Q+ M8 P' d0 X
    dom.style.width/height        只能获取内联样式设置的宽和高; l. b/ O8 [* e5 F- V- p
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie- w0 p7 s" W4 S6 i7 L! {- u
    window.getcomputedstyle(dom).width        兼容性更好
    " U- L) S; c) rdom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置! K- _/ ^5 x: `; v$ m2 z0 m# i9 @
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    % z, f7 @5 l3 n1 `' {
    / N/ S  O+ e  Y) [7 {% U块级元素包含了子块级元素,子元素是100像素
    0 |/ K1 K/ J+ t0 t6 b' \# s子元素与父元素上边距是10像素/ J3 T8 Q' @  D4 ?, Z! O$ D
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)/ R, r" J7 M7 p2 w# ^
    另一种兄弟块级元素-! X2 y8 U, K' D: k0 F$ U# a+ M9 Q
    0 i. m) w+ q9 C3 z3 A( N
    挨着每个都有上边距或每个都有下边距。-
    9 j! M7 C* w1 [* T该重叠的原则就是取最大值( R6 Y/ @$ Z. R+ ?
    空元素的边距-取margin-top和margin-bottom的最大值
    ' v& E, X$ Z" ~+ E解决方案:
    # b# w& [' n" [9 [6 u
    6 v9 G. B% ?. R8 W+ M父元素创建成一个BFC (无论父子,兄弟情况)
    ! L  E( I& d0 D) Y% s! x, V
    9 V# Y0 {" k4 n$ P; }5 C0 s4. BFC (边距重叠解决方案)4 q4 y$ O, b( ~6 R5 z& W5 j
    4 u/ ^4 \- }$ [
    BFC(边距重叠解决方案)
    ! `) N5 C* {2 j$ s7 g/ D& f" Q1 A$ L7 E  w% o4 a/ |* V' r
    1、BFC的基本概念: 块级格式化上下文;0 B! {, ~: p' L; v1 y7 ~
    8 o; n0 s1 I* M
    2、BFC的原理:BFC的渲染规则。
      O! P3 Q- ?8 p' B  q' |* {5 V6 I/ U& |
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)! r$ @( x& f! F

    + S( I; S  u+ y5 _2 r②:BFC的区域不会与浮动元素的box重叠。(清除浮动)- Z/ t" h; c# t1 h) L0 K( o  A
    0 p+ e1 u1 R& L- B1 C) i. n
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    ) \( w( ^( {7 F3 g* w! I; Q. @6 e- k1 n2 \" W' q2 H+ z
    ④:计算BFC高度时,浮动元素也会参与计算2 j' w+ I& I# h% J$ g& R8 \( F
    6 c6 Z5 w4 M4 m6 S8 Q
    3、如何创建BFC
    " g6 @* r1 _: i: ]( V0 A
    , O* \( x' o  @( |) v0 t9 T①:float不为none。" X- S/ Y& L) f+ b
    ( ~7 B( v8 `; X  v
    ②:position不为static或者relative。
    0 {* o; K7 R7 C& T3 K. ]* R5 j. d5 H5 B/ T- `  ?5 I4 \  s
    ③:display为inline-block或者是table相关的。
    - T3 X* x3 B  I
    * b  b+ O) A6 b  i* G9 M④:overflow不为visible。' g' p" Q! E  Z

      h/ U( P7 P# P⑤ : body 根元素
    ( A" C3 x3 f- x& m7 q6 D0 I& N# M* K) \* h) p/ I) f+ \* g
    应用场景:
    7 h; X$ g9 V& A, k左右布局时,float
    4 R5 {$ f  Q) l' c% ^相邻div使用margin产生边距重叠% L* W5 A, g* k; u7 \7 P7 a
    dom事件
    % ?0 R% c2 I( i6 Z: ~9 p- S5 d3 l6 \. Y- G2 r. N8 K- z
    基本概念: DOM事件的级别. ^( u: t. ~' {' H/ y# x! {
    3 G% T/ r% E) W: i, |/ l
    DOM0: element.οnclick=function()
    ! a/ s) @9 \6 z$ Y- Y8 N; f& Z
    " \. D0 Q" n# G! S' `9 m6 hDOM2: element.addEventListener(‘click’, function(){}, false)/ d& [! w3 J+ t

    - ^( K- R, n' [/ f2 D1 w: tDOM3: element.addEventListener(‘keyup’, function(){}, false)
    ' i+ N8 m/ ^4 J
    ; L+ I% v9 r4 B* i  IDOM事件模型$ P6 h* a2 \4 k0 q
    3 v. q/ \3 D3 x% |- }  l
    event.target 2. event.currentTarget
    % P/ r0 |4 _. ^5 o. N* |event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素' `0 ]0 E# Y5 c) }, P$ Y2 b
    DOM事件流9 N8 D9 t" a0 }7 }( [0 I
    $ @! i2 o/ r7 U* j
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    3 K+ q5 Z  b2 U4 K描述DOM事件捕获的具体流程
    7 l3 d- y/ Z+ a. Q' V* `/ r( M
    " F3 `/ Z& ]! |window 2. document 3. html 4. body 5. 按html结构 6. 目标元素" r  J% {: ?4 ^- g8 a3 n! [
    Event对象的常见应用
    / w: Q5 L# \9 h& ~% B
    ( |/ f) ^6 ^0 Ue.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    ) H. ^% B9 ]) \  j自定义事件) `: t, m9 ]1 \9 U5 o6 G
    / h$ @8 T7 F, N3 U
    var eve = new Event('custome');5 ]6 s4 o( N  k4 o: b& u
    ev.addEventListener('custome', function() {
    0 ]/ I* F$ J2 |4 g9 E( t- Q    console.log('custome');& j! V# [, A1 X1 f" j
    });
    9 D- n$ \2 a  P! z$ kev.dispatchEvent(eve);
    0 s+ F2 Q/ I" L1 r4 R1
    , a1 n7 `) w1 M2
    0 B' y# Q& \7 e3 I% ~2 H34 H: u0 H7 _, A; V2 x" p6 v
    4
    0 @/ V7 I, s" k* l  }5
    6 O  ~" s& a2 q4 }3 t9 Phttp协议
    ( \, H& Y% o5 N( ], w( M! ~& f/ `5 X) F- f. @" a; I
    HTTP协议的主要特点- V1 l0 w# `$ S2 j4 g4 {

    2 [2 M9 s0 i; k0 j1 |+ X简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    9 z4 W8 d/ g3 ^; v: K" L
    ; k2 k+ Q6 M' H1 K! r( z无连接(连接一次就断掉)
    + W* M1 L9 l! m. I) l/ l9 j无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。8 \" z5 s1 o3 ?3 g! b7 K
    无状态(两次连接身份)
    / C; T2 }/ Y6 s% f% s9 e( T是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传+ I% ~) L( U* C
    HTTP报文的组成部分
      i  G6 _1 Z& w$ |2 S/ ]# n8 p
    / d: ?$ q4 B, M# Y; l0 @6 `+ s请求报文: d+ A+ o" F2 C+ H$ O+ ]9 }* V! @

    - {% t% L/ |& v8 n9 H" x: o/ s请求行 请求头 空行 请求体# R8 D, `$ s4 R6 c7 I0 g# Z/ b' W

    ! |$ |' v2 Q5 l# ^, H; v响应报文* o- \, }- {' k3 a: f: h9 }: Q; ^

    ( I) V0 z; o! z' P9 y+ K; `( V9 X状态行 响应头 空行 响应体
    # U9 o! l5 K3 t, }# E4 i$ R' C3 `5 l+ c& f
    HTTP方法
    ! Z7 A& c" F* [. {" V- m. L: ~" j; a1 P; T/ H5 Z  o" l
    方法名        方法作用        注意
    ( b' k7 N! x& @! V- x. gGET        获取资源        % j4 U3 i9 W" Y2 O8 S1 L
    POST        传输资源       
    & K$ E) P5 T6 Q6 qPUT        更新资源       
    3 G+ g, `: X# SDELETE        删除资源       
    ' v) m: f4 [  m4 @3 b3 R- l" ]HEAD        获得报文首部        . d# X. \% ]! {- S5 a, D- z
    POST和GET的区别1 e7 o6 J+ A9 E  S0 g1 h+ i
    5 U  P0 I4 U1 h) s
    get        post1 H. Z3 g- P7 i. T: L7 A9 @
    在浏览器回退时是无害的        会再次提交请求
    7 l1 Q2 f( X: Q2 R6 l产生的URL地址可以被收藏        post不可以
    8 P! {! y, I! \1 S+ V3 j请求会被浏览器主动缓存        不会,除非手动设置
    / W( v" ?  `8 T只能进行url编码        支持多种编码方式, G6 f/ w0 ^" f( O% G% I& z7 w
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留' I0 F5 @1 N# V' P9 U" i- o* e! z
    请求在URL中传送的参数是有长度限制的        没有限制
    $ H. f( ~5 v* X5 W+ Q& v8 h对参数的数据类型,get只接受ASCII字符        没有限制" [% H4 S- l, o" |( k( n) T
    更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    / a4 ?' B" {8 f5 |! b# {  F6 A0 F; s参数通过URL传递        放在Request body中, |7 M+ }5 j, c3 p' W
    HTTP状态码+ D' Y( S7 L' B+ P$ w8 f6 C1 }
    - l+ `6 f9 q; u$ s; f5 ~
    状态码        意义
    + ?- k  e0 ]; y1 j: b% {+ M) \  _1xx        指示信息 - 表示请求已接收,继续处理。8 T- z2 L  K' J
    2xx        成功 - 表示请求已被成功接收。- ?8 R9 M9 p6 D
    3xx        重定向 - 要完成请求必须进行更进一步的操作。  I8 b: Q7 j2 ?/ _
    4xx        客户端错误 - 请求有语法错误或请求无法实现。6 `( J4 p1 ~, ^% K6 o
    5xx        服务器错误 - 服务器未能实现合法的请求。
    3 Q+ B1 w! ^% v; x9 k0 y状态码        意义: i2 i: x( j/ l  Z- e9 y
    200 OK        客户端请求成功! [# g8 J/ y3 ^- m" N5 I! d
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它8 e( T3 I/ o% l3 J$ \; k
    301 Moved Permanently        所请求的页面已经转移至新的url
    : m7 R2 Y5 h* o4 Z302 Found        所请求的也么已经临时转移至新的url$ [! ]% \1 X- e7 R4 F
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    / @! s+ B( {/ w$ i, M400 Bad Request        客户端请求有语法错误,不能被服务器所理解
    ) }" J4 S9 x4 O. Q3 @8 }7 O/ S- M401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用+ j8 W1 ^8 n7 ]) y5 a0 N' u
    403 Forbidden        对被请求页面的访问被禁止) B. [+ v# b- H! O% u
    404 Not Found        请求资源不存在
    8 Q  x  X0 J' E/ q4 m500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用7 X. a3 G2 d# E2 B9 |  Y3 |
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    3 z/ L/ y. v% _# a什么是持久连接2 @. @) A8 J0 j0 Z
    " k8 t% E! ]3 @- ?( G
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    : K" I& ?3 Y6 D  W5 z, o/ x' _
    ( ^+ ?8 s. L- C9 k$ v# o) B- A3 C8 |当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。" C* l9 _+ y" q$ v0 X& W

    # w' F$ e( K0 p1 V/ p使用了持久连接
    7 o( H5 c2 p! Z$ C8 L/ d* ~; j
    / d2 p" J* c& K; @8 v请求1->响应1->请求2->响应2->请求3->响应3% [) K$ z6 }2 s
    1 z. E6 b" m* l( }  G' {$ p( Z+ \! Z
    变成了( v7 N  U+ A8 ~! ~, @: X3 b! c
    # ~% D; T! D; H- U8 ?0 b
    请求1->请求2->请求3->响应1->响应2->响应3
    4 t" p* u+ L4 C9 H, g, A' h1 V+ ]) K3 q7 F2 l$ b! s0 n
    什么是管线化6 S2 T0 m: B, @5 v6 U7 f
    ; ]* n1 T& Z, V: J3 L" Y3 {
    管线化通过持久连接完成,仅http/1.1 支持此技术6 t% D2 ]. O6 i
    只有get和head请求可以进行管线化,而post则有所限制8 F$ I3 F- j% J
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    ' E( B2 ?: C9 j, j  u0 D1 ]3 U* ^6 ~$ Q7 \6 w9 D
    安全. @" F% h# J5 Q3 u+ G; [
    2 a7 Z4 e: p- B9 K& F# p0 t9 ?
    CSRF
    - }, s/ Y0 [0 p/ k. B3 E1 @基本概念和缩写
    : q) z9 x% \& @) R) rCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    " a8 l: u7 D: s5 a+ g( W攻击原理
    , f& @0 l, `( T! W( n2 `访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。9 B' U; |! y9 M! r
    这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。% \' N4 g! T5 m
    XSS, o& g3 r1 v" d: V
    基本概念和缩写' |. w4 P% X# i2 n# D* G; D
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
    $ Y0 M$ n* D- O# g攻击原理, z1 I/ N! _- H, ?) r( B
    输出脚本code$ X  t% f4 {( \
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    & M% A# K* X1 Z1 M  r# Qxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
      C# m( ?/ s/ [( o* p7 _% `  ^- y8 t渲染机制类+ }: G# r: Y1 C7 x. [. _8 g" V

    * w  p- D$ _0 {! e0 o* i6 Q, b什么是DOCTYPE及作用
    ( Q' k1 `9 [' P2 ~" T0 q& H) j5 n/ Q: V4 ]! u1 |
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
    4 X3 ^# P3 \) y) |+ d: M作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。3 z9 ^4 e9 c9 n" j
    DOCTYPE是用来声明文档类型和DTD规范的,
    1 s; i# N5 \! M$ c% u/ F6 ^" B7 R作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    + b4 f; B5 L8 f7 ~HTML5的DOCTYPE:" v" S- v3 U2 X" O  o8 V
    3 _! e5 K5 F9 H) s4 n
    HTML4有严格模式和传统模式
    5 ~3 Q4 D- o  p! a1 J" ?/ t$ r) z, E2 C  R
    浏览器渲染过程
    * S/ [+ u9 q, x; g, Y
    9 g6 [+ w$ s- c# |. M一些概念
    ! L. V6 ^$ G( `, A# c
    * X5 ]& X3 X& i# \) L名称        概念9 ^+ I6 \3 a5 W* M3 b% R
    DOM Tree        浏览器将HTML解析成树形的数据结构。4 ]& \' f$ J- ?3 O, l2 ]7 u
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    8 a: j. B7 Q( f0 q( z/ ?4 l. i/ d5 Y, XRender Tree        DOM和CSSOM合并后生成Render Tree。* p# l" ~7 k3 P( W0 u9 ?; v8 i
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
    & N9 k; j  ?" u' x' w' ^painting        按照算出来的规则,通过显卡,把内容画到屏幕上。% d) r8 C: V" `, }4 Z/ T
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    " V0 D" {! F& L+ \; M; H7 p2。HTML解析器会将这个文件解析,构建成一棵DOM树
    : n5 ?# H6 _3 b. U9 Q, `/ t9 k! \- u, D3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器6 O6 e3 f( ?% M  G0 ~
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    ' M& V7 Q6 \3 O1 W5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树' X' D- O+ Q; w  T* \8 I
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    & H* H7 V  A! E3 l5 h7 _& H. u7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去4 ^1 C/ s7 F3 U; V5 b+ |
    18 M+ r' c" X3 A
    2
    6 }" C; d" \) m" y6 c6 D3
    $ M5 v; O6 I! s4) n- Q+ @& b5 T! L  N
    5
    : u$ m6 v5 @$ B; X: A4 ]6
    - j" S- J; C, m+ ^! W/ Q7, Z7 h- U0 w5 u  r  o/ e4 A3 B
    重排Reflow
    4 t6 ~. K7 [, `7 v1 }1 h7 i, S2 \! D! u& `: L8 A
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。; i! A4 K2 b+ Q$ Z" a, }' I
    触发Reflow:
    : I5 Q/ [; ?0 N5 O当你增加、删除、修改dom节点时,会导致Reflow或Repaint/ k: o. A- m9 V% S/ D' r$ q
    当你移动DOM的位置,或是搞个动画的时候0 M, h! F  u) b, h! A6 D! K; i
    当你修改CSS样式的时候
    / Z; `0 ^3 Z$ ]9 C当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    5 @( {: r% D; g7 _当你修改网页的默认字体时
    9 v4 K; ~% {- E) q; ~! K重绘Repaint
    9 |) [4 t' _8 [) C# L; @  ]' @; S# R0 P8 v) ]
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。, Y' L, Z6 r# U6 @! N8 b$ O9 p
    5 B* Z. r& P2 D
    触发Repaint:/ H1 P: C/ ?: ~4 |
    # L; c2 A! J" ~0 Z2 h, C6 }
    DOM改动) O. I# o/ n6 \; [
    CSS改动
    0 C' R/ I/ ?/ ~' i, ]9 K3 [5 ~+ e: b————————————————
    1 Z1 n  p9 E$ @版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。, \, x9 i- w8 Z5 ?
    原文链接:https://blog.csdn.net/u012015672/article/details/105931291
    3 T6 `' q/ j, x, |6 c
    # J, [/ i; P3 l% B1 `( @6 a
    8 d7 H( h$ o3 ^3 U3 S
    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-6-14 08:35 , Processed in 0.401085 second(s), 50 queries .

    回顶部