QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2207|回复: 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 知识点(未完)
    0 c" V) T9 T. g; u8 i8 |# m, \9 Y' b) ?2 l- V8 N
    HTML 知识点
    % t  G. M9 j8 D5 R9 r  G% i" C
    7 \. B7 M6 P9 H6 d3 i; t  `三列布局- (高度已知,左右宽度固定,中间自适应)- _3 S. |( D( M8 [% }& N
    - x1 v* v! n) B: m: O
    布局方案        优点        缺点# a! V) H' ^, S
    浮动        兼容性好        脱离文档流,需清除浮动
    & f& F3 b, A# L! z+ v绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。
    & f# x: [- I2 a% Q+ p3 vflex布局        目前是比较完美的方案。        只兼容到ie9。
    0 n( m  \9 Q$ _) i' h! _9 C1 F表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。
    ) r4 y- H; p. _8 K. P网格布局        新技术,代码量少        ! \& P( ~; U- q8 x1 c2 e( m
    <!-- 网格布局 -->
    9 Z- [3 Y# {, C1 u5 Y<body>* ^; \/ @" O5 K* N& \$ T. L
        <section class="layout grid">
    ; a+ D! S" K8 V' X) k        <style media="screen">2 f( e8 M5 r. k( q, B+ `
                .layout.grid .left-right-center{: K- w5 d( o$ |# r& K3 m
                    display: grid;
    $ n" p; E+ ?$ n3 S                width: 100%;# R  I5 G- X1 O- d& j0 L5 K! c
                    grid-template-rows: 100px; // 设置行高/ ^2 j' z/ w1 J5 S% }2 \1 V! S
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度
    6 j; y1 V9 k7 T3 x/ y) x/ v% Z7 M8 {6 r# w* T; u
            </style>, b# D: ?8 W. ], D6 ?% k
                <article class="left-right-center">" f  I" O( R8 V& z
                <div class="left"></div>
    ( p$ q, D! l; _5 I) S$ M            <div class="center"></div>' T- l) W/ I' D2 `% ]- y. c
                <div class="right"></div>
    * b; q5 @9 ]1 @: h        </article>
    # q2 S. ~( t) k  P7 r% t7 R    </section>3 c& [  ^* f4 `& h. F
    </body>
    ( G; e# T( Y) O
    8 I! N& ~0 }% x0 p( g+ K% G6 ]css盒模型
    * V6 a9 W! P# x% `+ [7 [; A/ n0 G) u* r  ?/ h$ ^
    CSS盒模型的认识
    ! [! i+ y; v+ s% ]; e+ j
    - N: q' F' t7 F) Gcss属性: content padding border margin
    % H) e: A: l+ r. i8 h& C2 e" M& F. J# d
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型+ P3 X9 W( ~: B4 s
    1 o7 W' }2 G, X1 A" O, o6 A
    两种模型的区别:计算高度和宽度的不同
    $ k+ I1 L8 y* ?  h
    9 N4 x! ?8 o7 v两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)9 k# A4 J4 N( C+ ~

    3 S" V* {8 [- S, o! g3 kJS如何设置获取盒模型对应的宽和高) @3 b8 [7 ?1 z8 P

    # A9 h4 j# N' x$ ^/ l  J4 y获取方式        优缺点
    % `% @. I+ I0 O- zdom.style.width/height        只能获取内联样式设置的宽和高
    + {. D$ l6 Y& n9 [dom.current style.width        获取浏览器渲染后的宽和高,只支持ie) T; w0 {- F+ u* H, R+ m, a# ^' d5 N
    window.getcomputedstyle(dom).width        兼容性更好7 v9 j1 ~/ w2 j2 \5 J3 y$ G
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    3 C9 Y1 ?7 M; A8 s实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    2 k  V2 Z# Y( p8 T
    ; W. f4 y$ k, n# T+ [; p块级元素包含了子块级元素,子元素是100像素
    # M' S7 B6 Q. v* V6 M# G子元素与父元素上边距是10像素6 r( c5 e. s# V9 f  U
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)& G4 S$ h; z4 e/ F4 D) a
    另一种兄弟块级元素-
    $ D+ J8 ]7 j% C- M9 t- \7 [& \8 g& a  r, g0 @" g
    挨着每个都有上边距或每个都有下边距。-
    & i" f( I  `( C, q: U3 ~该重叠的原则就是取最大值" z: Z  @3 z3 C# a" y: M' p
    空元素的边距-取margin-top和margin-bottom的最大值
    ; T# O( A4 W% O* _解决方案:; N* u! j9 s' h) S9 U, e' n& z7 D
    6 Y0 w& R: A  c! o2 m( J
    父元素创建成一个BFC (无论父子,兄弟情况)6 ?& ^- j; [- ]# g# ?, I; i
    6 P& m, q. L. z, x8 ?6 o# Q' K1 O* l
    4. BFC (边距重叠解决方案)7 Q, z3 o. G/ \# R: w$ l
    / C# P) z+ R1 m0 o* f! |
    BFC(边距重叠解决方案)
    $ I% E- `- K) N2 w- z
    9 @( Y7 C! n4 |$ u8 L3 q" A1、BFC的基本概念: 块级格式化上下文;: T1 b1 ?& z9 `) t0 u

    # V$ j7 m5 b0 @2、BFC的原理:BFC的渲染规则。
    2 r& V$ |! u9 C2 b6 |
    " g) a* d- k7 F$ b①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
      B3 P3 d- M% B$ N/ L% z, Y3 ~/ h' a: x; ?+ O  ?  N
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)7 q9 \5 W. [- S- z, t
    : a. h9 |5 y# T+ G: ?9 ^- |
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。, X. N# f/ [6 `% S

    & W9 M( ^: p3 u3 J④:计算BFC高度时,浮动元素也会参与计算( V, f' p" a9 B, W, m# _

    ! O% F* X; ]; s- X/ I3、如何创建BFC
    ! x( a  z$ K: q3 k& q8 d$ G2 T
    $ ]9 w* p2 g5 g1 T; [8 \" Q; x. H①:float不为none。& b# i( R5 n- t
    / T. }  \% R9 u( `4 t. r
    ②:position不为static或者relative。% L6 E. q% j$ R2 O( ]0 ~/ M, M( H

    + n& a. ]: J  @2 k- }5 Y. c③:display为inline-block或者是table相关的。5 X+ R" M+ t/ A6 Z4 N

    9 P+ _: _+ C$ b5 v# a④:overflow不为visible。9 f% l& O( @( [0 M" p

    % H3 I) `9 r% I( f! P0 n⑤ : body 根元素
    ! u; [( ?: ]# J# I/ J4 d1 r
    $ O3 b* V- a4 U5 p2 D0 ]- Z应用场景:
    ' D/ j  |, Q7 K左右布局时,float
    * L0 ?* Z1 y; _- r( x+ w相邻div使用margin产生边距重叠+ ]$ s2 m! Y* d1 Q
    dom事件# }7 z5 `7 k  ~9 ~4 T
    ' U- f  e5 ~, B7 v' o
    基本概念: DOM事件的级别
    3 f: ~+ B/ B- J* a# ~
    ' D: ~! c. `( ~: d0 Y9 LDOM0: element.οnclick=function()
    % B! |% W: D! Y. q9 D% A; h! H8 q6 V2 V4 N1 c5 Q- j% t
    DOM2: element.addEventListener(‘click’, function(){}, false)2 a" ]" w$ q4 t5 S' t, c
    5 Z4 {  Q: T5 u4 C$ n( h* H1 l7 T* E
    DOM3: element.addEventListener(‘keyup’, function(){}, false). B3 p# k# [$ y
    , T  l) v" `, D& z8 J1 W# d# G8 _% L
    DOM事件模型
      m) b9 B/ W4 g) [$ q! Z0 k% G5 v3 J' ^6 q/ U: V, G
    event.target 2. event.currentTarget
    # D/ v2 ?! _- Eevent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素$ i- {. h: F4 ?) }
    DOM事件流/ I7 ^9 Z) N1 v4 d
    : Z( P: W6 @) t- I4 v
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    1 N4 g2 R* S6 ^3 M描述DOM事件捕获的具体流程
    7 H% o4 w  i4 |* T! ]& o! C
    * m! I0 T9 }  Q2 u1 L$ I6 h4 R% Rwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素& y* r9 |: L9 H( n8 ^% {
    Event对象的常见应用
    0 F8 n/ E# U2 f! C# o$ D, @' ?4 h. }! S
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    9 I* _0 b- S  r' m2 I自定义事件
    ; ~4 ^5 i2 |2 m9 s/ m1 w
    9 j1 q( @! Y4 G5 Y* }3 a0 ovar eve = new Event('custome');% F7 M9 T, H/ K8 ^
    ev.addEventListener('custome', function() {; K. ]) y# e* n8 y. T
        console.log('custome');
    & ]6 I5 L9 ~* d});
    ( E! b4 Z" m: ?ev.dispatchEvent(eve);( o( t1 h4 w2 `6 {, j
    10 I; X1 n2 C, D
    2& {+ j" K- o; ~6 W' X" ]% B# v& f# r
    3
    & E3 _/ o6 u1 g* ?" ^$ p) _& q4
    3 |( \# Z4 p0 m; G! l5
    ) X; I! ^1 r0 \" b/ c' H; xhttp协议
    ( _/ q& P, z/ |' N1 w8 z
    + S' I3 z# x# Y: z, x* d9 `" L( _HTTP协议的主要特点
    3 ]% j! u; W* s% o. F# n- i3 ]
    + P1 A  i8 O2 J) K6 D" ]简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    * e8 r9 s, y* ?3 q4 ?. Y" h# o7 e* O+ R& y6 I* q
    无连接(连接一次就断掉)
    1 C8 L8 ^& \; b7 j# {0 o无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
    1 `6 X, B) x" a5 \' \4 Z$ v无状态(两次连接身份)0 @& o# I7 R8 m) O% }/ T
    是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传( y  S& O. o3 U0 y$ [" Q
    HTTP报文的组成部分
    ! w" m1 V3 v+ o* _2 z
    ) e% M" W' E% |( V+ D$ e. p5 u, X8 @请求报文& T* o0 e6 G8 b; T. {$ J6 @- p

    % j. u: L9 j- c1 k请求行 请求头 空行 请求体* a9 _8 M2 B) U) ]; R/ d9 q1 \

    " V! ^8 h1 }1 \. Y/ R* L  J响应报文6 a1 V! Z0 O1 \

    $ Y/ A9 q; ]2 Q  {& ^' i状态行 响应头 空行 响应体
    % c- g& t0 P' @+ B6 l
    / N; S5 h" r7 g8 L- B  o' iHTTP方法# H( h! k  M0 x$ j! v6 w7 V

      ^/ m+ k' f6 C4 V方法名        方法作用        注意: U; S9 r5 V; _* `- C  v# r
    GET        获取资源        0 c# i) y9 M0 p5 g$ e" _
    POST        传输资源       
    . ~$ J  R) K; h+ k9 c* s) \PUT        更新资源       
    0 ^1 x, o: [+ S5 n% Y4 ], b8 }DELETE        删除资源       
    6 q# b0 c: |# pHEAD        获得报文首部        . P8 ~0 g  M8 J' m" `& F  a7 @
    POST和GET的区别
    ! _' {1 F& k$ @! p9 \# z8 R! C! _5 G. J2 Y( ?" y
    get        post: r: g- c' K0 B  q) B2 n1 r$ C$ U
    在浏览器回退时是无害的        会再次提交请求
    & h1 f- V( A: j; }( [3 v产生的URL地址可以被收藏        post不可以
    ; [% l+ a6 i+ d, `, y' T/ H请求会被浏览器主动缓存        不会,除非手动设置
    , T1 S, {5 S3 Q4 S: t. h) r4 E只能进行url编码        支持多种编码方式
    % Y( N8 k4 R3 Z  x6 a/ R& x请求参数会被完整保留在浏览器历史记录里        参数不会被保留9 Q& u6 a/ L- y7 C
    请求在URL中传送的参数是有长度限制的        没有限制* t# t5 h! L+ o/ I; O' l( y" J: y0 e
    对参数的数据类型,get只接受ASCII字符        没有限制4 t' D4 u" p8 E  A; _! }2 T8 _1 `' F
    更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露; s% F( P% `1 F. k
    参数通过URL传递        放在Request body中  i" g5 ^1 s" F9 ]9 ^- t. `* o
    HTTP状态码
    ! {  o* F4 R4 `
    $ v; f! J# g& y# m  `* J* k" M+ k状态码        意义
    , p* [! N" n& A; t  i  j. {) _/ j1xx        指示信息 - 表示请求已接收,继续处理。
    ! M6 F- \# H: [- a3 N% Y, I: x1 D/ C2xx        成功 - 表示请求已被成功接收。
    9 |0 _. B8 T7 l" _' `/ n( g$ h6 ?/ R! N3xx        重定向 - 要完成请求必须进行更进一步的操作。# G5 j5 [" x2 a9 ]2 P4 t; M
    4xx        客户端错误 - 请求有语法错误或请求无法实现。2 \9 p4 z" `/ J9 x3 p9 A; ?/ o! ^
    5xx        服务器错误 - 服务器未能实现合法的请求。" \, d" m6 j- n) w  @0 z4 ]! N2 T
    状态码        意义
    & @3 K% g$ D! V200 OK        客户端请求成功3 U  c1 j0 O. @1 d
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    , O+ m9 V& Z& `" w$ I! g# r  l301 Moved Permanently        所请求的页面已经转移至新的url
    ) T" N, t$ K6 r; S" K3 K' S302 Found        所请求的也么已经临时转移至新的url) N* ~% z" E  Z$ Z" l! M
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用3 q( I+ x4 H8 k6 o$ q" t  L) L. y
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解! u; ]6 |5 ]: _
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用  ~2 u- ]  A& K, W" D; ~  S
    403 Forbidden        对被请求页面的访问被禁止
    5 O; I$ U2 a+ y& k$ D# R404 Not Found        请求资源不存在
    ! O7 Q+ ^& }8 _' a% g500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用* k8 d8 Z$ ^0 |( @5 ?
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常& Y6 @) ^6 M* ?4 \5 z
    什么是持久连接
    ; j: w4 a( N4 H) R" A. I. I+ \+ U( p7 b2 E+ t6 t
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    ! x' u4 m/ m' V6 O( Q
    % ?) p; F" U+ O, D当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。3 a! M/ m7 q- z7 {) z9 U6 T  t2 V

    9 @4 C/ ~9 v% a- W' ]; H2 O* l  }使用了持久连接
    ' G) e2 {' N: j1 S
    ! m! ?" u3 L* I/ V请求1->响应1->请求2->响应2->请求3->响应3( E8 \/ p3 N2 u8 f" X4 C  L; R' ^. q
    ! A& }/ l( ?: z
    变成了% j2 H$ K$ P* [! }  G; u6 g
    ' L  F% ]- M; K9 \7 S: i
    请求1->请求2->请求3->响应1->响应2->响应3
    $ W& W7 @& w% }8 R2 a; j, s
    % l  v4 |, e  g7 }- c什么是管线化' l1 J2 b) @% W1 S% |

    9 c% T, T, G( y' R* C* g管线化通过持久连接完成,仅http/1.1 支持此技术
    0 N# V9 V  {  N" e只有get和head请求可以进行管线化,而post则有所限制; Y2 S3 R" j3 ~  E) T
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议1 W$ W  ^2 T1 D" r6 c

    3 Z$ ]( L- U" C, M9 V安全
    $ ~; [/ D& c8 E& V9 E% ^; }7 \7 u
      t6 V1 T. K/ \CSRF7 i$ f% }3 X6 U6 o; r
    基本概念和缩写7 H. M6 N. l- x& ]' h
    CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。9 o) h% P* u8 x2 a) N
    攻击原理' m' ~7 K6 l' X5 C& O; j, `
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。( r. |. ~  K: L; ^6 T. I2 N8 N
    这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
    7 Q$ Q* ]- }, i6 R' aXSS
    / e$ ^# S6 e9 f: `$ Y8 a1 I: y+ A基本概念和缩写/ v# Y) D/ V) X
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
    6 K% G: @6 B2 q9 z  Z( ]- {: b) {7 c攻击原理( P' D5 G! ]/ C7 _( y
    输出脚本code. g* V$ j/ ?0 z( v7 s$ B( m
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。" j1 N* f, g4 @- A. P5 k
    xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。" A9 m% ?4 Y0 k% N( y# j; m
    渲染机制类
    4 b$ D' L5 z$ z* P, @; o8 w8 z; z/ Q+ E
    什么是DOCTYPE及作用
    # n( P" Y' b/ G7 Z1 y, u% J, B! x
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。& @4 Y- q1 d- f: h" K2 v, j8 J$ O
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。8 {( i. q5 x5 o. D2 E
    DOCTYPE是用来声明文档类型和DTD规范的,
    8 z" J& z1 s1 m6 W( T/ ^作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。/ `* |& W/ {9 x( I3 C
    HTML5的DOCTYPE:
    ) [# h8 Y+ n2 {, A% K9 O. J+ i' r8 p7 a# a; y( d  ~4 Q' V" m2 D
    HTML4有严格模式和传统模式
    ( l3 X0 p) k! w- L" {- C" I: _/ l5 k9 |8 W5 n% O" y( J
    浏览器渲染过程0 L! g0 |/ E" p3 i# f

    7 Y( R+ G5 U% c( a3 O$ q: \一些概念6 ^/ ]3 c3 m% s. t, Y
    - e* s; x4 T# m4 n( s
    名称        概念, H( h. X' m2 O! s, L3 P- D# N
    DOM Tree        浏览器将HTML解析成树形的数据结构。
    1 J5 @6 Q7 `( m$ b: V& `) p% t, VCSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    ' b, l# E/ X4 r7 I8 Q% t. ?Render Tree        DOM和CSSOM合并后生成Render Tree。
    / \4 s, K0 i5 m( @+ @0 tlayout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
    $ Y: w* q; V# ~. n* ]painting        按照算出来的规则,通过显卡,把内容画到屏幕上。% W2 c8 o4 A+ `. v; M+ I0 Z
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    : K8 w* S. D  v5 D, C3 t) x" \  C2。HTML解析器会将这个文件解析,构建成一棵DOM树
    2 u" B: g  g1 c4 k% N3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器* s; S% M: b# G' J, |; v. V2 ?
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    ; @8 w/ L$ S; N8 o5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树
    % _3 T/ q/ n- c$ I! E! Z6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树  Z! Z; j( P% s2 y2 r& V; p8 X. U
    7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去* ^5 z- j. v9 b" L" ?+ W" k  w
    1
    $ j. e4 B' K: L; {- `! E2
    - }. W7 J" @- R0 m) N  a0 G5 u3; |4 B% w5 n( w8 [
    4
    & [1 {7 c  f: ^8 ?5( C; T) u" M5 I" x8 Z
    6
    * }1 Y* a: v( D% k+ g* M7
    ; g  H  k" y7 m2 J重排Reflow
    3 i- g' ?8 o! q' n5 _& E0 S
    & m/ a: ~: T6 Y: ]. F1 {) x0 j/ ~! w定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。$ e% q% }3 ~: e# u2 G6 q
    触发Reflow:* a* D8 `2 N8 m
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint( L0 [7 j) \) K& U$ N
    当你移动DOM的位置,或是搞个动画的时候
    9 y- C6 I# ]8 G3 A1 g" m" z6 Z当你修改CSS样式的时候
    , w! b2 I7 O' y) A4 U: t当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    ; P: J$ P9 D( E% `当你修改网页的默认字体时$ ~1 L$ i! |4 a4 c1 g- k
    重绘Repaint
    & L. q+ `" }# T/ A) [' @) A# N1 H  f+ j1 B
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。2 R, r5 ?" L5 e9 V# E8 ]/ t, K
    ) ?. b* v7 X) m3 p* I
    触发Repaint:
    # D% i: Q( b" q6 @8 B
    . K- @5 ~* L6 v* y8 y" k6 HDOM改动7 Y; ~7 B$ X3 Q% y, ]
    CSS改动
    % \" p. R( f+ r7 J- Q: ]6 U% d' u————————————————
    ) m2 b3 `2 Z- _  c& d+ `- i- w4 x版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。) A. L0 h+ w9 z1 v% v% M' K9 H
    原文链接:https://blog.csdn.net/u012015672/article/details/105931291# Q. G8 e, x3 |( F

    4 y* t# u* @7 Y1 m, l5 w5 h) m, p5 V; e2 Q5 q. z
    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-13 03:36 , Processed in 0.724123 second(s), 51 queries .

    回顶部