QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2231|回复: 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 知识点(未完)
    3 ]7 ?# H" b6 F! l5 ]% E$ _
      a, V9 @7 @7 N: ]; R0 h0 p4 W+ oHTML 知识点; ?$ F, Z% w) q1 d; n4 v
    6 X1 k/ r1 ?/ a3 a
    三列布局- (高度已知,左右宽度固定,中间自适应)  X( r: `! t) y( w* G

    # ~, v5 e# M1 {4 ?  {; \布局方案        优点        缺点
    4 C3 X  \1 G! ?1 J! w7 ^6 B- g浮动        兼容性好        脱离文档流,需清除浮动: x1 w6 ~" ~5 m( j. g
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。1 k" Q0 O) p! m
    flex布局        目前是比较完美的方案。        只兼容到ie9。
    3 J: G. x9 R% k% [表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。% z9 l. U, u  H6 e2 w$ \
    网格布局        新技术,代码量少       
    9 {5 f* h! I) z* @. `' M: k  K5 c<!-- 网格布局 -->
    - Z  a. ^0 D: t) v% L# |1 O) g<body>
      Q+ O- f0 |1 \1 @, O8 _    <section class="layout grid"> 1 S! y; H; C" e5 y
            <style media="screen">
    6 K3 C4 N  c: o2 x) O            .layout.grid .left-right-center{
    . k/ J& Y) C, N/ O$ @# v1 `/ F. v                display: grid;
    9 C# I- q) A0 D6 o                width: 100%;( D1 }+ P( \2 \; J5 d' b9 O
                    grid-template-rows: 100px; // 设置行高
      J4 _+ Y, Q' U5 r                grid-template-columns: 300px auto 300px; // 设置每列的宽度
    8 v) S+ i% n4 d. {+ m' [! q- O$ o  f( @) J
            </style>
    - H( H" [# C7 J# Q$ l+ q" P            <article class="left-right-center">% [( W7 U& w& U6 H
                <div class="left"></div>5 e  Q: Y# I  A* \+ ~% N) s7 ^
                <div class="center"></div>
    5 _# w; K1 `% b0 Y: F            <div class="right"></div>
    - ?. ^! a2 e$ T) c, x        </article>$ S  ^5 X- m6 h: ?" X& h
        </section>- @1 V! j3 e& D! i" ?! L" D; t
    </body>; n6 z+ V/ h$ j$ Q
    : R2 a0 h" }1 d  T; ]; f* M- H
    css盒模型
    8 z' {3 z- t: M2 w. {, K6 J" f2 z. |8 z( n) [3 ~/ P# X: M
    CSS盒模型的认识! I% C! c2 {6 p2 S9 R, a9 {2 X

    / e6 N" s  g, m4 d% F, Q; Ccss属性: content padding border margin
    ' s6 [; z- k8 @% b3 o% m& t; l# G( D# C& R  K2 ~
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    , `3 u4 U& P9 E6 C5 C
    * e/ k( _* Z; B两种模型的区别:计算高度和宽度的不同5 m$ G1 ~9 H3 X, l. ?$ t
    + z9 z: E6 Z! Q( G- H
    两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    ' |3 o) f6 s3 @* Z3 F$ l' k& I1 S( B5 F
    JS如何设置获取盒模型对应的宽和高2 V9 k( L4 E( y, H) i( g

    ; d9 X# f/ c" m; k) C3 [获取方式        优缺点2 y( K- a6 G& M+ ^9 {& y/ M
    dom.style.width/height        只能获取内联样式设置的宽和高, m# s" g- G: C3 d7 q$ F
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie2 p/ J& d& D8 o6 O" o
    window.getcomputedstyle(dom).width        兼容性更好
    8 |' n5 _/ N4 I$ _9 Ldom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    . L7 Q9 L1 a0 y8 H' \8 ~4 y+ b实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距' s  i7 g' G5 Y/ K5 {0 c3 G% N

    ) d$ d! \) T' J- _; N; a, g块级元素包含了子块级元素,子元素是100像素$ Z9 e4 k+ g8 L7 A6 g  e
    子元素与父元素上边距是10像素
    4 V7 y' @0 \; z4 N- w8 h$ j4 T父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    # ~) ~( X! D1 n- l- `# E$ M另一种兄弟块级元素-
    / L: ^8 X8 x  p# t0 E+ A  ]
    3 R( l/ j8 I! i) ]9 q  O% E挨着每个都有上边距或每个都有下边距。-. P5 [2 R- ~9 v/ E- Z% h
    该重叠的原则就是取最大值$ x. b0 i# |& h# t& ^/ X0 i
    空元素的边距-取margin-top和margin-bottom的最大值
      a# G& Q9 U/ ~6 L+ H* y  S0 U解决方案:+ @1 \$ o& N' e  L$ V8 \
    , S. r" u8 p' `' Q( L) j! d& S4 p
    父元素创建成一个BFC (无论父子,兄弟情况)
    ( J7 e& s8 \! j  a9 I: v; \" w% S* G4 e6 x; P; c
    4. BFC (边距重叠解决方案)- w7 t0 ^9 G7 f8 o0 L- x, I- y

    % g$ ?1 m( h- O" @/ qBFC(边距重叠解决方案)
    , s4 L& J* E: n6 H* s! W  \, e6 j
    1、BFC的基本概念: 块级格式化上下文;1 K' b1 d0 J' [. c
    4 Z) s! L: b0 U: a5 Z) j8 k5 R
    2、BFC的原理:BFC的渲染规则。8 g. j+ }( {! e4 O- |1 P: M
    4 r$ `% J4 G$ y, Z/ u
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    7 f, I' d2 ]2 m2 N) p- E- ?5 l9 G, f" I$ k) j: V
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
    + H6 o* c7 J0 r$ O9 p" y) x
    ( n, B( f% W; d+ W( `( [  e③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。& g3 f4 }. M, Y

    ( n% r" D+ M2 k5 u; o. S0 O1 q④:计算BFC高度时,浮动元素也会参与计算
    2 b$ ~6 S8 \/ x: x. c4 l4 E" v5 P3 z( ^( C: s
    3、如何创建BFC
    9 l" e7 F9 f# Z4 }% o
    ; v. j) {* \" Y7 A1 q% B" b5 A①:float不为none。
    9 C- u" I8 Q( Y5 n; U3 z9 u4 p9 b( q
    ②:position不为static或者relative。
    ( }! ^4 x+ R3 _1 J2 G3 @$ X) {+ L
    ③:display为inline-block或者是table相关的。1 E0 ]& e/ Z& ]* J6 \- U4 l2 M
    ( V; K# M- z7 L
    ④:overflow不为visible。6 [) O1 g6 z8 b: X4 n" ~% `, ^. D8 O8 c
    " u; A+ c* z6 W( a8 z
    ⑤ : body 根元素8 [0 H4 S5 c6 I6 M' Q

    " j7 W8 ^7 Q( d0 c) }! M应用场景:
    - d6 N+ O$ E& a5 }左右布局时,float 8 k! N4 d# z% |$ P
    相邻div使用margin产生边距重叠4 c8 j: z( D8 H' I& X
    dom事件
    0 g( D) N4 G0 d5 I. j
    5 u) `; v" [! Q+ h. T; R基本概念: DOM事件的级别. U6 f1 J% L. Y
    3 X/ t5 g  ?7 L1 C: c6 o
    DOM0: element.οnclick=function()
    6 y/ Y5 S7 N: S9 x. Q! ^) ~3 m. C9 f& _$ E
    DOM2: element.addEventListener(‘click’, function(){}, false)
    $ ~7 W4 ?4 ]7 F6 g& `# t& c! }/ n! n8 R# a- w; `
    DOM3: element.addEventListener(‘keyup’, function(){}, false)* s5 x* }8 B( M/ g- H' t
    " ?6 V" x+ n7 V- w: s6 y! M
    DOM事件模型9 l2 o( J1 q3 h* M8 }- R/ ?
    8 L" M* W' {3 S! F2 m! C
    event.target 2. event.currentTarget7 p# y1 I5 E9 z8 W+ I
    event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素  p) l% ~9 L" Z9 u, ?% v4 v
    DOM事件流
    8 v9 I; e& j# a8 W$ L. ~2 V
    ( H/ a9 l' n: ?- [& m' _6 X事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    - q+ ]& y' x9 n8 f" X描述DOM事件捕获的具体流程# ]1 V5 @+ u. \
    5 L+ e9 _$ A6 C" U  Z/ G: U& a
    window 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    ' ~" F  w# _3 j' w5 O7 ^, uEvent对象的常见应用4 \  K0 D; k" T! d0 n/ M& T
    % p7 w4 T2 e9 i
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()/ h6 P" f, L1 i9 M3 P  A
    自定义事件. b5 M! x5 h+ |; R& X# |( E

    5 B% i4 p/ w  Q; mvar eve = new Event('custome');
    : b! [% {; O6 p, s  N% Oev.addEventListener('custome', function() {0 E+ }. Z! [/ N6 X. e# B
        console.log('custome');+ E9 `7 d: f4 k/ J- {$ C! u2 x, F
    });
      z: d& p/ M/ ^3 @6 wev.dispatchEvent(eve);
    , J/ H5 `8 L8 p5 a% I: X2 ~8 u( M1" H* r, w! T4 @3 I& ]1 F
    2
    # u0 p$ D& {9 l3 J3
    7 B; ^5 i# w( I* y8 }4
    ' I2 p# I) ]! n) Z2 T& \5+ w7 v; n. a  J+ j' L0 \! g
    http协议
    ' C1 J7 p6 h8 k9 u1 U
    9 z1 }; ?0 n$ |+ |$ fHTTP协议的主要特点
    4 S9 T7 d$ S, r+ m$ n0 \- }8 M1 B0 h- E1 x% i- Q
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、( q( p# C% v" F$ {: ^$ T: _

    $ w5 b2 J# I" }; o; k4 H0 @无连接(连接一次就断掉)& J4 S" y" V' s" K! |" r" z9 _4 a
    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。' b9 o% A5 ?0 O: m# H7 J" B2 o$ K; y6 _
    无状态(两次连接身份)
    / `* V) F% j* f5 f# n* S' J是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传+ t, ~& W& d3 G) z9 r3 l: A0 ~, u
    HTTP报文的组成部分. A$ h; W) N9 d, e' ^

    1 j8 s& L) B7 c, Y4 }; G$ W请求报文6 q! g5 w6 j7 `: R: |- Z6 N

    8 I) K, h& E3 S) U6 a  s请求行 请求头 空行 请求体+ i' M2 g  h' ^" Z/ ~

    " y  f! U/ F) R响应报文* ^; U# u- r+ {4 P* a; q% a: f  B

    3 c' z0 z: ~% Q& U4 p: I7 Y# [状态行 响应头 空行 响应体
    . h; T7 X: e4 n* ]
    0 p$ ^1 C- D+ e, v8 H6 THTTP方法
    $ z# K: @$ S1 L1 y1 o6 D7 R. v7 w/ V( ?/ K
    方法名        方法作用        注意# x4 ^: k7 M/ b! Z
    GET        获取资源       
    " h4 P2 |1 a! ^' }$ z& F# |- @- f3 M6 H$ `POST        传输资源       
    ; e8 Q9 u1 ?3 R1 [- t( v8 BPUT        更新资源        $ j* u% ]+ y% Q/ }
    DELETE        删除资源       
    / I0 A' H  p% m5 e7 o, \& ~HEAD        获得报文首部       
      x- [% j& M' j0 }. f- |5 V  HPOST和GET的区别
    " G" A8 ?$ U7 k7 y( \" w& ~, K6 d/ k' s3 p) c$ o
    get        post, f% R' D6 z( P5 p! F& ^
    在浏览器回退时是无害的        会再次提交请求' H- {! R& E. }3 K0 p
    产生的URL地址可以被收藏        post不可以
    0 i% p, R1 `6 A% Z请求会被浏览器主动缓存        不会,除非手动设置* B' S/ h8 u5 |1 q& h# E5 b
    只能进行url编码        支持多种编码方式
    9 ~  U, t/ C  Y& ?0 J* D) q请求参数会被完整保留在浏览器历史记录里        参数不会被保留
    ' C7 Z' j' E6 i9 D6 T请求在URL中传送的参数是有长度限制的        没有限制
    , ?1 s* N! f) y! M1 {6 F对参数的数据类型,get只接受ASCII字符        没有限制
    6 h( G) L7 `/ |* P& H更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    2 j1 m/ T' n$ a( ]0 B0 y: }参数通过URL传递        放在Request body中
    ) ]' A& D: ~! pHTTP状态码
    " b7 z9 y3 c+ D. t) U( R7 X
    , s0 Q. p! o# Q) A状态码        意义$ f4 O) y8 b3 T* a1 }; {0 J
    1xx        指示信息 - 表示请求已接收,继续处理。
    & T/ q' \* Y, C/ ~" c0 a2xx        成功 - 表示请求已被成功接收。
    6 V' s9 p& s) u/ f3xx        重定向 - 要完成请求必须进行更进一步的操作。
    0 O" g9 L+ n( i4 {6 d( O4xx        客户端错误 - 请求有语法错误或请求无法实现。0 E" M" h; j, ]) }* `  Z/ x
    5xx        服务器错误 - 服务器未能实现合法的请求。$ a0 t$ G" ^: x" ~8 ^
    状态码        意义
    1 W( R4 G* R9 S+ }200 OK        客户端请求成功1 R1 c5 B4 ~: f. C( Q: ]  @
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    , F- J, u2 H. I% D301 Moved Permanently        所请求的页面已经转移至新的url  \# o4 F$ f" [. \! D  r
    302 Found        所请求的也么已经临时转移至新的url
    % s9 J' l  B2 z, S1 U304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用! `) X5 \. M1 }; a* k6 v2 h
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解
    8 z  d9 l! ?. g6 ?401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    2 }3 \6 H& z; I9 k' K9 u6 [0 G403 Forbidden        对被请求页面的访问被禁止  H' d6 z8 d- x& ~/ i4 ~
    404 Not Found        请求资源不存在3 W4 F: L: K* m! z. Q: v
    500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用* W* w; h3 ~$ A  X8 C7 @
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    & q% [. R& s9 s. l4 S, r) a什么是持久连接* Q( M0 b: v; q/ O: r* O& B

    ! }" ?" S- w2 i& r8 JHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议), f+ J, S" J+ D! H# b6 K- a. i

    6 t/ J# x' G3 e3 x8 X  J8 |当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    - w0 V! _3 N' `- x, I% c. e8 |$ u/ \& x/ H
    使用了持久连接4 K8 X$ T2 n0 L( ~9 k/ y3 e
    - T5 I% N# ~/ N1 ^: }7 ]- o3 {! P
    请求1->响应1->请求2->响应2->请求3->响应3
    ! Z) @* g0 e- W; g0 B
    1 k0 |- D9 Q8 @8 Z( P8 q( v; l+ I变成了9 Q- c: y# K+ _, q, q

    ) M9 u. A  F) {" `8 F6 Z请求1->请求2->请求3->响应1->响应2->响应3
    - f* O: I/ H& Y: \
    7 ~# I$ y, f/ {$ I5 A' y; }什么是管线化$ z9 V- }3 n3 C% A0 M
    ' z4 M1 R+ j4 Y
    管线化通过持久连接完成,仅http/1.1 支持此技术
    9 V* w  F, F0 U$ ?! s0 ~0 b只有get和head请求可以进行管线化,而post则有所限制: {9 ?/ c8 E4 M
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    : T4 s4 v1 \4 _& M* n
    2 ^4 ]- @( _( N$ J8 t9 h; B安全
    ! v- J" V8 ], V+ v% [* p2 s& f' d9 M* A
    CSRF' a! N( N+ \  g% v4 {9 S! d; b
    基本概念和缩写. j/ S" ^: d; y9 V! P
    CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。8 X) b! ^( N- \" b
    攻击原理8 ?7 v" n# y. A! {
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。4 d  ^9 s. E' h0 R3 J3 `
    这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。( I8 v, ?/ y% X2 ~2 q
    XSS
    " o$ z6 x9 }, @6 U2 d1 N' h) b基本概念和缩写0 }' w3 O" L; I3 ?0 n! \' A) M
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。! u7 y3 [6 s9 n" u
    攻击原理
    9 ?1 C( U  g  L/ \输出脚本code
    , z- Y, q. W; b跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    ( f  Y) l6 E4 D/ I% I" axss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。2 R1 O6 i' O1 b8 a$ z& p/ t. \& }# R
    渲染机制类7 I4 r2 E' D+ |1 `* z

    $ \1 E& h9 x4 K  o7 y什么是DOCTYPE及作用
    + n8 }4 |) O: R' o1 d. b6 V
    : z1 I* V! v  ^DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
    5 w1 [, L2 ?9 @; F' U: C" S5 b作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。  E$ k" W& [  T, X. |5 M3 `. @
    DOCTYPE是用来声明文档类型和DTD规范的,, g! K+ n; x' X2 m' K! n8 P
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。) ]+ e( R: [/ z& Q9 Z6 ^$ m% F: x
    HTML5的DOCTYPE:
    5 @& {. q: Q$ `
    & ~/ \; Y' K! o3 u" N. EHTML4有严格模式和传统模式( f; e" x+ k: B9 s5 ?, z: y

    ) \1 f7 c3 L5 T& m/ A3 r浏览器渲染过程
    6 m+ t4 U- i; F: t
    6 b; L: {, _' n一些概念
    % F) s4 K) {+ r0 a9 h2 x" B
    , b! T& V2 e4 ^/ j  D% M  G+ w名称        概念
    , K3 _3 E3 [) \4 ]' i6 A1 eDOM Tree        浏览器将HTML解析成树形的数据结构。) G8 o9 a* g9 g5 u0 s& ^9 G
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    / S9 t: c9 O2 A  Q: P3 e# F! fRender Tree        DOM和CSSOM合并后生成Render Tree。7 H3 ]6 S+ P. }# m2 H  @( g+ G
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
    ! x# B9 @0 @8 L( u, s$ L0 xpainting        按照算出来的规则,通过显卡,把内容画到屏幕上。
    ; Y" f( c; ?6 P6 ]; L( V+ F1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    7 b# x. f8 T3 T- F( L4 Y* J: w- h2。HTML解析器会将这个文件解析,构建成一棵DOM树+ y0 ]! S) t; Z6 m2 b, y
    3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
      H6 j% ?' ~6 C2 r1 E+ ?9 b% L4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    1 E: t) v  d# t3 Y! w% R6 ?& w; ^5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树) M" ~4 r3 c4 U
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树* z( @  t$ `3 f: t/ `/ i- i
    7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去) o/ b8 w2 U0 i' z; \; u0 Q, d
    1* X- h2 q& O" Q4 L% q8 `
    2$ L# u! [8 ]1 A; x* q+ B
    3% E/ I" A# c  ?, W; A
    4  d2 E& T* R# w% L
    5
    ! e* R6 Q1 ~: |7 T, O6
    # V- [: l6 K. |77 L2 l, h6 p6 B
    重排Reflow$ u; V- H+ }' ~6 Y  y
    6 J7 W7 @9 \* `5 b" @/ {
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
      ^4 R2 h2 X' u) f触发Reflow:
    0 P* r: ]4 Z1 X1 h9 W8 J当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    4 ^5 j2 z4 D3 d. y9 w当你移动DOM的位置,或是搞个动画的时候
    ! f0 t6 J. c9 N7 k( n当你修改CSS样式的时候3 r/ X6 ~2 N! Y8 T: T* u/ |
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候; C* s- b3 k& M. q+ h# l3 {) j
    当你修改网页的默认字体时8 y$ h1 F, }$ p0 ~8 L/ _+ S3 f
    重绘Repaint
    - v. a8 L( I# Z+ G/ g7 u; t" Z$ \
    4 \+ F# {1 i; o3 }; {9 a4 s定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    7 {% _8 f" q- x! |' R
    6 O# G7 G( P# ?  Q. B触发Repaint:
    : Y& y) ~$ Z- Q) ^0 Q8 n! b2 f1 S7 j$ a' r" \9 e0 H5 e$ c
    DOM改动
    5 l! G1 g5 i" N7 Z# lCSS改动- ]2 S' c( Q7 @2 @& n: y, ~
    ————————————————9 p. X$ X0 n; c5 T
    版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    : O9 m: u: K/ R( |! y, v4 c原文链接:https://blog.csdn.net/u012015672/article/details/1059312919 l5 n  ?8 o1 n, l4 z) _0 R- z/ @

    ( B8 b6 z# m/ O" _, u
    5 s" [: Y! q% A$ m# ?( w
    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-2 11:17 , Processed in 0.720823 second(s), 51 queries .

    回顶部