QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2183|回复: 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 知识点(未完)
    * o& _) Z# q7 t
    9 r( n4 ^: P% t+ C: y( f7 V7 f* N2 c# I& GHTML 知识点
    3 S9 _0 d/ `% ^  J/ r1 [/ K4 s
    5 D. H. e. K( t9 V* T三列布局- (高度已知,左右宽度固定,中间自适应)
    . ?6 D% x$ h  `$ T
    1 h+ W" C7 b  k7 w/ n4 n7 P布局方案        优点        缺点
    2 D6 l! F) t2 V4 }! e9 g7 ~. ~浮动        兼容性好        脱离文档流,需清除浮动
    ' }  Y$ b: O4 B' Z绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。4 e  t+ P3 _3 z2 \! s, g
    flex布局        目前是比较完美的方案。        只兼容到ie9。
    3 c. G$ P" ?" `2 `, f5 f: l( L表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。! ]% @8 @2 J. \
    网格布局        新技术,代码量少        5 b+ W/ u  \' j% s
    <!-- 网格布局 -->; R, b/ j0 W% n+ G6 Y% T
    <body>4 A1 o. B$ y: G% \! a, p2 H
        <section class="layout grid">
    9 R  U3 W1 ?% H# D) g        <style media="screen">
    / @& C" @/ h  P) u4 m) {5 A) V5 J3 r1 d            .layout.grid .left-right-center{5 S* r( Q  E, Y
                    display: grid;
    , Y$ l# F8 K  N+ P                width: 100%;
    * S2 H+ n8 k, u' Z! j$ ~- {4 E. J                grid-template-rows: 100px; // 设置行高
    ) T. g- k$ \+ R- l                grid-template-columns: 300px auto 300px; // 设置每列的宽度- o7 l9 m& }" ^3 @: |: R
    ( t: K; V' L; q9 j* {8 G- E3 G
            </style>! k1 @: }2 K8 |5 T
                <article class="left-right-center">8 k2 {+ W4 T$ c" [' _+ p* D
                <div class="left"></div>
    ) v0 ^& |1 h  c9 S$ p, X            <div class="center"></div>' ~8 s% H1 L4 i$ n2 d- {, O! H
                <div class="right"></div>8 }0 R3 u, n  {: j) e$ W  P
            </article>
    ) z% @2 N" L9 d9 x9 r8 a+ j1 N/ P# Q6 A    </section>
    8 M; u8 _$ V) F</body>
    8 p3 A% t6 R# c2 x" D- L0 U7 j8 u* t
    css盒模型
    # {" H; Q+ a  K6 Z6 D3 u' Z6 B5 \' j+ ~
    CSS盒模型的认识$ X: c+ M% t" s3 X: i7 ]9 L( Y
    * |+ {9 x) e4 Y0 J4 O5 P0 N
    css属性: content padding border margin
    ! @9 {( O" P) W% o$ @/ N* s- c* h9 n* O% C+ @
    两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    8 e2 i  ?: [  D6 N, X
      ?# C2 R! T0 s9 v* R两种模型的区别:计算高度和宽度的不同
    # o: g: a/ \% q8 Y" d" G( |* }. C7 A2 ]( ~  N  `- F
    两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)- ]5 u. [7 f& H# n
    7 I4 G2 ]+ z. d6 E
    JS如何设置获取盒模型对应的宽和高3 l! n) I$ W( s
    " _- t$ `* G3 A6 }
    获取方式        优缺点! d. ?- v8 U; r) `' K
    dom.style.width/height        只能获取内联样式设置的宽和高0 X) g( o& d! G, t( w$ ^3 R! l
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie( A7 V" l/ b% {; ?
    window.getcomputedstyle(dom).width        兼容性更好! a1 Z4 J4 X0 w0 {9 ]7 D7 F, B
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置
    ' u. P+ ^3 K. U9 r实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距# d2 y* D% @* Y/ z/ I: F. f
    $ ]# z  F; M) f1 Y: _
    块级元素包含了子块级元素,子元素是100像素6 l3 y3 c. m" i/ W0 Z: I
    子元素与父元素上边距是10像素# `# r# `" I: _% ]
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)7 _& h6 ?* ?1 e9 G* J
    另一种兄弟块级元素-
    ) j9 I+ b5 G, n8 y4 ~$ C
    5 ^* g% [) \* K, x8 O: I; U挨着每个都有上边距或每个都有下边距。-2 |, x; o( v: E1 O! @
    该重叠的原则就是取最大值0 h3 r: R/ U8 E& P: f
    空元素的边距-取margin-top和margin-bottom的最大值
    4 J$ t5 s) p* N) `解决方案:
    " O. |' r! V$ k6 X
    & K6 @% a7 d/ N" k0 N' @0 \( L父元素创建成一个BFC (无论父子,兄弟情况)
    2 `8 O- Q3 X" T- h; H" q7 E  F* I/ C/ J5 c2 V% U& h# [
    4. BFC (边距重叠解决方案)
    0 V% a+ }) N1 ^" ~4 \! @3 u+ O7 h- n" X8 O, `
    BFC(边距重叠解决方案)3 Y6 |4 C) F' Y/ E5 z, r
    , ^# H  K3 h* P- x
    1、BFC的基本概念: 块级格式化上下文;
    % e2 A. y0 C! W( N& p1 t; ?! a5 j+ `3 l7 A1 F1 m9 q2 Q7 z& E
    2、BFC的原理:BFC的渲染规则。
      D) g/ L7 m4 Q" W9 i$ Z- p3 C% X# t
    ①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    ! R' M( k+ J8 L+ O3 Y' U4 k" c  [
    6 F( O% v( z, G+ b. F②:BFC的区域不会与浮动元素的box重叠。(清除浮动)2 q3 C! V; A1 i! c) g
    - `' z) F- R/ k/ f
    ③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。
    # O5 L* n% K3 f5 j* i4 }7 ~
    & F2 V, K- A9 I9 I④:计算BFC高度时,浮动元素也会参与计算
    2 g: i& k. z7 N/ {# |8 Z3 \6 T# _( I# _. Y, k
    3、如何创建BFC  t" V! h) O5 n) e7 U9 a

    4 k" G) R3 y( q# k7 K1 c6 Q1 v①:float不为none。! w4 |5 D* X* @3 N  W' V; j) s0 v
    0 e6 T* b$ @  i1 ?6 ]
    ②:position不为static或者relative。0 C8 P9 A7 A" f5 G0 L: C" {

    " z1 V: d, y6 [/ ?③:display为inline-block或者是table相关的。
    ; X( {; ^) |" ?+ F# k3 \0 o$ f. g" d$ I
    , [* ~! N; J7 G1 `5 s$ _) z. w④:overflow不为visible。
    6 x- H3 d7 d) w+ r0 x, M. n
    ) \9 B+ F9 `( R( g) b. k⑤ : body 根元素0 t8 {: D% w. e  y0 U+ f
    4 K" |4 ?" j9 S, g4 m
    应用场景:
      R4 z7 E, {$ }  Z( W% g8 _0 X左右布局时,float
    " Y8 S2 D5 U0 `6 H7 h相邻div使用margin产生边距重叠
    ! q' Y+ p& f6 j# q5 wdom事件
    ) x7 Y$ \# x( Q+ q( F2 _, l0 i) K' u1 k, B1 s8 Z
    基本概念: DOM事件的级别
    9 Y- C& d& f1 v. m
    . t  ^9 i$ w8 J1 e- k- Z/ l7 _DOM0: element.οnclick=function()
    5 ?* L0 J3 |5 V0 u$ b( z6 W* F* q. a4 o* j% f
    DOM2: element.addEventListener(‘click’, function(){}, false); N6 k- C4 B1 ?' X& b
    , k$ q& G) k- n# {6 _8 l+ G. P
    DOM3: element.addEventListener(‘keyup’, function(){}, false)/ g$ y; o4 y5 v

    % S2 ~# M8 K3 ^. f9 U; eDOM事件模型
    & F6 P5 w$ ?1 l  a- h' u$ L! j; H) ^: R5 ?! U9 b
    event.target 2. event.currentTarget
    - F% S9 q' q* h; Wevent.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素: Y: _7 e: h2 X" v, v" |7 e$ D* F" R
    DOM事件流1 m# o/ O% ^1 p- [
    $ ^. i) B7 ?% s  S
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡* f3 x9 m& ?$ @+ Q$ @0 L
    描述DOM事件捕获的具体流程
    & V, Y$ z/ T: u& ~6 B4 B$ K, F5 i" Q! I. ]+ v) J- p
    window 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    $ }+ J8 O7 Q  ?0 NEvent对象的常见应用
    $ i) r+ _5 _/ B- _/ ~9 M, |6 o* j# E, D# X- d
    e.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()% U2 v3 g8 {+ w6 M2 m
    自定义事件3 Q# i  q5 L; }8 A4 T/ E/ }6 f, a  P
    + `1 X: \. }8 o$ x
    var eve = new Event('custome');
    / o3 c& }, B6 ?( {ev.addEventListener('custome', function() {+ U. x3 ]5 p* S
        console.log('custome');" I. p( t4 h: q' |; |
    });) m. b$ g/ v! T0 R
    ev.dispatchEvent(eve);
    ) V, Z  z! T& \7 q, W1% X2 r4 O6 I5 s8 _7 ^& H* u
    2
    7 r' C% f$ ]9 Q$ K34 s# E- t; q( ^7 k8 v- E# y
    4: u* ~  V7 v# I5 Z% P; C
    58 P/ O7 G: D. k8 ?6 I, P" S1 K* i
    http协议# E# n8 M; G  o" [8 N

    3 z2 H/ Z- ?4 R. ]) pHTTP协议的主要特点  [, Y/ x! V7 R, f2 {
    2 o4 B0 b9 D2 h9 J$ q
    简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、. E% C$ K; \1 R4 G" C. v; E
    ) [  I* w1 h' L: t* C6 u% F
    无连接(连接一次就断掉)& a8 l( H3 ~1 S5 o' J& v
    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
    $ K4 `( P- v3 X0 q1 y; b7 @无状态(两次连接身份)
    3 ^7 L! G- }7 O9 [2 H, P1 S" x是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传+ v' E9 ~- `' ^" Q8 e* B
    HTTP报文的组成部分1 A! f# Z2 u  E1 `- E( o. ~( `
    ) q' V, k' `0 X* k! E; X
    请求报文) J% `9 K) H" p, P7 E

    3 V6 e8 s- L% i0 h$ N, C3 d请求行 请求头 空行 请求体% v6 m# ?$ L- X6 ]& X+ r- O5 K
    / K8 \, ^+ \$ F
    响应报文
    9 y! R" W$ x6 n* t5 n8 r/ N$ q' j- q2 q( c& A3 H: f! i: W: W
    状态行 响应头 空行 响应体
    8 _4 I0 q5 \  S4 t
    . d; I. Q; Q) }0 c$ Y  dHTTP方法" f2 u* a4 l" g8 o
      ~9 k2 Y$ N$ B4 y
    方法名        方法作用        注意
    8 t, F0 ]" V, R0 |! v; p4 YGET        获取资源        6 k8 Y# C- b  [+ U9 Y7 A
    POST        传输资源       
    ! _3 I5 t: s7 a% [, e$ UPUT        更新资源        % m4 \4 t. T' e7 [6 ?! ^
    DELETE        删除资源        " ~7 v) }6 e# v8 x- f  F: D
    HEAD        获得报文首部       
    0 E! i& ~: l/ T5 C. U9 r8 ?$ ?POST和GET的区别/ y$ g$ P0 z, Y6 P1 L8 G

    * {7 |* Z4 U! T4 Q1 k2 g  Y# ]' w! Sget        post
    * D4 n" q- q9 h2 W) |在浏览器回退时是无害的        会再次提交请求
    4 L6 |, L; t) g9 F" L2 E$ ~产生的URL地址可以被收藏        post不可以' X1 J- ?( U7 K# o3 x
    请求会被浏览器主动缓存        不会,除非手动设置  d2 m6 t. M4 V3 L9 P& }7 y
    只能进行url编码        支持多种编码方式, z. ^  y# a/ _- z: q
    请求参数会被完整保留在浏览器历史记录里        参数不会被保留4 n. @7 j. l/ d# Q* {: ?- C
    请求在URL中传送的参数是有长度限制的        没有限制
    - [% t2 S6 R* T! U  P) n" \- f6 @对参数的数据类型,get只接受ASCII字符        没有限制
    4 U4 Q: E# f1 ~更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露8 W' M2 y8 w, ^  o6 u. J
    参数通过URL传递        放在Request body中& t' Y' R3 n* i  {1 G3 j+ W
    HTTP状态码
    ( i* E; a8 n# z' Y- P$ }( N) w  t' ^9 O# O
    状态码        意义8 C9 t2 A, C; d  @# j) W5 F. }9 j
    1xx        指示信息 - 表示请求已接收,继续处理。
    + L! I. r( ~2 d& G2xx        成功 - 表示请求已被成功接收。% ?  Q: J9 e6 T* V) E* V
    3xx        重定向 - 要完成请求必须进行更进一步的操作。1 {& x7 l3 n( e/ y0 _) Z# D
    4xx        客户端错误 - 请求有语法错误或请求无法实现。- @( y% X  J% g1 L& V
    5xx        服务器错误 - 服务器未能实现合法的请求。& I+ c( B) I4 N( t
    状态码        意义
    $ \/ Y+ L( Z! D3 S+ a# X* o200 OK        客户端请求成功
    . n; k! n, A8 ~; s4 f' ]206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它+ Q9 o' _& @# G- u/ P
    301 Moved Permanently        所请求的页面已经转移至新的url
    2 f4 K3 h5 [9 ?302 Found        所请求的也么已经临时转移至新的url
    ( I3 M- J% R* Z304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用
    3 b1 @9 p8 h  ~4 l* @# C& q400 Bad Request        客户端请求有语法错误,不能被服务器所理解4 d- k: }8 G8 W* C1 D& O& V- f
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    % P/ h7 l. F  }$ {# b! c6 q# Z403 Forbidden        对被请求页面的访问被禁止
    6 v4 [7 _, C) S& O404 Not Found        请求资源不存在
    9 Q4 s/ ?' B3 O) z500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用1 O) t. D: @6 J5 [' G
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常# G% Y. e( K* y5 a# k8 q; Z& S
    什么是持久连接
    , d8 z' a7 I2 I6 n: l  k; i# r7 P- X+ ?( ]8 O- f& X, g6 u- A! J
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    / K3 |0 C/ ?$ a4 v6 C- e# W1 n9 R7 N7 U: h" @
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    ! b2 W9 O# x: v! F9 p
      W7 V: n5 Y. `8 f/ u使用了持久连接$ U/ ]# a4 Q; e4 Z3 P3 e
    ) d; u3 }; T$ Z- G7 U
    请求1->响应1->请求2->响应2->请求3->响应3
    7 K9 p2 C* u. m: Q# P( o( w1 z
    变成了
    / `: y/ P5 U+ U. {6 _1 g4 p. M$ H% t6 o% V5 \' X
    请求1->请求2->请求3->响应1->响应2->响应3+ M1 o+ g# p; y2 J; B/ i) n$ @+ X
    , G7 U6 G; d" L3 y6 l
    什么是管线化
    + x1 `3 j' X: T, M
    $ m- ~, c, |8 P' c% p4 O; e管线化通过持久连接完成,仅http/1.1 支持此技术
    3 E- m' L* ]( q: t只有get和head请求可以进行管线化,而post则有所限制. Q: x; P4 P7 n6 J7 y! e4 H
    初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议' R8 e: g3 ~0 X
    ; `5 j0 {- _- ]4 r6 O& P; Z* w
    安全& Q" M% R  ~% d- {( z6 ?; c- b# h

    7 p2 c" I, v+ A8 k& h8 y6 lCSRF
    ( Y9 G8 N3 M6 c! x( P; y* Y2 e8 G基本概念和缩写
    ; H, k. W( I4 H( QCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。3 X9 ]# q* J! L
    攻击原理( S) |8 A, N/ l: Z
    访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    * r  j  D) X$ y* ~这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
      t6 c7 V( a7 Z. i/ DXSS
    % X, o: \( J! g, D( \$ J4 C基本概念和缩写0 S$ B, a% s& R+ i
    XSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。9 s8 Z: }0 u$ n2 |
    攻击原理( h: G1 r0 p7 A0 `5 Z# L* h
    输出脚本code
    - [8 S0 y; e3 {. e- h跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
    / E: W# y1 E' Dxss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。3 j% b% ]# ]6 S+ S' X$ l
    渲染机制类# B6 o7 P% u/ X4 f; U" X8 i

    ' h1 s/ h. M" }; v什么是DOCTYPE及作用
    : _0 l" n# R6 z2 F
    5 n- S, {; I4 V( x; E1 qDTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。
    : @- p1 i7 v/ e* }; C作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。
    ! z; Z& H* a0 ?DOCTYPE是用来声明文档类型和DTD规范的,
    8 j  g* Q" H2 S作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。
    # |  m, [+ ^# Z# i7 aHTML5的DOCTYPE:- ?, A4 o) H' w& T4 c! a1 c* {, s

    9 I/ |1 `. _9 E5 bHTML4有严格模式和传统模式2 s  ^# z! j2 E! y9 |7 @8 F
    + w5 C7 t$ T/ A
    浏览器渲染过程
    4 `; n3 O- M3 o* m
    0 m8 y' g+ T" g  G6 d" N一些概念
    + \/ d& N& a) r& ]& I! h, D- [) a/ P9 R4 W
    名称        概念1 u- Y4 l. c2 L" ]$ r- c$ ^
    DOM Tree        浏览器将HTML解析成树形的数据结构。& ^) A% T; o+ T7 L7 a
    CSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    , c" J  d4 T+ x6 w( i8 ERender Tree        DOM和CSSOM合并后生成Render Tree。
    8 S0 m& O! T5 G- i1 e0 c; O0 rlayout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。9 F5 a) t/ a7 a! R; p. X
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。' t2 }' Q9 T) k: }! B
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源: q0 ]$ b' D  U4 ~% h, {
    2。HTML解析器会将这个文件解析,构建成一棵DOM树& W. X3 k0 M  S8 v7 r9 \
    3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器
    ! ]( g0 M+ c# ~* y1 s1 j: H; i4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成
    8 R: X& l' r% H$ f# x" `! I$ j% f5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树5 y/ M% ?& U6 V, N) P
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    3 p& X- U7 W, S$ g0 Z- j! e7 D7 @3 ?7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    ) H8 Q. Z/ j6 [! k* Y6 }$ j1( `& r  h9 H5 w7 N/ q& X
    2
    & \. o' d7 L2 {6 X0 K5 L, ?3& C- s/ y6 }4 s! u" H8 q! h% k
    45 n5 y! B! v. H3 ]5 w$ P) M( H
    5
    / _2 G. t! h0 T$ d6
    & t& w6 Z) q+ M. X8 x! G1 h6 W7
      `* U* ?0 A0 M7 k7 @, n; F3 F重排Reflow+ L+ }9 \% W' R+ J3 U

    2 m/ ~9 S. o1 l定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
    4 y- v% l+ y8 K- E触发Reflow:2 X, o" k4 O+ W
    当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    . Z6 ]$ U1 P0 @- M" W5 V当你移动DOM的位置,或是搞个动画的时候
    3 U: P" ]2 U- W+ o" a当你修改CSS样式的时候8 p' D; |- Q9 ~% a) F! p1 T: V
    当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候
    ! ]3 b& R' x  d' H+ I当你修改网页的默认字体时# y, u# S" h+ E  q
    重绘Repaint5 f/ n1 D/ b$ Z  o" i% [6 b
    8 L$ B7 V. X. C8 `. d) i6 x# V. g( e
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。
    * x* V4 o& R( ~+ Q; L: S* }
    + v* S$ m8 \/ |- u; A触发Repaint:
    ( i( A: W9 r* e" R# x9 G
    ( F8 ^8 h% J- G% F; D% dDOM改动
    , z( Z3 `- w8 C; y4 ]& lCSS改动
    ; W0 n: ?1 w& T( {/ o————————————————
    $ \: ^, F1 S/ @2 c版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。% @! m- H/ V8 ^( x% ?6 O; B
    原文链接:https://blog.csdn.net/u012015672/article/details/1059312915 y* t. L2 i6 p' Z9 ]4 ?. O; c
    4 x" A- F, w% Z  Q# t2 `
    ( s3 @+ F2 A2 J) ~
    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-12 02:32 , Processed in 0.312451 second(s), 50 queries .

    回顶部