QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2212|回复: 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 知识点(未完)
    7 [8 ]5 `! J- O" `
    4 K5 r- W/ Q" I; dHTML 知识点. b9 v; o7 D2 g6 j* ?& \5 A+ p
    " b1 S& E( i% i; h1 N8 a
    三列布局- (高度已知,左右宽度固定,中间自适应)! {6 l, u  X$ v9 p, E0 G

    6 I% D; W- N6 @& W! j0 d布局方案        优点        缺点, Z2 Q; E4 Q% h' }
    浮动        兼容性好        脱离文档流,需清除浮动
    ; ~5 F* q$ a: _6 `% c绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。
    ; O/ d/ ~0 y7 r4 K& \" T" Qflex布局        目前是比较完美的方案。        只兼容到ie9。
      _# I+ E; k0 I; b表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。7 Q# i4 V. `* P& E5 f# t
    网格布局        新技术,代码量少        & o2 q  u0 O8 W
    <!-- 网格布局 --># x! Z8 C' S7 J, |  g2 ^7 q1 q
    <body>- D* k6 T! X% Q
        <section class="layout grid"> 9 P4 E0 I& c( l0 `8 d/ {
            <style media="screen">6 e& E- M( z+ a& U. I$ P
                .layout.grid .left-right-center{
    2 C! C6 E4 V* q5 {  M: P$ K! W% q                display: grid;
    7 A; c5 x0 N  g% R) P$ [7 s                width: 100%;
    6 o- y3 R: W+ A: [8 @                grid-template-rows: 100px; // 设置行高
    ! n) `; t" p& L, H* A                grid-template-columns: 300px auto 300px; // 设置每列的宽度
    3 Z/ n9 s( [% C$ `. w: C
    2 b( W( _4 u, O, `' W; Y$ J8 `        </style>4 V2 b; W$ }- e! r" B: G
                <article class="left-right-center">8 w+ N# U! T: |7 \1 y6 q; l
                <div class="left"></div>
    5 O" [$ ]; d- ?# Z  V; z+ L: v: M# U            <div class="center"></div># a* I( X6 P2 a  S, O9 J5 c, j
                <div class="right"></div>6 b0 ~& q' p, Y
            </article>
    3 l# O8 m; N: A, E# i, l    </section>0 `" N. s3 p8 }6 E3 p8 y
    </body>
    + n# A8 @3 }# Q! }- P  f' w3 C7 g) h5 c* _
    css盒模型
    ( ]7 W3 [1 q( m, y/ O' m' w, a, H& {! K- y, d/ A- q
    CSS盒模型的认识
    0 v3 D5 L4 |" S* p& w4 X
    ) I3 F) `! p: Z- T! ocss属性: content padding border margin% C1 ~3 T, V" J. `# w8 X
    % [, i+ W7 `$ X: P: f0 H
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型- u) \! h" |& {; J: Y/ b7 n0 s9 Q& Z

    " l! y- V3 j! ?6 R) k2 c两种模型的区别:计算高度和宽度的不同6 l* k, t4 }4 n$ r% `' {9 K' t

    . ~6 K: B3 _+ O; v$ h# d两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    $ Y' s9 ?/ b2 T! ^8 m; x, ~8 q( V. u! k0 g- v: n: v% r
    JS如何设置获取盒模型对应的宽和高: v0 t+ p1 ]  J# X9 I; b

    ) P2 S# m* E, C. a& s! D* a获取方式        优缺点$ z( b  v* }3 L, `. G6 s
    dom.style.width/height        只能获取内联样式设置的宽和高1 Y" d/ }0 I. g" p( j/ n$ P0 ]0 |
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie5 ^6 P1 }9 R! _. \; m3 X1 e
    window.getcomputedstyle(dom).width        兼容性更好' k* ~$ [+ Y) I/ y0 T
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置3 a& ]* D& H% {# h. ~- E- x  x
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    : \/ s# R" H( K! I- a7 j; `# Z0 @
    块级元素包含了子块级元素,子元素是100像素, q7 t: M9 o: ^. Y6 C: }& w; M: r
    子元素与父元素上边距是10像素
    : X& J0 U6 l. S; d7 Q父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    ( i+ J/ ?* V, W另一种兄弟块级元素-
    2 A4 i0 k7 J6 U5 N
    7 _* u4 J) G( `8 D5 O" p, ~9 Z挨着每个都有上边距或每个都有下边距。-) P! k" t6 u2 x& W" Y* d3 o
    该重叠的原则就是取最大值# d+ |' [1 S* _; Z3 X: j0 U
    空元素的边距-取margin-top和margin-bottom的最大值8 f. T$ y- M, E
    解决方案:% o& r8 |4 ]% Q2 V, n

    + }; T% u, ^% l: E2 r2 a父元素创建成一个BFC (无论父子,兄弟情况)
    ; z, }$ k, S# u( S8 D/ ~  [- ~8 o/ @4 W7 U0 S0 q9 ]
    4. BFC (边距重叠解决方案)
    + `$ c  C9 [' t6 J
    " `) P/ b5 u1 U/ W' o' g! SBFC(边距重叠解决方案)
      |% u  ]5 h3 E" R/ Y- O. {. W" ~- S# {6 U9 i: b
    1、BFC的基本概念: 块级格式化上下文;
    - X0 [" w+ |  R1 @+ g8 C, ]
    : J0 C! S7 i9 G* F( p( ?2、BFC的原理:BFC的渲染规则。
    : J$ R" m2 n, B% m3 }, d1 k
    5 U  }0 F" Q1 O- e①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)+ B1 f9 N% L' Q- f; k# }
    , X) v. Z" n% J
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动); W# i, G  n0 o# u. l

    , a& Y1 v* u1 L6 C9 q③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。5 W4 l6 w  c& w4 D

    7 }9 L- R4 H& N0 Y④:计算BFC高度时,浮动元素也会参与计算0 |$ ~2 H7 I' b, L% K2 k/ u
    # Y1 |! V3 L( h* b% x
    3、如何创建BFC3 y" f* r7 Q- [3 X& I
    6 l" z) |& ^0 G$ @
    ①:float不为none。$ T5 V6 N0 [7 n5 A% {+ }. B6 K

    ( p7 ^1 m3 W) z) ]) L②:position不为static或者relative。- H( R) m+ I! u* Q

    $ Q" \+ W7 \0 O- U: F+ M) G. k③:display为inline-block或者是table相关的。
    % [7 B* G% y; f. N+ T5 C3 s: }( R. W8 u1 Z: z$ P
    ④:overflow不为visible。
    4 P; K$ C2 f- B2 x) Z) h' l7 r: v/ A1 Q8 V, l6 }
    ⑤ : body 根元素
    2 u9 m- u3 \( I  Y. {4 G0 g6 d2 e  R' v" W1 e
    应用场景: & L% n7 |  @4 f- Q5 d. o
    左右布局时,float
    3 `' M# E, |4 U相邻div使用margin产生边距重叠5 R! _. P) U/ d6 A( r
    dom事件
    ! S! S1 c3 _, ^: c, J( S
    . J- }0 G3 w5 ?; E& Z基本概念: DOM事件的级别6 o( Q6 K) z! ?" g! b: Q  w
    * t1 c1 Y- D( E$ v
    DOM0: element.οnclick=function()( S: A8 C% U+ V) }: c$ p: N, `! h

    % ]+ T) Z8 W5 l2 zDOM2: element.addEventListener(‘click’, function(){}, false)4 \+ y/ ]1 d$ e: H# E$ _3 S+ @
    3 I9 i* _% g; h& o7 q: A% m
    DOM3: element.addEventListener(‘keyup’, function(){}, false)
    ; p% L/ f$ H0 Y  r* ^2 g0 p* c6 z. c* U& L  z9 k  G
    DOM事件模型
    - Z' K, v! R! s# U/ ]
    9 y9 k& F9 M" T0 K! i  ^event.target 2. event.currentTarget
    4 M1 T- S- n8 C' [6 i8 bevent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    1 D5 F) Z! U# U3 ]0 e9 ?: K) MDOM事件流
    & h! y" Y0 d6 I! [9 ^% f# Y4 Q5 a# y1 A& q( t
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    : O7 U) p# T+ G: z6 l描述DOM事件捕获的具体流程
    ; M" o0 P1 a. o" l' }1 E  F7 d* D, d# R+ t! a& Z/ l; ?
    window 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    + W0 A0 m- ]+ q+ cEvent对象的常见应用. `2 q# V% E% B  ^3 d" Y
    ! H5 q& K% p. G$ U1 D
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    5 F2 }+ H% P8 y- b( b" i6 h9 [自定义事件8 }% k' E/ V6 j) r: {3 z

    9 |! B6 m/ t: a1 q  m7 v& svar eve = new Event('custome');$ G4 ^( D7 ?2 U+ q6 D+ t
    ev.addEventListener('custome', function() {
    + C: B. l, ^  V    console.log('custome');
    5 s4 E: C4 O8 T0 i# X});
    / f. n% v" M2 w* zev.dispatchEvent(eve);' l6 V, Q+ w1 d2 S8 x& r
    1
    $ ?: V( f3 u) E- G' A5 k2* h& j: ?' W& A$ q* r
    3$ _$ H) \. J5 S' D* F8 a' S
    40 _$ {5 v- R9 Q7 q
    5. ~+ ^$ |( C+ ~" j
    http协议7 s' H2 J8 z* o2 A& S1 ?

    - F  Z/ }- X6 ^5 A: @8 I, _HTTP协议的主要特点
    ) b4 Z2 i. X& v: T
    4 V1 }9 k; V: A$ m; [' D简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、$ q1 L; W# N+ h
    ) D2 E8 w1 I( m1 B* o/ Y
    无连接(连接一次就断掉)3 B; P1 e9 Q/ i; I
    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。2 }0 L" ~; p& O$ H1 B- o- Q
    无状态(两次连接身份)
    ; C% u: `/ b0 ~) a; W" l9 f是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传" k* G) D& `* G# l
    HTTP报文的组成部分
    8 X- t5 |( q0 O* k; o6 \6 [& h7 `, @" ^2 O" L, Q  H) ?( f
    请求报文) i* K2 J4 `( }* y3 [% V
    + ^0 _2 s; p6 `( @. |2 b, b4 _
    请求行 请求头 空行 请求体+ w: w) C" A: T& }( k6 x

    4 @5 y# D" y" s/ ^响应报文
    # C5 ~# e# ~/ ]6 |0 _9 y; a2 a4 I" @/ Z. C; W
    状态行 响应头 空行 响应体9 P5 D! m( Z2 Z  a' y5 j& i3 `3 Y5 V
    & X% X8 d: V5 E/ K5 Q  g
    HTTP方法: {9 _9 e: I, C6 E/ k! J

    . J9 Z9 a) s" [9 p9 }5 ~  ^: [方法名        方法作用        注意
    3 x6 U( v1 n9 Z& w. L! \, OGET        获取资源        7 I) H: c5 j7 G* z
    POST        传输资源        ' w3 j. T7 M2 ~* I9 ]8 z0 b5 C+ N* N
    PUT        更新资源       
    3 g2 X; N; t/ i- d2 nDELETE        删除资源        / V7 V5 C6 D, |) D
    HEAD        获得报文首部       
    % A' v: @+ x4 a% U$ W1 APOST和GET的区别
    / P* u6 E8 t( r; D  m: ]. M
    6 b0 z/ j9 \9 a! a" z4 e/ J4 Fget        post
    % g% D* d5 k, j4 {在浏览器回退时是无害的        会再次提交请求
    ) z+ M* i3 u4 l4 n! h" o* `产生的URL地址可以被收藏        post不可以
    : W' l- r0 W( \/ |$ R* E' E3 G( U请求会被浏览器主动缓存        不会,除非手动设置
    : ^7 A+ K( u5 r# C8 a$ X; K只能进行url编码        支持多种编码方式5 ~/ ]. B1 i/ \% T) G+ E) z+ K
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留
    ) q4 I% w# j* d. _请求在URL中传送的参数是有长度限制的        没有限制5 p% N2 U. c7 P/ k1 W$ o
    对参数的数据类型,get只接受ASCII字符        没有限制: g& l% Z, N  o- t4 _
    更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    / s! D  m4 T+ P参数通过URL传递        放在Request body中7 Z& H, R0 y5 J+ J8 H, s. x/ h, U
    HTTP状态码
    ; }+ V/ t4 q8 o3 J/ P2 K/ |' w! V/ V
    状态码        意义# z0 f& H, j3 d5 R
    1xx        指示信息 - 表示请求已接收,继续处理。- F" T8 h* Z" O3 U: O( i! E; J
    2xx        成功 - 表示请求已被成功接收。4 p' I5 ~" l; H" Q' }8 Q0 E' b
    3xx        重定向 - 要完成请求必须进行更进一步的操作。5 Z4 K4 u( |8 O- Z9 t" `  Y
    4xx        客户端错误 - 请求有语法错误或请求无法实现。
    0 \8 _9 B/ h) R" Y5 R5xx        服务器错误 - 服务器未能实现合法的请求。1 X5 j# |7 E& [" n
    状态码        意义0 ^4 h: {+ I. [# m5 T; \& P
    200 OK        客户端请求成功" N+ O6 Y+ s5 g" P: M: v. ]# ?
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    1 b# @5 Z: Q2 c; J301 Moved Permanently        所请求的页面已经转移至新的url
    1 U) B/ |" {% |7 I302 Found        所请求的也么已经临时转移至新的url0 u7 P" q& |4 n2 s) C
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    $ i2 y5 U. C7 Y- u; J% W9 W400 Bad Request        客户端请求有语法错误,不能被服务器所理解: y% `& i4 N2 [2 Y# ]! t* Z" T; y
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    * \" z$ e% {& R, l( p403 Forbidden        对被请求页面的访问被禁止: j/ j' x6 h* _. K4 V$ p6 V
    404 Not Found        请求资源不存在
    " Z9 C2 O  |% @6 s3 ?1 }: y, C. g6 E( I/ X500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用4 j/ B6 r( A* @* E% j
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    0 |- x- Y0 K6 G8 r. s, X什么是持久连接; g+ f4 `, O) W. \: r/ j) J

    5 t4 B3 n' s5 E% t3 d- k2 [HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议), \5 O1 E' h; ], [
    ( O/ r$ k8 b% F) K; ~- X) o+ `# \
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。% K9 d' a- a* E: n% Y2 Q

    5 o1 e% e: W% {4 I3 ]$ R使用了持久连接% _: g( |* w# E  U
    1 b5 B8 E, j7 j0 C
    请求1->响应1->请求2->响应2->请求3->响应3) b2 n; k$ K$ m  R

    7 _) |( k8 V# H2 v* N0 x, W变成了, `' j8 Y# ]) J1 x

    * Y* g, |0 {5 ~请求1->请求2->请求3->响应1->响应2->响应3
    9 u- ^8 a. g! r+ i7 V  @( ?9 \  O$ g2 L' a1 M9 ?8 d1 a
    什么是管线化
    , d: [$ O  k7 v/ @( N6 H# F! X( S8 V6 R7 k! _0 O
    管线化通过持久连接完成,仅http/1.1 支持此技术
    # r' K, v- n1 q( N只有get和head请求可以进行管线化,而post则有所限制
    8 W3 I! S; o) P( D' q0 ?1 b+ I" y初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议* `' A% P! D6 [# m* {

    " W; C+ t, c5 l& z1 C安全; {! O& i0 p- L7 `' c: }8 R

    6 g. q, E, l5 X; l5 b& C/ z8 xCSRF% _' e. \4 q, C. X" t7 P- ]1 n) q
    基本概念和缩写* n% ]$ F  A# M* O' z
    CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。4 c1 C& G! Z% ?9 L; c+ a
    攻击原理- A& g5 J! q! B/ K2 S2 n0 o
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    4 D3 @" {/ X+ n+ s! G# Y这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。; x; I0 [+ x' G+ R% d4 e9 H- P4 H
    XSS
    1 A. A; }7 s/ r+ r基本概念和缩写
    / D5 S( w& z6 o* I+ Q' g. o3 cXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。* Y1 R) h5 O/ ^& K
    攻击原理
    5 `# _8 D5 r# \9 U3 `: t输出脚本code
    ! |( u2 |+ Y  M" H, x" E2 K跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。9 V$ d! G1 X7 x- F! ~! a
    xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    # x+ X& k/ S: p4 w; ^% D渲染机制类( t/ {3 s! a* E2 w/ S

    6 {+ l3 y/ z, N4 s什么是DOCTYPE及作用
    " z' R6 G- q1 `) s$ I1 |, u) G) c8 h1 Q, \  c" J
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
    ; J. e& A6 B9 O9 A6 r; A) p# ?3 q作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。. x4 ^" x( v9 h4 s
    DOCTYPE是用来声明文档类型和DTD规范的,
    : K7 O/ ~9 y# S8 e' `: w5 d作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    5 ]+ @) Z$ x$ v4 f) H# AHTML5的DOCTYPE:
    : M. m1 \- O- b' A1 q- P
    * h5 g6 D" K/ f- U6 ~9 L5 r8 BHTML4有严格模式和传统模式
    & t) @3 k1 C: A, Q& b5 K
    ! f4 }/ h2 Q9 t: X2 @3 u4 H$ r浏览器渲染过程
    4 \) F& n* q- U/ M  M) [/ _
    , a5 o, }! {( X一些概念7 E, `" Y/ M( y5 U" B. \- c; V

    3 |/ O: G) E8 t$ b, V名称        概念
    ; f9 s  h( s4 e; w3 y. ADOM Tree        浏览器将HTML解析成树形的数据结构。
    ) ^( U) N  n/ e, ECSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    6 v! |! s* Q, `( T5 n6 {9 b: N& VRender Tree        DOM和CSSOM合并后生成Render Tree。1 o) l/ ^& _* s. L- }8 q7 |
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。3 E- P- V' g- D+ E
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。% {) @4 ^# z; Z
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源- S" e6 X* f. F& R" @
    2。HTML解析器会将这个文件解析,构建成一棵DOM树
    * p2 U" ~/ y4 `6 G- T: f3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器2 V; J9 _3 t, ?; f5 Q
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成8 V0 r! U: x7 T" o% K& I  |' M$ _
    5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树
    / x- c7 T! I9 r& c2 \( ^6 l6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树) @7 B$ c2 w, w' G
    7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去/ ~0 y; z( H1 I2 p
    19 J7 d7 N' U: R8 j8 ?" M
    2
    & y# c0 x8 t1 r3
    ; I* b; P2 q5 x$ F4 R4; T3 q8 U0 x5 e* X
    5
    * J9 k3 M$ ]9 h6
    4 Z2 t! k$ b8 C: G" s2 J7% C# f4 Y, f) y7 J6 e# h
    重排Reflow
    5 d- X( z' L$ d$ g" _! M+ k( @0 D- C1 ^/ `
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
    6 M) W4 T% F) z, |  f5 ]4 c' K( F触发Reflow:2 ~1 a: X+ E9 v; S2 Q. l' v
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    , y+ F/ `, y1 Y& q" o2 j当你移动DOM的位置,或是搞个动画的时候
    7 b4 X0 m0 K, _+ W& j% J8 Q当你修改CSS样式的时候2 O- Q9 N$ e4 m
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候- f5 l- G) I& _
    当你修改网页的默认字体时, S9 r' b2 v1 u2 C
    重绘Repaint
    ( l/ \; G1 v/ B3 C" w5 J
    0 g" |4 p7 k& I9 C定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    ! e- A0 t' K( K  z5 Y% B2 H5 w7 D1 g' ^; o( L( o2 e
    触发Repaint:( W5 Z) \9 C$ X! c% T1 W

    ( ^; d$ D6 L( e7 [DOM改动$ W6 X5 m) w: ^. T7 r
    CSS改动8 v! H4 X" \( k3 @7 _' H
    ————————————————8 S" x0 W, B+ `, U) H+ F! J( J
    版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
      e" E' v/ v2 O原文链接:https://blog.csdn.net/u012015672/article/details/105931291) _* Q; `# j: ?! u. W5 B
    8 `6 l! m6 \& @! R6 m

    ) E, j! u0 v# J4 M
    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 11:48 , Processed in 0.411203 second(s), 53 queries .

    回顶部