QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1966|回复: 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 知识点(未完)8 D; n, e/ d7 O% s

    : M8 i& }$ [, y# M- r- IHTML 知识点
    6 P! {+ k% R* A4 q
    " ^6 C, s+ y* e# N. Y& f三列布局- (高度已知,左右宽度固定,中间自适应)
    3 E# X2 v5 j9 l1 R& ?# g; h6 J# \$ n
    布局方案        优点        缺点2 {/ r1 A9 S2 d: P
    浮动        兼容性好        脱离文档流,需清除浮动
    ! x2 q1 k# h% ]' P' U& P; E绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。2 v0 z; w+ I# A
    flex布局        目前是比较完美的方案。        只兼容到ie9。
    7 b+ A& I* l6 J6 I. d表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。" j/ q. o, v" |9 w/ M9 k. @) D
    网格布局        新技术,代码量少       
    : ?8 Y6 y+ l- J2 k6 ?0 ~& O<!-- 网格布局 -->' Z! }$ S3 x% I$ M  s8 w
    <body>$ M& a& Y/ P- y7 S% Y
        <section class="layout grid">
    7 D! {3 z! C  k' F, M7 G        <style media="screen">0 P/ c: W0 E# p! Y- m
                .layout.grid .left-right-center{8 b: ?7 `5 u8 S% v0 B
                    display: grid;
    ! @. u/ b& i1 @" w1 U                width: 100%;; _8 G/ ^2 c9 G, t
                    grid-template-rows: 100px; // 设置行高
    % j2 {: ?# p1 n( @6 d                grid-template-columns: 300px auto 300px; // 设置每列的宽度
    : R; U# L+ y) F4 X2 W9 A2 ~9 D2 k0 z. o( @, C
            </style>
    - ~% p" E3 B. O* y/ _8 l            <article class="left-right-center">
    * G. z$ D5 T2 u. i            <div class="left"></div>
    / Z' g! J( C7 F4 v            <div class="center"></div>' a8 v- h* g# ]: x$ P7 t
                <div class="right"></div>7 i0 `/ q# N  v" S. `! P& d; B2 ?
            </article>
    $ g% }7 P' }) c& y4 d! @    </section>
    0 V1 |2 m* I% Y</body>
    + E* K) l, L! F: p/ [  r2 A. j, g
    7 Y% _% b0 V& N; m+ D. Jcss盒模型: H. b6 z0 E3 p6 y2 d* X2 I; ^% v& `

    2 U, R" p# [4 Q" [# y: m6 ]: y" z( FCSS盒模型的认识4 X1 b5 A5 d1 m& z- G2 j

    : J  m2 U: w/ k0 z; s% ]# ]. rcss属性: content padding border margin
    , V( f( z; p5 M# H1 k$ h0 f* A$ F, t% w
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    1 |6 D  _$ r; h# q; }1 a" D; D* d% e9 K( Q1 H0 Y2 R" l
    两种模型的区别:计算高度和宽度的不同6 L" q/ A( E1 o0 E

    & W. D- ~7 F2 y7 s  b3 ~两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)
    ) C2 z# }2 \$ @
    : G6 a( g; w# J' p7 D" U0 pJS如何设置获取盒模型对应的宽和高
    5 F* f# D" M7 g" n$ d3 D$ ~9 D& ^/ b3 [& Y3 T- B: l
    获取方式        优缺点  a3 M9 J* F1 w
    dom.style.width/height        只能获取内联样式设置的宽和高% b, E( A0 ]9 J  t
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie+ c- ~' h7 S2 f* j
    window.getcomputedstyle(dom).width        兼容性更好
    % R3 v/ G% ?8 l; Qdom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    9 D' Z3 @7 S. x' G实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距- f* P* T4 V$ w- u  W* Y$ M

    & A9 @# m3 J( |! Y9 S( W7 W9 E块级元素包含了子块级元素,子元素是100像素( [6 ~5 n* `7 t+ ?
    子元素与父元素上边距是10像素
    # k1 X7 |  M0 `! F/ E9 _. |. y4 J6 _( J6 p父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)- C6 p( n' j. |- S/ ^$ F; B& n
    另一种兄弟块级元素-  b# k$ O8 \) B4 S; A+ E
    ( C2 q7 l. z% k! g  [- G
    挨着每个都有上边距或每个都有下边距。-2 M. C/ W# e# X; m; q$ T# [# S
    该重叠的原则就是取最大值
    + J3 W3 z4 _1 t- p9 _) }空元素的边距-取margin-top和margin-bottom的最大值$ \# _2 b! z1 s* R6 {
    解决方案:
    & S+ k) [3 k7 V& Q( d8 {* p
    " p; q! v  x) w0 Q# h父元素创建成一个BFC (无论父子,兄弟情况)1 j# @  E! P/ Q! w' [: h5 c
    + t# K6 x* }/ B4 p$ ~5 J
    4. BFC (边距重叠解决方案)6 l4 f- U* _; a+ J; Y6 b+ a# v

    ; }+ b# F# C. D# [- i% ^' ^- hBFC(边距重叠解决方案)4 ?  s, j' }& U

    8 `) ?* ?* H; |1、BFC的基本概念: 块级格式化上下文;% V2 ]- O/ \5 _0 b  g8 G% D

    ; t/ s& a. H3 ]2、BFC的原理:BFC的渲染规则。( {" |% I) y  `

    ; K! m  n6 P- m0 ?! e; [! f①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    ' p1 B; O; }! ~8 L/ a/ @* M
    * x  r( Z& p( p9 h1 a) J4 o  G②:BFC的区域不会与浮动元素的box重叠。(清除浮动)5 V+ k" X9 H% F% d2 U3 J8 A
    # s7 I# ?9 r; e3 ]5 Z2 n. S
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    * Q$ W, e& e$ k: ]! L2 ^- ~1 a/ y( `- B. T: v- X1 ~$ H
    ④:计算BFC高度时,浮动元素也会参与计算1 J: ^4 l6 w2 n9 z
    & l; u2 K$ c0 a! l
    3、如何创建BFC
    , O/ y8 @8 L4 P' q8 I. Q. \2 c; k0 X/ k( X4 e; g9 E
    ①:float不为none。
    ' X  z8 I2 F& @
    5 z6 J, @% a# I0 l②:position不为static或者relative。
    2 F" R5 b6 |$ Y6 W) U0 w* o2 h( A$ }9 ]8 @$ h9 D! R2 \% P
    ③:display为inline-block或者是table相关的。+ M" W3 T( ~( w

      O9 S2 c$ P% K$ P④:overflow不为visible。
    ) l6 V4 Y1 z( k3 w& }
    * Y$ O) o. b2 ?) R' X1 C1 N* {⑤ : body 根元素
    " O! O- }5 L3 {/ R' T7 z! t
    2 Y0 [& ?% E" R; g* B# Q. P应用场景:
    . ?, Y8 l: \! N7 M左右布局时,float
    ; z- b2 M7 y5 Q1 y8 t& f% @相邻div使用margin产生边距重叠4 _# ^* J* q3 ]
    dom事件3 o2 t) S# l  \" l1 a% ~. ?

    # j1 Y% S# @8 [- s基本概念: DOM事件的级别7 g' ~6 \( D. E: q

    . j( g; @5 M. K$ L* [DOM0: element.οnclick=function()
    5 ~, q* H3 C- d& ^& M
    7 @+ R) H5 y6 H* L! q' b, u4 iDOM2: element.addEventListener(‘click’, function(){}, false)  c3 A8 \+ L. {5 D

    ) d0 e/ g9 z/ x# @DOM3: element.addEventListener(‘keyup’, function(){}, false), `; W: T& u& p! k( R9 R% }: n

    " }& A9 \% y. _! D3 y, A7 |DOM事件模型0 P1 ]- C2 [$ Y. i& x# p" h

    2 C1 n' T( Z# x' W5 q0 }& ]0 Xevent.target 2. event.currentTarget' E4 Q+ K6 R0 ^& f0 f
    event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    9 O9 i* y7 [3 v6 `- v3 YDOM事件流
    # J, x# e) @5 D" w+ N6 c0 d0 i: M
    & _% P! {- h& C1 [2 ]4 y! k事件流 -->《捕获》 2. 目标阶段 3. 冒泡! h8 Z9 x. f6 ?) ~2 ?- d
    描述DOM事件捕获的具体流程
    ( M8 D* o+ u* s- L8 _1 P
    9 u; {. H$ A9 J2 e; M% y# Owindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    ; \/ P& N2 Z3 C, F7 vEvent对象的常见应用& ]/ ^/ `, s1 U' C  l$ I; `/ K2 o- C
    0 F9 o6 \' B# }3 O% |9 {* t, l0 L
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
    ! [6 o8 b* v7 s5 G+ Y8 j* `# m自定义事件: ?" B+ K9 o5 a4 t/ W$ ^! W. P

    # b* L8 i  I! F9 d' r! Evar eve = new Event('custome');9 h% b+ _1 |" r/ G, N9 o- V: q- @2 A
    ev.addEventListener('custome', function() {
    6 L* b8 Y3 |2 k* G4 a+ {    console.log('custome');
    + B) Z7 j, z+ M});+ V) @: K( t; J8 V; S
    ev.dispatchEvent(eve);7 J$ V; o" E3 G! c6 |
    1& |5 A# K9 ~3 j! r1 x2 L
    23 ?6 |' p/ B% k" k. t# s
    3
    1 k, U( q2 u( t+ _4
    2 J" r3 V+ A: H5
    : A$ D  @7 h9 S* ~http协议0 W7 A/ G# D6 l1 E9 l; x4 w& B9 z
      j: s% Z9 I* L6 |
    HTTP协议的主要特点
    2 d8 G3 O0 y; M* V- J4 k& l! d( ]$ K, G' V/ x/ F: H2 t3 N' S
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、  u4 z; Y0 d5 J/ X
    ( u/ L" B& z8 C8 F- Z: L5 R# J
    无连接(连接一次就断掉)
    $ G- g7 _# \# u( B  \无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。3 v% L6 n  A' D" O) s4 i
    无状态(两次连接身份). b/ Q* U7 w* {, Z: x2 p2 Y
    是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传
    % A6 ~# i1 ]# U6 r( }HTTP报文的组成部分
    + y5 Z2 n4 Z* O" y( i3 H1 `) c* y& {6 B. O( L  {
    请求报文; s0 W1 \4 x! O
    0 z* H0 ^6 T% X: e0 c
    请求行 请求头 空行 请求体2 ~& c$ T8 j. v* `3 j: E& J( Y+ f1 H

    ! J# q' M, A3 C( ]/ ]: A* ]' q' [# e4 s/ I响应报文: {  ?2 w* U! D# H
    0 ?: d6 g5 R9 Y2 m" v
    状态行 响应头 空行 响应体% g) ~, N/ x7 C1 C9 W

    6 `0 u2 T% B( [- {$ m- BHTTP方法
      H& K8 d! }. I5 {7 _
      N" {+ ^1 w: H方法名        方法作用        注意
    6 s% y- H$ H. d0 s% W+ qGET        获取资源        5 O- E0 Q' e, Z9 B, n- J& m) `
    POST        传输资源        / {* N" A4 t- O) i, x& U2 r$ h
    PUT        更新资源       
    7 `- X# e8 `( t. [7 IDELETE        删除资源       
    5 U' N3 i! |; k* l5 PHEAD        获得报文首部        ( m/ M6 M; p" t" n9 J
    POST和GET的区别" o8 G" {9 k/ v, @( a$ a

    - b7 c3 U; @& d; @* Fget        post
    4 A. Z/ F8 w, k, x在浏览器回退时是无害的        会再次提交请求
    % M' _5 p. u) V9 R3 i! Y产生的URL地址可以被收藏        post不可以8 x) ]" l! H, D* w! v
    请求会被浏览器主动缓存        不会,除非手动设置: P3 R3 H# T! J' `, K2 A9 l, H1 Y- \
    只能进行url编码        支持多种编码方式, S' `0 w' B# k' ?
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留/ t) D5 @& Q7 u5 z
    请求在URL中传送的参数是有长度限制的        没有限制
    $ I) m3 v7 d- Q! R. F8 l/ k对参数的数据类型,get只接受ASCII字符        没有限制
      w- V4 Z' l! d  }2 y- M% B" r- b更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露6 Z1 y0 X1 ^5 p$ ]
    参数通过URL传递        放在Request body中6 R& ?+ x: B6 C0 q/ [& u/ G
    HTTP状态码
    6 ~5 d  p7 A# x: f$ E% Z7 g& i$ j) q. F3 l3 t; d- n+ F
    状态码        意义
    7 s+ H- G' l, P( a1xx        指示信息 - 表示请求已接收,继续处理。; l. ?. U9 ]6 Z4 b; B
    2xx        成功 - 表示请求已被成功接收。2 ]8 h7 {: w$ w) k8 H. A
    3xx        重定向 - 要完成请求必须进行更进一步的操作。
    ! H1 Y% m" L* C6 O4xx        客户端错误 - 请求有语法错误或请求无法实现。
    ) F% x4 |5 ?: [- z7 `5xx        服务器错误 - 服务器未能实现合法的请求。
    8 H% n1 v7 s3 V5 O状态码        意义
    - Z( e  N, Q0 ]+ Q# N8 B( O200 OK        客户端请求成功' `% H' x  H. p9 V2 c6 n
    206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它: B: D5 |+ H* K) `. Q& |0 P0 b
    301 Moved Permanently        所请求的页面已经转移至新的url
    # l8 l9 i( n: Q" z! v+ x7 l& W302 Found        所请求的也么已经临时转移至新的url; K- b: T5 e3 w  V" V) A! z' M2 j
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用$ x/ j, l5 Y% a+ ]0 s
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解/ }6 e* V* V+ X9 f6 m% B
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用3 v! O$ S) O8 |% [3 }
    403 Forbidden        对被请求页面的访问被禁止
    ' ?3 C4 c$ \: A' j; H! I404 Not Found        请求资源不存在& x' L* }' q+ N1 K4 H0 f+ i; E) I
    500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用" ]0 t! Y% f, P! n
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    ' F" T7 L9 n6 c什么是持久连接; N9 U: g: q0 t$ G& ^6 N1 h

    0 H  T- ^/ L+ S4 K: V0 H, p: THTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)1 K6 l  C# z) X
    * V/ Q) d1 ]$ u; F2 j
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    ( a. |5 q* T% ?1 E' `5 T1 z
    : X7 x- j7 @2 _  G( w/ s2 |使用了持久连接3 i6 h& @7 f; X, k6 N6 t, c* T
    6 P% d" y; Z  p7 l' z
    请求1->响应1->请求2->响应2->请求3->响应3- Z: i6 H' A6 h# e2 n

    6 d: k, E# z3 \3 v2 Q1 m# q变成了
    3 Z$ ?: h& O' i! ^
    $ ]9 k% x/ a# \0 K! P' B请求1->请求2->请求3->响应1->响应2->响应3
    / C9 o# |0 ~- g* j
    7 j. `! x% C7 P( w% V, T什么是管线化  T* X" y5 n& \4 l, o' U. R, {% K. C

    & W3 ?4 Z# T4 ?5 g5 F! S管线化通过持久连接完成,仅http/1.1 支持此技术4 f# d9 B3 t5 s6 @6 y8 J. w
    只有get和head请求可以进行管线化,而post则有所限制
    2 Q# z2 s* t# f& k/ Q% F6 R初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议( f) Z2 t% ^- M7 s0 a
    1 f7 F8 c' t1 _, F- e* g2 b
    安全
    " Z& Y) g9 F3 r& H5 t
    % b: O+ w( j4 l, A7 W2 ICSRF
    # e2 A- g  `8 C9 s) R6 J基本概念和缩写
    1 E) O9 P1 w3 `; PCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    ' z+ D1 E2 y  n9 ^1 O9 s8 z% g  s# E$ a攻击原理- W' z+ X9 L/ F: r
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    : e, d' E2 r  |9 k& F这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
    1 w# E4 R5 G8 C1 k" j% I1 aXSS
    $ E; D. f( d- `6 w基本概念和缩写
    # ^+ E& A+ T) m' J" e" rXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。9 O. s/ i3 @$ R5 \0 {* h! i
    攻击原理. C1 F! M% W5 V& i& k) D
    输出脚本code
    * b, u( Q8 V4 p) l/ d5 o5 x跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    & _( W: B3 J. I6 N( E. R/ |xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    - b* l* H# g) m! k" J$ x! E/ \渲染机制类5 `6 Y  @( @6 A  p" R

    1 `, D# B; P4 ]) P, }什么是DOCTYPE及作用, x% }  m; U) m) X$ E: F
    ' |. R6 [! C2 b  G$ i
    DTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。0 e6 \  ^+ m! _( n5 ?9 \& i8 m# `
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。3 u+ M+ V" U* F, h4 W" _7 a
    DOCTYPE是用来声明文档类型和DTD规范的,9 U1 M/ l! @2 P6 Z! W4 v
    作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。5 X6 U7 r, @" v0 z' K
    HTML5的DOCTYPE:
    2 C; O( N# X& a" _$ x1 }+ G3 O4 c( K- A' Y3 A
    HTML4有严格模式和传统模式1 Z/ o0 G* ~0 L# v* s/ }, F

    . k( e) u' r/ _! x, X, M. d浏览器渲染过程
    ! I" b. }7 D7 p6 z
    + t  d4 \7 h! ~一些概念6 y  W/ _/ j( U/ T8 B$ G% ~! j
    0 u( Q; A3 y1 g+ B! z  ^& b
    名称        概念- C! k8 z+ U% s
    DOM Tree        浏览器将HTML解析成树形的数据结构。
    9 i# ^8 q9 w' ~CSS Rule Tree        浏览器将CSS解析成树形的数据结构。: w2 \3 _4 i- m2 Y: R2 [" ^* L
    Render Tree        DOM和CSSOM合并后生成Render Tree。, s: t2 j+ z. ~3 z' A9 U. ^
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。6 g( p. b' Z+ K% n& O. y/ x8 k! G
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。3 J# ^4 K. m' h( p; o; i
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    ; H- i4 K* H' E0 N  I2。HTML解析器会将这个文件解析,构建成一棵DOM树
    * t! [- B0 U  X3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
    ) r: g7 }) S$ v' }" x+ L' M4 E  {4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    # N+ k! r, h% O9 i. r5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树7 Q1 v* Q6 n3 t4 v
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    1 ~: F5 F; K9 U; S9 o* g7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    , [; o4 _, z) n% @16 V* k, W6 s8 n, X* c4 }/ S4 t
    2
    ! U3 w4 c+ l5 o: u  H0 t( {3/ H1 H7 R& [* U
    4
    + f: M2 p5 Q2 e+ B# T7 @5
    + W9 r# W0 Z% o% Q* e2 f1 d6
    - u3 y) S; G. }; B- {7
    8 x& ?; L0 o( ?: R8 F; h重排Reflow7 W, ?" Q' e; P  C
    3 Y7 P2 X! x+ y2 J  J. b/ D
    定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。7 T- P2 N8 `6 o" n% A7 @# S0 z$ X
    触发Reflow:
    6 P- H& f. Q; E* j! _  |当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    * ~6 {, u2 H# l# ~5 Z! Q当你移动DOM的位置,或是搞个动画的时候
    & v$ t. x) A4 X: R当你修改CSS样式的时候
    - f( T0 D; P" m: O) J9 r0 v当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    / ^2 h1 u- ?$ _% I( o当你修改网页的默认字体时
    2 D0 h4 y. u: Y8 h' R重绘Repaint0 i" h& Q+ q& `  j; B2 t: F
    1 B6 e6 N* k6 F0 }/ N4 T( x* J
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    . G3 i6 i! j/ z1 S
    ' Y# m7 s- [, a, ^触发Repaint:! H: G8 ^2 d4 T/ D
    ) o( |  A! P" W( m' @/ v
    DOM改动8 F7 R* D# |; g4 y& |# D* Q7 ?
    CSS改动% S! I+ |3 S2 K
    ————————————————
    * _# N9 C1 V& l1 c) X8 v版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    - o/ ?* g+ h1 J/ b3 r原文链接:https://blog.csdn.net/u012015672/article/details/105931291
    ; V5 J+ i2 ^. l( k+ y" j6 S- M: @$ h5 n2 D+ v
    " J, S) k1 l7 T. V/ P( i" b
    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, 2025-9-8 01:18 , Processed in 0.562790 second(s), 50 queries .

    回顶部