QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2236|回复: 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 知识点(未完)& w+ H* W2 n* r# b2 i6 t3 ]: p
    . a" v9 X2 p) s6 I- N
    HTML 知识点
    % J. l1 d+ s( V) v5 W9 {$ s; V8 t- x" }
    三列布局- (高度已知,左右宽度固定,中间自适应)
    # K: y; v1 R! Q' o) ?, s% B% C* t6 g6 T" o. C  D1 N
    布局方案        优点        缺点. L+ ?, y! o: H- W
    浮动        兼容性好        脱离文档流,需清除浮动" M$ L" n. H# f1 a! S
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。1 D% T2 B' e. L5 U3 W! c( f
    flex布局        目前是比较完美的方案。        只兼容到ie9。, X$ J2 `* T6 H( @: N" x
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。
    9 o1 `% x4 G* {9 t6 l9 r" Q网格布局        新技术,代码量少        5 ]& T2 c+ L5 P& E; k4 O( W
    <!-- 网格布局 -->- @$ ~' v1 [/ V$ B
    <body>
    " Z+ m# C, q8 N# f! V1 E$ f    <section class="layout grid">
    ; n$ ^7 @; _2 N0 e        <style media="screen">- ~$ e) v; {$ z& g
                .layout.grid .left-right-center{
    + o% k, R5 b8 E0 I/ v+ U                display: grid;
    ! e: [7 x! c1 m- H1 n5 s                width: 100%;) F) }% u  P8 m
                    grid-template-rows: 100px; // 设置行高
    3 E, f# m2 V% ]' ^# b                grid-template-columns: 300px auto 300px; // 设置每列的宽度
    5 G; @7 ?8 T7 ~! H( X: U. J
    ; T# p; ^' X9 G& Z  U1 J9 j9 U        </style>
    $ L1 D/ B6 U: ?" |. N7 q  H$ q. f            <article class="left-right-center">) G- ]4 ^) H" m. W9 u  H+ a
                <div class="left"></div>0 s! p8 B, S+ X+ A) X
                <div class="center"></div>
    . `9 ^& L. Q( Y+ @$ H2 v            <div class="right"></div>
    # L+ ~* k7 D: ~- E        </article>
    # |0 s; o7 G7 v9 K* Q4 v9 m$ A    </section>5 p8 n2 k/ i( a
    </body>
    , |' b4 A6 W% r& j
    , w9 e. z) u( t+ R/ Z' g, Vcss盒模型, U4 {% d: Z" a: \" M" s

    : U' w8 f$ e/ Q/ FCSS盒模型的认识4 e% \& M+ d+ U( z  l

    # P6 E1 @  @* k0 R2 x4 Z% ccss属性: content padding border margin- X- C/ [7 `6 c4 N3 l. F6 G
    & @9 k4 L" D, o" `% q
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型7 A* j7 F2 i  p7 l' ?
    3 G3 K( W8 v( u5 J+ |
    两种模型的区别:计算高度和宽度的不同
    ( D! Y  K  O* h. u1 P
    * ^$ I  B4 ^) G* n% y/ \0 I. j两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    . g2 i- m+ _, k3 C1 H9 c- S& @; {# I9 S+ \) d
    JS如何设置获取盒模型对应的宽和高
    9 |3 ^8 J1 [9 `# X7 ?4 K0 j3 n% @4 O  _, _4 A5 |7 O- Y, N
    获取方式        优缺点
    3 g# V* {4 T' D1 g/ p) Cdom.style.width/height        只能获取内联样式设置的宽和高$ O* Z  j. x. O6 e% d5 n$ ?! r6 R
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie
    * ~: j7 z+ |: k  _( cwindow.getcomputedstyle(dom).width        兼容性更好5 a% \" z( j0 r
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置: P1 D( e3 u8 E$ H
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    ' ?/ G" ~2 g2 a: Y0 ]
    ; z4 d5 I1 R# Q& D* I块级元素包含了子块级元素,子元素是100像素
    5 B" i! @2 d5 A7 D子元素与父元素上边距是10像素
    9 c+ I+ |& A0 A父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    6 i; A  \% ]8 R4 E$ s( B另一种兄弟块级元素-
    # [% P" O" R7 O. g1 m& D: N3 Q0 h. E; R
    挨着每个都有上边距或每个都有下边距。-/ U' e: [  C* d5 U: P' j
    该重叠的原则就是取最大值
    4 v# B3 H' p/ A0 U- M空元素的边距-取margin-top和margin-bottom的最大值
    $ g. x/ G* Z3 j) a5 n5 V解决方案:
    6 c  q; N- g+ j% i0 m5 [4 F* H( Y. C
    ! f- T/ X  [/ K; |+ h父元素创建成一个BFC (无论父子,兄弟情况)
    6 K! y0 O) y" H: D$ n8 Y8 I8 a& B) K: S: ^' \+ w3 j/ r. k
    4. BFC (边距重叠解决方案)
    & E' c4 J7 @4 l: m& p: ~5 H2 V: ~* k, X& ]: I) d2 A$ h
    BFC(边距重叠解决方案)% W0 K' m& |% m
    3 z9 u8 k. ?1 r5 w& u7 [
    1、BFC的基本概念: 块级格式化上下文;
    " y" h7 @# ~7 V) }# e) r
      e" }4 W: B$ f9 A  u1 _: A2、BFC的原理:BFC的渲染规则。0 ?6 K! G+ X5 n$ d/ g/ Z+ E, a

      ^. Z  w" |) K$ ~' _①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    3 o% w/ h; [" i7 Q+ y0 N
    ! z' E% A5 j6 ^8 U②:BFC的区域不会与浮动元素的box重叠。(清除浮动)( G5 _' w+ q2 t* y; k  R7 S% }9 C0 l

    ) p3 |5 P) N+ n! G0 b& u③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    2 J7 N2 M# ~  c9 {9 v. k1 x" C4 W) D# e
    ④:计算BFC高度时,浮动元素也会参与计算1 F9 X* ]; g  g" [7 x" j

    & M$ a8 z* d3 X$ L- P3、如何创建BFC
    * [9 b5 j3 s. ~/ R" U6 d! d' k8 |" j# Y
    ①:float不为none。3 ^* W* e5 E/ [& V6 s$ a

    & V* e4 ^$ m) y& y# L②:position不为static或者relative。
    " Z2 {0 Z; c, e7 Z
    ( W2 p4 q/ i, q③:display为inline-block或者是table相关的。
    / d. _  `# ]% d/ j: F8 T) A1 ^3 t7 i4 u0 d4 P* H
    ④:overflow不为visible。& Q: k$ Y$ @! d9 J# d$ {" }2 K+ ?0 f

    2 J( j7 \: F5 `; D  k1 D3 r⑤ : body 根元素
    9 r) N" P3 q- d: U( i0 r  R' {7 V& [+ q
    应用场景: % k) }% r+ W. e0 H( y0 C
    左右布局时,float
    % }0 _5 ~  \# _7 u) W) d, R' n相邻div使用margin产生边距重叠
    ) e! r; M. B6 t8 p' y- v) W6 _; vdom事件: k& q3 X1 k3 j+ w, c9 [

    - m* `3 E; d7 @+ M+ ~基本概念: DOM事件的级别
    ' n) R" e+ e0 v2 @% m! O* Q/ ^! P) J2 A' j9 e
    DOM0: element.οnclick=function(), @8 B* b) i; l) _

    ! Y2 v+ l7 c' E6 UDOM2: element.addEventListener(‘click’, function(){}, false)( v& N/ j& }; e7 Z+ q! f% {+ f4 ^

    0 v6 g: _7 b/ J5 R! Q' B8 _4 X3 k. [/ `DOM3: element.addEventListener(‘keyup’, function(){}, false)
    7 e, s3 @* ^0 h! a4 h' v
    ! n2 P3 q7 ^' W6 O, v/ u- SDOM事件模型
    ; h3 Y1 _3 g& _0 Z, V+ |/ b7 N1 K9 g6 s
    event.target 2. event.currentTarget
    % D0 z7 V$ U9 x% C  T" oevent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    * p& b' b" ]8 h8 |0 r" CDOM事件流+ ?6 S0 y- O8 h7 G) n$ c
    3 E" e4 \: F5 s
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    $ R, Z  R' _. X) f& n. T' ]描述DOM事件捕获的具体流程
    " x3 `/ y7 |. x# P4 P2 J7 c
    * e( M7 P  D" D; ^2 ywindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素/ |* v$ B, t  N5 `3 f
    Event对象的常见应用8 f$ E% W8 }- q4 v

    0 K: T+ Z: c! ae.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    , C/ O+ r2 d2 e7 W+ Q7 O6 c自定义事件8 E- x3 Q) h/ c3 s

    $ P1 p9 G  h  E' [* Uvar eve = new Event('custome');
    ; D, d7 B. |$ rev.addEventListener('custome', function() {6 B. Q2 z! `* M
        console.log('custome');
    2 c& p4 m$ L  w/ h+ u/ C7 \0 r% h1 h});$ Q' g7 Y1 a$ c
    ev.dispatchEvent(eve);
    7 x9 a7 Q5 @. f- j2 X9 y: Z+ Z: P1
    3 P( y1 t0 ^; i& t7 ]' Y0 S2
    & u2 b0 L0 Z( ~3/ E1 Z& h& s  @4 T  `* K
    4
    2 N' z6 v" }# F' W" ?5, h3 n9 W2 n; n
    http协议3 f" |6 k" I% v

    ; _- ]+ l  S" G5 ?3 k, ?HTTP协议的主要特点/ K7 N% s: x6 F3 W
    ( n  u, D9 n4 _, T! e) r
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    1 P9 u' U/ c2 Q, V& N( n5 q/ ?' B. n  [! g
    无连接(连接一次就断掉)
    ' B) O7 o# P4 y$ h& d7 H无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。' y! n- n" H7 M: H8 F  q
    无状态(两次连接身份), C# u9 h1 K! n# o
    是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
    - ^5 v& ^  X& C3 z9 XHTTP报文的组成部分  {0 l! S1 Y, N+ d
    ' M$ ~. C1 l9 t+ X, O% @4 C
    请求报文
    9 m* A6 [2 \; n0 ~. A
    8 F6 E# |+ ~3 s7 j请求行 请求头 空行 请求体
    , L2 O* h  U7 s; c8 G1 O/ x+ G) s
    响应报文- G, }; _* Q, p! J& u/ {8 ]. E& Z

    6 t7 J6 [# x9 W状态行 响应头 空行 响应体
    ' s  w6 Y9 ]* g. {. k5 I
    + |9 Y7 ~% T3 n: Q0 WHTTP方法
    ) O( u, V  D. g1 Z) @  u
    # C" m1 V, g1 h) B方法名        方法作用        注意
    ) I6 u" W: S5 m" A! X/ c! zGET        获取资源        $ B, B6 x: v4 w5 }. o5 X
    POST        传输资源       
    $ t# @( p! H- f! p7 T+ u# j$ `PUT        更新资源       
    ' [4 i1 H  Y% {DELETE        删除资源       
    % |, _9 a) n8 ^! x( KHEAD        获得报文首部       
    8 x; i& I3 u6 u, m1 U" }6 ^POST和GET的区别
    4 W6 A" z' ?0 ?: W6 R
      J9 t: f9 M( u( Lget        post
      `1 F0 `1 S9 S6 p+ [! b在浏览器回退时是无害的        会再次提交请求
    6 R, W) B2 |" h7 V' W& T产生的URL地址可以被收藏        post不可以0 T/ ^- G+ F' A- I# Y$ {( y2 d
    请求会被浏览器主动缓存        不会,除非手动设置
    0 g8 o: v1 _5 c9 Q只能进行url编码        支持多种编码方式
    - h" {" |/ y7 B6 V  d$ @请求参数会被完整保留在浏览器历史记录里        参数不会被保留6 O# G' ]& [! P
    请求在URL中传送的参数是有长度限制的        没有限制$ `1 J9 C/ t+ J3 G
    对参数的数据类型,get只接受ASCII字符        没有限制
    " ~! S) K& D5 g$ ]5 G: z, V# ~2 \更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露& p% N+ `" v! @5 U8 f# P
    参数通过URL传递        放在Request body中
    5 j1 e1 j$ T1 i0 e. \/ y" fHTTP状态码- v, T4 e, Q8 Y) D1 M' {5 F4 N% G
    : D# G9 n* D; l2 [8 j6 w8 @; ?
    状态码        意义
    ' F+ r+ x" a$ |8 v4 E1 I1xx        指示信息 - 表示请求已接收,继续处理。4 W# b# i. P( t6 \0 n/ v6 l
    2xx        成功 - 表示请求已被成功接收。
    7 F+ v: ^1 M+ Y0 D, J) {2 t3 G7 a3xx        重定向 - 要完成请求必须进行更进一步的操作。
    9 X( a  b6 m& q/ D* w0 h6 T: D4 g4xx        客户端错误 - 请求有语法错误或请求无法实现。
    2 U% d* H" }) z/ G% T5 Q4 g5xx        服务器错误 - 服务器未能实现合法的请求。( y# k( J7 a3 c
    状态码        意义
    ' Y" n4 g2 t/ b$ N/ T200 OK        客户端请求成功/ q: W* }' k" u
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它3 u& e) {" c" g+ @0 ]
    301 Moved Permanently        所请求的页面已经转移至新的url; r( x, p4 m6 ^; g# V8 ?( K! A
    302 Found        所请求的也么已经临时转移至新的url" b8 s. @0 ~: r$ h" v9 Q. ]
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用. D$ k  O4 l1 _5 n) d/ H
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解
    ; `1 B, C/ X3 A% b401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    * d. p- U+ X" v; c! T$ r9 ~403 Forbidden        对被请求页面的访问被禁止3 h& N. Y! B/ u% s2 H+ a2 T
    404 Not Found        请求资源不存在& D2 w- I/ f2 T0 K4 L: m) M
    500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用; J) ?" w& q; c  j0 e1 r- ~/ Z
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常2 j+ M7 m- `3 B
    什么是持久连接
    ) W. P6 N0 d9 _  G& F) w$ W, M
    ) q8 ^9 |0 c# t0 T- x7 g) eHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议): U" Q( w# Y+ T2 R7 t5 `! d* \

    + O5 B- u' \5 w: w' ~( ]( T当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。+ ~! x* @/ f7 d- Z- \
    / a7 O6 M4 V, i8 @  `9 i
    使用了持久连接
      g! x- Q3 e5 e7 s- r- g0 d- X0 G
    3 D  s% f1 ^- B2 `: M& r请求1->响应1->请求2->响应2->请求3->响应32 Z8 d& u4 J9 |8 x  U- ?
    - v  k1 B) n0 C+ q8 R+ I
    变成了
    2 _2 }: P  `4 w$ m0 u; g& t  R7 j8 q/ q9 t4 f' @! T+ q' x
    请求1->请求2->请求3->响应1->响应2->响应3
    / h4 R/ T: |5 Z8 ?& _8 O0 ?3 e9 {, }8 c) ]& |% ^; Q
    什么是管线化" x" J- B; E! u
    ! M2 k- j. M1 B$ q6 Z9 h. S# @
    管线化通过持久连接完成,仅http/1.1 支持此技术' {/ i8 U' m& I' |( l, S0 W% C
    只有get和head请求可以进行管线化,而post则有所限制
    2 p7 u; A# P8 m! S# [3 g4 D  w$ r初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    $ I& a; v3 e8 m  S4 I% v' d8 O3 C2 r) h
    安全
    3 C  O; Z0 K! a* k' f1 U1 o  {- j
    CSRF1 K3 r2 D. ?; r' L& W
    基本概念和缩写
    ! h7 q0 }+ A' v. C) j, TCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    - k8 f* G: k! v& A3 u9 o6 @) T2 h攻击原理
    # j* D9 \  T3 k1 ^访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    % S4 y4 V, {7 q0 l! V% w5 O4 V& c这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。; F6 V* u, D; @$ k% ~% u: q
    XSS
    6 A8 Y- k" P) f$ j; Z* A8 k( G6 z/ g& f基本概念和缩写  R+ }1 [+ D9 i
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
    , ^5 P% [5 k+ y( K+ U攻击原理5 O% u1 x+ z" O4 w/ |7 x, T
    输出脚本code) ~$ }5 W* B1 r7 q
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    2 b, ^+ j+ s! ~: g6 Sxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    + y  Z0 @3 E6 C6 w) Y渲染机制类
    + D' ]6 d1 N" C1 A4 c6 f. W3 F$ N( i8 l
    什么是DOCTYPE及作用8 C3 J2 e4 u% t7 [" h

    ! B; ~3 w3 L' k! YDTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。0 C! X( M1 n( t4 |' X6 I
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。
    0 ^1 ]. M) L1 W( i: }DOCTYPE是用来声明文档类型和DTD规范的,
    / d- m# j; D2 o8 i# S作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。- n! S8 s! J9 [
    HTML5的DOCTYPE:
    $ l. J7 U$ \' I. j$ F! A
    & K5 S( D9 J4 D3 `) P, wHTML4有严格模式和传统模式( h; q. K* u. u, y+ p/ V6 Y

    " _2 I- b; I# m( p4 M% e  |浏览器渲染过程
    3 w  j; [" W* z: G& g
    # \; D/ [8 t& J& T9 J; k. ~3 J0 d一些概念
    6 J6 d) _9 N1 ~7 R) A
    ( E. o/ {- c% R( Y名称        概念
    * W: n2 H- j/ Z0 eDOM Tree        浏览器将HTML解析成树形的数据结构。
    " g  o' S$ S8 VCSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    3 @4 o" W7 p) \( uRender Tree        DOM和CSSOM合并后生成Render Tree。, i4 J2 D5 [8 w5 u7 g
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。
    ! u. I5 I* p% R, o) ^6 p6 apainting        按照算出来的规则,通过显卡,把内容画到屏幕上。4 N. u( t* ^/ G' u) g' X% n
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源  I  |& k- i3 w6 n0 F/ g$ a* m& I
    2。HTML解析器会将这个文件解析,构建成一棵DOM树
    9 n0 p, R) x/ u- ^" |6 A3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
    * f( b1 d. X% Y; E/ s- i. h+ k4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    3 l) Q% H% z, s: G- u0 G2 b5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树* K9 m% U9 C- q0 Y
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    3 [7 L% J  l: ]" @7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去0 d  ~+ n) @) l: e  Z$ x9 |5 a
    1
    ' S- t7 d- O$ P- l% u6 I. e+ k2
    9 L+ }2 O* C1 C, E$ n8 @: d8 D; s3
    $ u3 S; D$ E6 e4
    % W; R# h% ?7 I5
    - C4 n( J8 S. ]7 H. l60 p, h# B; \2 K1 ?& _
    7
      l$ [; T8 J& T' T/ g/ x  h0 r4 X/ [重排Reflow
    1 m1 Q$ |( f$ N9 _: y( K
    $ n% [0 L8 e9 k定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。: l3 o/ B, A8 o: E1 [) T# `
    触发Reflow:
    # u1 A. [" m, O; U( b9 K当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    ( ]2 u3 W: v7 J. O! O/ l& z当你移动DOM的位置,或是搞个动画的时候
    ) {: S3 [# J# D/ Z$ P当你修改CSS样式的时候. |- c5 c. X8 n3 N. V7 B( N  ^
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    ) y4 P5 Q( Q# b; d' y当你修改网页的默认字体时
    : e$ z3 s9 p3 g: a+ J+ S重绘Repaint* U5 a! G/ @& U" r1 L  I
    , D* `: |2 e8 j
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    0 n9 u3 j6 _* f' K
    $ ?' E3 E- ]) q触发Repaint:
    $ Z6 t5 Y* g+ W1 `* v
    ( y4 X% I0 ~1 k- v' N+ [, Q  gDOM改动+ k! H: {. c* A% l
    CSS改动6 x4 K. u* {- o& b; w- q
    ————————————————
    ' F1 P; Z2 q& r& F版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    9 J# h- }0 d) U2 _- G7 S9 V原文链接:https://blog.csdn.net/u012015672/article/details/1059312917 m  v' G/ J4 |1 Q) d

    ' j9 Q/ l: A' W! f, `% y
    $ b! ^& t6 p: 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-8-3 22:30 , Processed in 0.419262 second(s), 51 queries .

    回顶部