QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2185|回复: 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 G) @/ c8 P: u
    / m9 f" ]( E+ q1 v3 ~$ E
    HTML 知识点8 z7 ~' z5 a* c( E

    ) Y3 G. Y$ P4 {! k( y三列布局- (高度已知,左右宽度固定,中间自适应)0 x4 Q  U4 h% b* v6 ~
    ( D6 M7 s1 _* e( `3 F1 k" A( ?
    布局方案        优点        缺点/ x% [2 ~. f; Y4 M5 p# M
    浮动        兼容性好        脱离文档流,需清除浮动6 j6 W1 k! l1 A' v2 ]
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。" }8 f8 j- M( c& M; e) ?
    flex布局        目前是比较完美的方案。        只兼容到ie9。( R) E; b0 p5 m, }* M% C$ b$ ?3 y
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。
    + H! |9 {) W3 h! m5 p1 S网格布局        新技术,代码量少       
    5 |* Z9 ?9 p' ]# c7 |<!-- 网格布局 -->. B6 ]1 C: `- `! Y, C( ^! @7 p
    <body>' }4 A1 o1 X! E' d+ o
        <section class="layout grid"> & @/ n0 [# r  c! K! R/ C" o( n# M
            <style media="screen">" N6 s7 w' s7 {
                .layout.grid .left-right-center{
    : G; m& K+ ]8 m6 D3 N6 y: k                display: grid;
    $ [9 C, H0 d" q: `+ @; ~+ I                width: 100%;/ L/ T) h; N2 A) l$ A9 m) u- f3 C
                    grid-template-rows: 100px; // 设置行高/ Q$ o4 d( p! {7 C; @
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度2 v' d1 P, I" b" E

    7 ?3 z6 f( u/ H( a        </style>; ~4 S- H/ Z  t' l9 g
                <article class="left-right-center">
    / l6 l7 D5 _6 E2 J            <div class="left"></div>8 ]4 }; p$ e. P" S+ L% O
                <div class="center"></div>
    8 }7 Y$ o! Z' u4 s/ k            <div class="right"></div>" X4 @) K$ l' V* b" r! @
            </article>, u' h5 y5 t8 E
        </section>7 S4 x0 c, j  `# @+ F( L/ E: ?2 ]
    </body>
    3 o, h1 |( Y  v0 K9 H4 F  V/ A0 g
    css盒模型. B' ~8 F, j6 N' m4 s8 U

    . f! o3 s  S3 w! |! gCSS盒模型的认识
    , P! x) O- a- d' [& b, d( i, Q6 Y2 L& X# a
    css属性: content padding border margin1 m% h3 J2 b0 V1 w6 m$ `# F. u' U
    0 V8 F# m' w% _) H" j0 q" p8 h
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    - M& J& [0 P0 P+ \% B1 d# H6 y9 a) Y8 s; S/ y) d  \2 V
    两种模型的区别:计算高度和宽度的不同
    0 ?6 \* u* B. G0 u4 f
    & P5 L; G6 a) @" L  F两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    ( [7 m# z2 M" N$ q) Z  Z7 L. @4 S' R& L
    JS如何设置获取盒模型对应的宽和高
    ' K# F9 l3 f9 [& ]
    8 P% @1 n4 ~+ C5 K6 h获取方式        优缺点9 S: C1 F! H7 n3 O
    dom.style.width/height        只能获取内联样式设置的宽和高
    3 h# `& h( b/ {, H! e# Rdom.current style.width        获取浏览器渲染后的宽和高,只支持ie
    1 {& Y- h" [0 a, X& ywindow.getcomputedstyle(dom).width        兼容性更好
    % L7 H3 l8 {; N; vdom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    * M; @8 i; ^) z4 y  n% h: t实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距% ^/ l( z9 ^% n  D) V, h% J
    , v; N& d( G& A* s7 N
    块级元素包含了子块级元素,子元素是100像素! f+ P2 `8 t9 \1 W: A' `. U
    子元素与父元素上边距是10像素
    ; d& B4 U9 ]( k1 r1 q4 E父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    , _: b$ d2 B+ ^9 [9 C7 g6 V' g# Z; o另一种兄弟块级元素-
    * g- g- }- _6 c# W1 e0 j& u
    * S$ W1 c# z9 A/ k2 ^3 D挨着每个都有上边距或每个都有下边距。-/ A+ }2 e: F  `4 ~& [* K6 e
    该重叠的原则就是取最大值
    . k5 L* `, y" Q4 N* H空元素的边距-取margin-top和margin-bottom的最大值  r8 S2 \, ]/ X; P8 J
    解决方案:
    / x% g: W" W( Q; `/ V! ^! H( s2 w+ g& q2 u' u( C/ ~1 C9 X! y
    父元素创建成一个BFC (无论父子,兄弟情况)
    % R( c& R' _1 w' _& X9 x& @( o5 J9 n4 g% [5 |
    4. BFC (边距重叠解决方案); H8 C2 G" u7 c8 [4 V
    ; _) Q4 I! y! U$ N6 D: J
    BFC(边距重叠解决方案)+ z- l' d0 a( I

    % [8 q: _8 k4 F5 R1、BFC的基本概念: 块级格式化上下文;4 X7 P3 N: m; V* T8 l
    . K. C. d# v. U% g/ K3 I
    2、BFC的原理:BFC的渲染规则。1 D/ }5 x) v4 K- o$ z" r
    / {! e! j1 F8 I3 K, [
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    7 l  X  F1 M- I- v; V
    1 z3 e) _( q( Z2 _②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
    3 X: E: @6 s4 t( R% F" P3 V/ N1 n
    0 X$ D6 d, B+ M* g1 D) j6 N! D' p③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。/ g4 a9 U- M* h5 S: s4 m" Q, T
    0 ]0 d& t( ~' k# J
    ④:计算BFC高度时,浮动元素也会参与计算
    4 _; X  l5 \1 t. a
    4 N% E" a! ?8 Q3、如何创建BFC2 J' Y% p0 G8 ~" V" o

    # o( I7 k! a. I& b1 a1 X4 w% T3 O①:float不为none。' y; r3 C- o1 {4 _- e, ~4 `* q
    . E8 X6 H% x8 f! |# |8 r" X
    ②:position不为static或者relative。
    3 ^& q5 g/ [8 a: `8 k- E. P$ h( a6 v9 F% `7 a6 ~! d
    ③:display为inline-block或者是table相关的。
    " T7 T2 }1 C5 K+ j) l: F8 v* L7 k/ I+ v9 t7 v6 [
    ④:overflow不为visible。
    ( W: }, @0 l/ r+ R8 O
    : h5 t6 L* U0 Y9 v- D⑤ : body 根元素- Q7 u& ?) S9 M7 _1 d

    - M) ~6 p! R8 d% L" L应用场景: 4 ]! {( |/ j2 |" M) v) s
    左右布局时,float
      h" p8 r' q( v$ Q: u4 S7 v相邻div使用margin产生边距重叠# Z* v' @/ o8 L3 D# |3 x' A# i1 L
    dom事件  n- q2 a/ O! ]; ~) e) n) J7 Z

    6 k6 s) o" r7 O  S5 H' k8 n基本概念: DOM事件的级别
    + f7 _# @* Q  j  a2 F" \) t; p( b/ s1 t8 J' n4 J, I
    DOM0: element.οnclick=function()
    " l+ K: X( p& ~* G% y7 Z2 ~/ n$ h, [  R% X1 V; O: q
    DOM2: element.addEventListener(‘click’, function(){}, false)
    ! o. H$ N  Z( w( w& T' `& q& _0 J9 E$ ^
    DOM3: element.addEventListener(‘keyup’, function(){}, false)/ P9 n3 H) z# N% m  m3 ~5 o2 f
    % l$ z% b5 \  R- f9 n, {# D' d
    DOM事件模型
    / ^1 J- i+ ^4 {7 _, c7 e# p. i7 i  d
    event.target 2. event.currentTarget, B! `( ~% e7 k& S, t+ I/ q
    event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素0 a; T4 O2 p  e
    DOM事件流
    ) u+ `* d) p. M4 A  U" P1 h) D+ \3 j# Z; Q+ D
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    , f& {7 x# y' B9 u6 j9 h描述DOM事件捕获的具体流程
    3 B# `2 m! \* T+ c
    & ~* Q* c' B- M* S5 }$ Bwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素! o. B7 g- s% Q
    Event对象的常见应用
    8 n0 r3 O3 y' u5 N% n/ U  @8 h! u/ R6 Y2 M$ ?# ]
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    2 p9 \6 Q/ E' N% L, M+ T0 k自定义事件9 u9 Z4 a* s# ^# v

    2 H7 k# l$ y: x. Z4 zvar eve = new Event('custome');
    3 S9 F2 k6 f$ u! q. iev.addEventListener('custome', function() {
    % M2 q% ?1 N. G6 B! v$ t    console.log('custome');
    3 I% T9 ]  w! L% u# n/ ?2 [: w, p});
    5 V1 t9 [- p4 S: E9 O* M6 \ev.dispatchEvent(eve);: U. v' C/ Y" ]4 J9 ~% q
    1
    $ U6 h& O8 D3 F+ U# s) y  z. b2) y+ n) N% I7 l/ h7 _" R
    3
    $ m1 u: z7 L+ W+ e! Q4 q( W4- a& @8 n& K0 R+ C$ b. v, M' ?
    5: E; ~( z# I4 `% q, ^
    http协议2 U5 o& T; b* N: n- ^/ `3 [
    . g  ?2 u8 b/ N2 U
    HTTP协议的主要特点
    , Q" ^0 H+ _! \5 ]6 l* l3 b$ {5 E% _% I; [  d
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、
    8 A# K7 T7 R# e' y
    ' `* R# ~& o: @/ O+ Q+ B无连接(连接一次就断掉)
    8 c; f6 J3 f! O无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。* G6 b6 I. [' C7 h9 `
    无状态(两次连接身份)/ v# K# G# U5 e* _
    是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传1 b: p0 E# A) \4 R
    HTTP报文的组成部分# B. `) N; E9 [- h4 @7 o2 b$ S

    - H3 B" q5 N3 w  V( [3 c  ^请求报文
    1 ^: ^! Q4 i$ c- Z% m5 ?0 F& M& I
    请求行 请求头 空行 请求体. J6 {$ V/ l( |8 @

    ' A  ^) c8 v. X, L- H; E- V响应报文1 X8 q( d+ k9 k8 f$ k# Z
    $ k! r$ Q0 e  c  L) `
    状态行 响应头 空行 响应体* t; f/ c" H) T7 w1 Y& J# i

    : Y# A* q: n* {* j& |  w; xHTTP方法
    2 ~/ C) W6 h2 ?3 q' r1 j# Z  o7 v5 j! D' B" `
    方法名        方法作用        注意9 E' K) s  o3 X2 u& H: u
    GET        获取资源       
    6 H3 k4 o, S2 HPOST        传输资源        5 b9 n6 i% @8 }! Q" g
    PUT        更新资源        5 t% Y; X" X4 E( H' k* `
    DELETE        删除资源       
    ' \& r) E. ~1 i+ [HEAD        获得报文首部        , p: ^: b8 }& W; s' R% w: t4 ~
    POST和GET的区别
      C, {8 Q0 [  s) A
    . s/ G) m' E2 j( q+ f3 R) {+ gget        post/ n6 G5 F1 }9 R6 f) N4 m
    在浏览器回退时是无害的        会再次提交请求
    1 a5 Q4 s/ Y, B0 b7 [7 n# |# u$ |产生的URL地址可以被收藏        post不可以
    ; J' d; ~; ~0 a请求会被浏览器主动缓存        不会,除非手动设置
    ) F# Z6 v& A! t3 \# Y1 E/ F1 c只能进行url编码        支持多种编码方式
    # Z: z7 o' U2 z* u: \( `! J3 T请求参数会被完整保留在浏览器历史记录里        参数不会被保留
    , F& e. b1 f1 i$ O6 C! h1 y, J请求在URL中传送的参数是有长度限制的        没有限制
    8 `9 T5 k0 i: [/ j对参数的数据类型,get只接受ASCII字符        没有限制
      m& U; E: i( C, L0 Z; N8 O更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露
    ) i. J& i% O, I* h9 X参数通过URL传递        放在Request body中) o' H2 r+ D( M! @- ~0 H: y
    HTTP状态码
    ) w# t1 [+ Q% d9 D" b% U+ }" [& i7 [# y
    状态码        意义! i4 }' V  k& T( B4 _; j7 a9 K
    1xx        指示信息 - 表示请求已接收,继续处理。3 }) I: J: z- p; |- H" \5 M% i/ L
    2xx        成功 - 表示请求已被成功接收。" g; U! ^* ^# E5 d8 S, H% D/ ]
    3xx        重定向 - 要完成请求必须进行更进一步的操作。& U( U; J6 R" ]" G
    4xx        客户端错误 - 请求有语法错误或请求无法实现。
    7 L& _8 q4 G2 [1 _0 s1 q1 k5xx        服务器错误 - 服务器未能实现合法的请求。+ n- @/ D/ G8 ^$ B. m0 U" E
    状态码        意义# H: e1 _3 R4 `, p6 a& N
    200 OK        客户端请求成功
    ) F* {1 B. t4 v" F206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它
    : W4 r* E& T( Q- Y3 i1 _. _301 Moved Permanently        所请求的页面已经转移至新的url
    : [1 x  W4 m9 K' _4 T302 Found        所请求的也么已经临时转移至新的url
    + x$ R$ `6 g2 Y7 @( O" y304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用9 M! M1 Q" I) c1 p& B3 r
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解9 y  }- q; e$ G* Z* L2 u* A
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用9 b+ |/ I: N! }0 D6 o- ?
    403 Forbidden        对被请求页面的访问被禁止
    ! A( k5 B  h3 `$ `8 G" E+ ^404 Not Found        请求资源不存在
    5 t& w" N7 W# {500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用* z$ R  b6 K) _5 K
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常0 b* n/ c! h9 q+ T. _% L& U, m
    什么是持久连接1 N4 |0 k% D, K3 V/ h) d
    . N4 S$ W8 O1 r: I/ i2 Y
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议): w" i$ A! d# M+ N& N2 \# ?, b" n
    2 y! ~2 q* s* L6 w/ R6 w
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。) |9 h' K0 d9 N4 k

    ( a& A3 n+ x" y  h* S. i/ D使用了持久连接
    ' R1 @0 Y% T2 r% B* L- u
    ( }6 ?1 i$ D6 C/ a0 ~4 n请求1->响应1->请求2->响应2->请求3->响应3! s$ |: [7 u4 |- k. p% `

    + T' p0 h# ~; Z9 ]3 _变成了
    2 O( i, d5 j- ]. X/ E( G
    6 F4 ~! N3 g8 n; y) Q- Y( H: b, d请求1->请求2->请求3->响应1->响应2->响应3
    6 s3 S* c0 m; F7 L% a8 b9 L7 }+ D! }5 _, q; j, ^( U7 s& P7 T* X
    什么是管线化* ~7 N- y+ p( N, S& W& {

    - s6 `; S( {, D! D2 m) K: ^管线化通过持久连接完成,仅http/1.1 支持此技术  A/ U* @8 J0 M% K( `$ h
    只有get和head请求可以进行管线化,而post则有所限制; ?# E( V/ |, d" }/ \
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议# b" h# P: h0 R# }$ t; s

    & q! @# h6 t& H5 \安全& d- [2 g0 n+ @' b/ G2 n! s
      |4 N/ {6 s7 q
    CSRF- U2 K8 F0 o# U' t2 {+ O' k. a( F
    基本概念和缩写
    $ i9 [7 u2 {& }) Q0 a6 F9 j2 `CSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。. p2 X; x+ h( o7 A
    攻击原理8 K1 z5 h1 E; ?, R3 Z  M6 P0 ?. U
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    ! o( [6 S1 A1 L( N/ V' H! ^+ S这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
    1 t' H8 ^( @/ C7 ^; KXSS
    , h0 c7 F! @. Z5 N% \基本概念和缩写4 V3 ?' R$ R/ [8 @
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。2 q* j' t* V$ n$ o$ O: p
    攻击原理
    5 z7 i) G+ Q2 ?! _输出脚本code6 \. ~2 C9 l9 H- X, u
    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。8 c' N4 r/ X% C- }3 _* A/ J' {& E
    xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    5 ?& q: g/ z% U4 q* X渲染机制类
    " Z: ?% G4 q' y, ]' ~# x" _/ [. e9 Q5 A$ R" s8 R1 o. t. {7 y. D, r2 K
    什么是DOCTYPE及作用+ F: q3 A; ^5 j( ]; n7 g
    ( v/ U( e6 R2 ?6 U- U
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。: ~5 N) p: Q+ C- y' v
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。
    ' O3 r! D* I" P7 ~! }DOCTYPE是用来声明文档类型和DTD规范的,% u( G4 L. X3 B+ }) t5 D/ F
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    ' c/ B2 z: ?4 D3 Y/ l% u+ T3 fHTML5的DOCTYPE:
    ! m; D, ]- P& V, n1 N# s; l0 j0 B' K- w0 p5 Y
    HTML4有严格模式和传统模式
    ) A+ E, s, `, s7 _6 P' r' e. R, M) x6 K$ i& U' O
    浏览器渲染过程
    " ^3 m2 T2 V# R4 ^3 y9 j
    & L) I( H: C% x一些概念' K2 p$ q* A+ Q+ I: U. ]
    2 H; w* T, t# ^0 q2 @9 |
    名称        概念( G5 D# Y: q- Q5 n7 l
    DOM Tree        浏览器将HTML解析成树形的数据结构。
    5 {4 ~  M  G+ aCSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    , R& f0 n* G. M% y& H' JRender Tree        DOM和CSSOM合并后生成Render Tree。  F4 K0 O( o5 \2 _6 h6 u
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。: W2 p9 O5 d# e" C
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。
    7 ?" i) h7 ~1 A2 c2 e( h1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    * s) V: r/ \4 n9 n2。HTML解析器会将这个文件解析,构建成一棵DOM树
      q) W, }: Z' {  k: x$ f' ?2 t% t3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器0 F1 [5 C8 w$ W  i0 o  }9 T
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    " u; d$ m. T" g4 T( X) b* H. q5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树7 W8 x1 c# S0 Y$ S4 T  X/ C$ P% y
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    . x& I  w- K4 Y' M1 m# F7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    4 f7 I1 `) u. v7 a* M  ^1
    ! y1 z( f$ a: H) }! S% f2% L/ l- J% K0 f
    3
    ( o, t- _% A( o49 J/ g! o+ Q" ^& Q+ C
    5* m# T+ O: F5 t$ M
    6! B2 ^+ K$ b4 r/ H
    7& B2 q. j! a: A+ w/ j
    重排Reflow" n5 a+ H. U/ ]" {

    4 ?* r% t5 ^3 g4 N, y定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。) U' K: M/ I9 }0 o$ x1 U+ }/ G
    触发Reflow:
    4 Q' J, n6 S) E/ P$ W当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    5 T5 Z4 [$ P* n) }) V& e当你移动DOM的位置,或是搞个动画的时候. D. v9 z  d# d) J7 T+ p% K
    当你修改CSS样式的时候
    2 T; a& n6 t( }/ [当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候7 Z& [) d% ?0 J* F& c1 v- N
    当你修改网页的默认字体时
    . ]. r, H$ v6 `/ q0 u  \重绘Repaint! _5 O  s' ?; ]" q  l; h' Z$ W

    8 v$ o8 ~4 z7 c1 S* D1 s定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。- U: I" `2 e9 x# C
    ' J. ^! Y. Z0 E
    触发Repaint:
    1 {! L/ q+ |: [1 U, q% Y% @5 H; z% o  h2 e, c2 x
    DOM改动
    # u3 ?% N6 |% ^CSS改动
    0 C, A3 w3 R) f; {5 X* {————————————————
    , u2 V: ?: H" k3 I- `; }+ N% A版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    6 n5 {- R$ k5 A" H5 d原文链接:https://blog.csdn.net/u012015672/article/details/105931291  g  A1 |) _6 S! X* p8 h
    $ X4 t* ]5 b5 J' G0 \% K7 F* ^

    ! S( `" X2 W5 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-4-13 05:42 , Processed in 0.655568 second(s), 51 queries .

    回顶部