QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2229|回复: 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 知识点(未完)' H/ k; x( _4 l& F
    0 [0 S$ I4 T0 x3 |+ r3 Z/ @
    HTML 知识点
    5 r1 W- i" s2 f* @7 {( a1 F' G) y  W
    三列布局- (高度已知,左右宽度固定,中间自适应)
    ' f) s  R. ^4 ^3 o& p
    ) P8 L$ v) e! j. d: `2 t布局方案        优点        缺点" V& y  ^( V" |; V& [: O4 l" P$ X
    浮动        兼容性好        脱离文档流,需清除浮动) G. L" b2 `% g; H6 d
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。; _% P/ ~9 B1 X+ F1 C
    flex布局        目前是比较完美的方案。        只兼容到ie9。5 V! @2 I4 X3 M3 w" P+ c8 L% z
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。8 \, }: D( T4 z* j* m
    网格布局        新技术,代码量少       
    2 D: y  ]# X4 b. T7 k<!-- 网格布局 -->! J* L/ o$ ^6 n6 s( ^" {! `
    <body>
    ; d( ]' R, l$ h  n4 A6 O, k    <section class="layout grid"> * j' i) ]. T  @3 Z6 |
            <style media="screen">- a* H0 V: K# k9 q. |% K
                .layout.grid .left-right-center{. P& \! {7 C) g2 r6 f
                    display: grid;8 ]- x% R+ K. H$ [& `" M
                    width: 100%;
    5 X) ], }9 y" s- j6 S& T                grid-template-rows: 100px; // 设置行高; c8 b; k2 j% F. C' h
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度# n4 {9 Q& f0 J( K1 N2 n$ M
    7 h& e5 ?% e! R" p
            </style>
    1 Q2 r1 h8 y& [  L3 i            <article class="left-right-center">
    6 x! Q5 s/ c9 k3 C  Y& p- \( h            <div class="left"></div>' g5 G( k" x7 X5 h' p
                <div class="center"></div>
    6 T$ @* k) e3 L. g. m            <div class="right"></div>
    8 Q- X: e6 X( |4 N' A! O: i# U        </article>2 U, q* s2 V. e2 S6 b9 R9 @( Q
        </section>9 v: {0 L+ s; o9 j( D7 ^, @
    </body>  F9 q0 m! q' E: N0 c
    " K4 v+ @: ^2 |; c8 b; V+ z
    css盒模型
    $ m$ e; ~: s' u, k' X2 e8 {+ y$ _, ?
    CSS盒模型的认识
    % D! O* o) Q/ \2 y
    ; e- e# K2 @- D" r9 o& o' jcss属性: content padding border margin+ I- ^6 C3 l% O# k: J$ ], w
      ~" l) b( s9 H  g8 m) I
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型) a; b3 R8 q  G7 h( c6 `$ ^

    ( P& e$ B0 ~) q" u两种模型的区别:计算高度和宽度的不同2 s$ E) W6 G6 y

    ! v- F. R4 j. i1 e" U两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    ; j+ |/ j8 p0 }9 |0 Z+ H+ y
    - ^6 D  W! Y& HJS如何设置获取盒模型对应的宽和高9 ?0 }: W' [- Y( e' k" C8 [; U# Q

    ; j; ?2 {* Q1 |" |& ]获取方式        优缺点
    ( l3 ~( p/ r" \6 Z; qdom.style.width/height        只能获取内联样式设置的宽和高
    + C- g5 T6 j. b+ C5 f! Q/ Bdom.current style.width        获取浏览器渲染后的宽和高,只支持ie
    : s! }6 H% M+ L+ x" Iwindow.getcomputedstyle(dom).width        兼容性更好7 ~, j5 n; G. B. h# ~
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置8 a+ O4 U0 Y  G! i3 p& h1 ^
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距
    6 _: Y- h, {/ l+ k. V* `: h9 {0 x$ m6 Q! V- S* A
    块级元素包含了子块级元素,子元素是100像素
    6 i0 `5 `3 a* M; ]: B" P4 Z子元素与父元素上边距是10像素2 J' R- X$ M+ z- T' G4 h
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)- q# T% G( p& ?1 t
    另一种兄弟块级元素-
    ; j; J5 d7 w2 }0 [) Q% A  P) V: Z9 \* D( K
    挨着每个都有上边距或每个都有下边距。-6 @0 r/ Q6 y  T. \/ G, E
    该重叠的原则就是取最大值- p  P, w% h( z" d) g; N1 D
    空元素的边距-取margin-top和margin-bottom的最大值
    7 e, Y. m; L8 |: L8 J解决方案:
    ) [+ X3 d0 ], x& x& k) ~0 C6 {4 L1 w# C$ O, m6 |
    父元素创建成一个BFC (无论父子,兄弟情况)
    9 B3 f: G$ T9 z7 x- t* n0 b1 l7 x4 v
    4. BFC (边距重叠解决方案)
    $ s6 c# p1 i4 @8 }! N& J: ^& {/ b/ _, e0 C) c
    BFC(边距重叠解决方案)
    " `' j* ?4 Q! ~& @  A* o1 v* C; V4 l, O, r7 `8 ^
    1、BFC的基本概念: 块级格式化上下文;' z' |* {9 {+ }7 z9 H7 S

    + m$ B+ c3 Z. F, K2、BFC的原理:BFC的渲染规则。
    5 _' Y8 m- W6 j2 s0 |( x; r8 _  u2 A/ d: |* P4 W
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠): f8 m" X6 C: ]  v' M4 w: N" s
    + T1 m6 @- s. p1 f/ \
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)+ j. P$ K0 d: M
    1 G$ i+ I+ {- Y9 R
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    ! _7 K0 P, a. r& |. V1 ]
    ! x5 i, y) [$ @* e: [% @④:计算BFC高度时,浮动元素也会参与计算% |0 C3 j& V/ I* R' c7 r3 K$ y

    % y' c& @8 _4 c) p& C1 H- G3、如何创建BFC
    " R! ]$ ~4 J2 b8 e
      i0 ?" ~' P6 _3 n①:float不为none。
    % v4 H1 m2 ~  N" V/ m6 w* O& m" R% Q& M( l, l% ^5 G3 N
    ②:position不为static或者relative。
    ; Y# ]0 x6 x) k! m9 ^9 c3 N% p3 L/ H" z
    ③:display为inline-block或者是table相关的。
    8 w% C3 [7 q1 U4 |. h& v, {& k( ]! j# ^
    ④:overflow不为visible。/ M0 l# c0 @% v! ^& }1 f

    6 Y0 l9 F; \) t& z. C! N⑤ : body 根元素
    $ L& D, R9 U' H1 t/ H  i2 H, t
    1 r# _, N  ?9 r7 E  o应用场景:
    * t" n+ G* w# [+ T左右布局时,float
    ; u7 @3 q& x3 F5 R+ ?: f& u  F相邻div使用margin产生边距重叠
    ; S& M' N+ C* f: H& o% ndom事件% `; T6 B" {5 S" n% _" X# x$ U) M

    . R) R2 F' D6 E. W4 j基本概念: DOM事件的级别( i7 x7 g- s2 Z( x( ^
    1 e( O% r! p" m
    DOM0: element.οnclick=function()
    0 o, ]3 g6 P! A& `8 u3 \* F( A- N2 C3 ~, k. d% N
    DOM2: element.addEventListener(‘click’, function(){}, false)  N0 c8 s7 z) k) U5 Y; o; v' q# ?
    6 R1 w5 i! M3 Z
    DOM3: element.addEventListener(‘keyup’, function(){}, false)3 `: m9 j( E1 p' |+ r% m
    - c9 p! P/ Q8 z0 y" U& j
    DOM事件模型) b: ^  g+ s( c/ Z

    ) G: k4 ]% B' ^4 p+ kevent.target 2. event.currentTarget
    2 H4 A$ Y+ A9 m6 ^event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    # \) `& O/ `5 c0 t& l, e# gDOM事件流1 K1 q$ y5 `! w; Q. u

    3 j) A; q! W3 H9 F1 p事件流 -->《捕获》 2. 目标阶段 3. 冒泡3 q  F0 s! q6 c( O" e8 o, @
    描述DOM事件捕获的具体流程
    " g, g( T: u+ _0 T' {: q
    3 u9 r: G0 s9 p- n6 Pwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    $ y3 h: t# d% i" ^/ A/ F, ^Event对象的常见应用( w0 A$ n' ^+ _9 o8 b
    ( k! c* Q. o6 H2 Y! N0 l* Q* s2 P5 k
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target(); |& c+ I5 ^5 r" e/ W/ O/ w! @
    自定义事件3 X6 [. I  R4 {. \( N

    1 c- ^3 B+ B7 U$ i' ?var eve = new Event('custome');
    ( B: z: i& t$ \2 @" s+ _ev.addEventListener('custome', function() {
    ' ~5 J! |' z* ~7 s    console.log('custome');% n5 Y  A2 C7 R7 c$ k$ J1 h
    });
    2 K5 ^" C9 l# F( u' ~% eev.dispatchEvent(eve);
    0 l) L' ?, ?! G7 I% A1
    : C% I* ?# X2 F; A: ^2
    5 ]: q( Z! G6 |0 G37 f) r" f, M7 b9 T* _  z
    4
    ' J6 f4 w6 K8 O, z$ H( p5
    $ ~  n! T! `* h5 L$ V: H0 Lhttp协议% z) |6 h0 f( M

    ( \8 E: M/ t$ w& u6 d! FHTTP协议的主要特点$ j7 F1 @  u) I) |. P5 [

    2 c" C$ o2 y& m. `3 C( [' C6 g简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、$ N+ X6 X5 n6 b+ K8 X2 e1 k: p
    ' c( l3 i# X1 ]  \2 _+ K' q5 O
    无连接(连接一次就断掉)
      n) S0 A. s# {) {4 U3 ~! I% k% }; S无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。1 O" T  X1 B& N' ~: k0 [4 P
    无状态(两次连接身份)) `+ C9 d3 k, B
    是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
    $ \2 I, |/ B; j  Q& ?HTTP报文的组成部分0 A" B# N$ B+ R3 n/ V

    0 G. F! w6 Z6 _7 P- m请求报文* N: F: w6 @4 W/ G# C
    5 w2 N! v3 D* o: l& p9 R3 M0 P
    请求行 请求头 空行 请求体! p, G- O+ i4 @, C2 r$ N; p- X
    6 }$ G. U1 W3 [6 f* V
    响应报文
    9 F8 `5 |& R8 y, H# j( m% C  q! T7 J9 G( c  t# W
    状态行 响应头 空行 响应体5 ^" q! X3 v8 T

    6 d- h+ I  n2 K7 j* M0 E+ d5 nHTTP方法8 U# \/ x2 T1 k0 |
    # w( A# s( I; z6 r
    方法名        方法作用        注意
    . h, u8 C( _9 i2 v* c9 s4 nGET        获取资源        " g$ h, T  p  U. s) f
    POST        传输资源       
    6 B# d/ u- ?3 i# R7 F' DPUT        更新资源       
    ( {; J* w" l7 N2 J! dDELETE        删除资源        1 A8 m# w6 o0 R; Q
    HEAD        获得报文首部       
    ) Y: ^5 y9 ]! U. QPOST和GET的区别
    ' y, ?( J; V) U  u# n7 F0 S3 v: a: m/ I7 G
    get        post! X* V( N" |) `. Y; A$ N- Y
    在浏览器回退时是无害的        会再次提交请求
    4 E4 `  a8 z4 W% O产生的URL地址可以被收藏        post不可以
    1 D; A" g& O% X  d% W1 p. \请求会被浏览器主动缓存        不会,除非手动设置
    4 h0 _2 P) h+ l5 m只能进行url编码        支持多种编码方式
    1 x9 i2 S! p! A; w* A# l+ ^- ?4 o请求参数会被完整保留在浏览器历史记录里        参数不会被保留% f0 ]2 q" {# p' w' v/ R6 _
    请求在URL中传送的参数是有长度限制的        没有限制9 [( G; x) x9 d0 V- r5 P1 e5 g& Z4 ?
    对参数的数据类型,get只接受ASCII字符        没有限制
    5 ^$ _0 i: w6 S3 h; n更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    3 X0 _2 C; N- b3 w5 k$ D参数通过URL传递        放在Request body中- _! D6 V) d: E) i% S6 h
    HTTP状态码5 m( i6 [7 ~9 \  _! o; w+ C

    ! y/ V- L$ S! W3 E9 U4 J, a" x状态码        意义& ^6 }+ B; K, H' y  j. g  F
    1xx        指示信息 - 表示请求已接收,继续处理。
    ( e* G- B" h1 _5 w7 f. _2xx        成功 - 表示请求已被成功接收。
    - X7 f% p, k4 a8 }* `* E- K: I( a3xx        重定向 - 要完成请求必须进行更进一步的操作。
    7 J1 m5 v5 m; q7 d5 r4 e4xx        客户端错误 - 请求有语法错误或请求无法实现。2 \. c! T* {9 f, Y5 ?6 Q2 _
    5xx        服务器错误 - 服务器未能实现合法的请求。: V9 l8 n& m- ^# u
    状态码        意义
    * Q! P2 J7 Q) F/ [8 d+ {200 OK        客户端请求成功  D5 o5 R- `2 k, H! n9 z; i- @
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    ) |" h4 b+ _' M9 v' G* W301 Moved Permanently        所请求的页面已经转移至新的url/ U0 W8 P  L4 T7 i) J: n% m
    302 Found        所请求的也么已经临时转移至新的url! r4 _  U3 g! Q$ ^) a' a
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    , E! ?" G% z. M- f9 s400 Bad Request        客户端请求有语法错误,不能被服务器所理解
    $ N0 X+ f8 a1 G2 k8 @; T: y401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用: B* d4 \2 W1 i% b7 h  d! S( O& G
    403 Forbidden        对被请求页面的访问被禁止' U! A! p! M, ~" V& k
    404 Not Found        请求资源不存在
    % m  N3 e& B; l/ ?500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用
    * O) Z" m- Y0 A- L' v503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    " b  F4 O2 m- X什么是持久连接- F/ l0 B) y8 i7 |2 u

    * ^' ^" X9 J0 w2 ~0 B  ^0 ~$ sHTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
      Y  i  @  c0 C. E
    ( a; i. f4 D" |7 o当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    + i7 K& r' Z+ M4 p8 N% o( u% T7 @9 B
    使用了持久连接
    / s" j! B* j9 u, q0 V/ c; w$ P, [% N7 a$ {
    请求1->响应1->请求2->响应2->请求3->响应3  ^- b3 m6 ?: d4 k7 g) `& _) B
    ( e0 T! s* L: I! Q% U* l; A, y
    变成了
    $ a! G+ o. v7 U% d$ @& n% M1 G# M% J; N& Z$ a4 B, b
    请求1->请求2->请求3->响应1->响应2->响应30 A8 D' J% ?% g$ D* r1 ~. {7 c
    + |1 _* ]5 d/ ~  L# a
    什么是管线化
    , k$ K/ e8 k6 e1 j, Z
    4 G) R  h7 H6 U管线化通过持久连接完成,仅http/1.1 支持此技术
    6 J1 V; V! N2 u4 k$ v1 D+ ?只有get和head请求可以进行管线化,而post则有所限制
    ' I+ `1 t4 I9 O; a1 {初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议) M$ @0 L: z: G

    % R6 I( g& |$ E( F1 {6 x/ D. p安全3 A4 V, H0 Z2 t
    # ^% p5 v. S4 _" p# X' g
    CSRF
      g6 y. A: {  l, z基本概念和缩写
    ; ^) }) g4 ]( \3 F8 Y* q3 lCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。: k: S0 F" d) T5 a3 H
    攻击原理
    , }- S, {6 v" ^/ `访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。" q7 I5 O# T6 F* T  R. T1 A
    这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。0 }! w2 |% O) r/ d) }/ ]+ E6 V
    XSS1 y- ?# o' o; {  i2 {' ?& ~" F& Y
    基本概念和缩写
    + e8 c8 N$ [. P3 OXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。0 x5 ^7 I; Y7 p/ I
    攻击原理
    + ~. K  c1 q. Y输出脚本code
    - A& Y5 E% T- U/ E5 A9 D7 t) }跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    6 g$ J0 S: c# T' b/ mxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    2 R/ b0 t! a, \: x( i渲染机制类% Z. t9 i5 h$ u  z4 s4 i

    & B: W& V2 Q1 c+ E) f什么是DOCTYPE及作用( S' b3 l  K/ J+ y  k
    + N5 J3 s7 M4 o& X4 Y
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。8 C0 q' R) n1 |# g7 |7 r& B1 Z
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。" ^& h2 o% _  m* T
    DOCTYPE是用来声明文档类型和DTD规范的,6 g! T. x: y( M. a# G. C8 }. |$ ^
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。+ S8 g" K; Q( X
    HTML5的DOCTYPE:1 Y! T3 ?6 W& o! b" B, f( e

    / O% j1 a+ ~# m2 O% M5 R0 z  lHTML4有严格模式和传统模式! n& J# g* [8 b1 F4 F
    . n  P2 k# ]0 n$ P- @
    浏览器渲染过程% v* F3 Y0 S" r4 A6 a/ ~( [

    . |- r) {) }- z% C9 r一些概念9 U7 [9 R$ K7 R5 F4 `
    , c  t( {, Y9 E4 E. K' p) C
    名称        概念5 q) U2 }( T7 M: \+ u! ^6 e
    DOM Tree        浏览器将HTML解析成树形的数据结构。! |; f# c+ L7 a# U) q& d
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    ; `" R" Y  T( D- SRender Tree        DOM和CSSOM合并后生成Render Tree。, F0 V$ V$ Y! @
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。7 Y) U. w: Y( o  w
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。6 `# _. ~! K4 L4 }- `1 a  K
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    5 x- A% p# x: z$ f$ V- ~$ U# C7 x2。HTML解析器会将这个文件解析,构建成一棵DOM树- `  B1 Z5 i  Z6 k4 {, b# |
    3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
    5 \4 Y1 {  W8 @4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成, x( o0 E( }  t4 Z/ n
    5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树2 Y4 ]& o0 y+ Z' Y3 c
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树# ^. D) `; x5 H7 H6 z- c
    7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    7 B- U/ q2 c. T" \1 D16 }; R% J' x$ g  j( z
    2
    4 I; v0 U1 N  q$ c5 t3 S' j3
    ( Y% ~8 Z6 a  Y  p' e9 @4
    8 ^7 W  r0 Z2 d6 v54 O7 C9 _/ g$ ?/ c& }5 r/ Q
    6
    # Q6 N0 i+ P' }; U5 w7+ O# x$ }& o( p  }* Y# H: E2 u& d
    重排Reflow8 g2 T, L1 ?! M& F* m9 v

    . h3 c, T0 ]7 }" e; j; l定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。( I6 a9 @7 ^6 v& A, `1 o3 p- y
    触发Reflow:' y6 w, K: a/ w+ |7 {8 h1 ~2 T
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint- L, w  l3 j( j8 W- t& w) V
    当你移动DOM的位置,或是搞个动画的时候
    , ^5 ~& {0 h# U2 j当你修改CSS样式的时候, [; s, l; V# ?  A/ U. ?& W
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候' o: \6 f, z% l
    当你修改网页的默认字体时
    ) E. P. ]* k( f* i2 g# n# A重绘Repaint5 ?! e' }0 J; }
    4 f" _8 \) q# g5 W3 X
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。9 b& |3 k3 ]; V

    ) v/ `' |; y! ^. ~* a触发Repaint:
    . f" t1 p$ J- b1 z/ C' V4 U) u2 t
    DOM改动
    3 E, T+ F. C* C5 a0 y7 ICSS改动
    8 V: M1 u/ u# n+ S" \————————————————
    & ]1 ~4 Y( X' V8 T$ d4 k  R$ _2 P版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    / B/ ?8 F- n5 g) [" k5 z8 u原文链接:https://blog.csdn.net/u012015672/article/details/105931291
    , g% A# h0 M, S0 B' o( F( T. g7 T: `
    & g+ H5 x4 q7 P) B4 X& |% k
    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-7-29 07:27 , Processed in 0.442083 second(s), 50 queries .

    回顶部