QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2208|回复: 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 知识点(未完)! T* x2 W  g5 d# I& U
    ) r5 ~- {0 ~6 @' @; I. h+ f
    HTML 知识点& y& N, Y" t. U% b, o" k

    0 C) S/ S& {7 B; x+ W三列布局- (高度已知,左右宽度固定,中间自适应)( J2 n. H- }  e1 ~* k

    % M0 K4 B+ t4 }. M布局方案        优点        缺点( @" m# W; n4 S1 g% c5 s
    浮动        兼容性好        脱离文档流,需清除浮动# R* b7 X5 Z1 g7 q5 a+ k
    绝对定位        比较快捷。        因为其本身脱离了文档流,导致了其子元素都脱离了文档流,使用性较差。- ~# j& E$ ?3 g0 J4 r. `  J; J
    flex布局        目前是比较完美的方案。        只兼容到ie9。" c$ |* k* ?+ y! N6 L
    表格布局        兼容性好,当需要兼容ie8时可以用表格布局。        多栏布局时,某栏高度增加,会使其他栏高度一起增加。. K4 x9 O/ P# O4 `
    网格布局        新技术,代码量少       
    ' `+ v' \+ k" n. J<!-- 网格布局 -->4 L3 t5 s9 ^; c/ f
    <body>
    8 j  m# s6 C( p: Q1 q" |% z6 C    <section class="layout grid"> $ g2 g. ?5 ]: o  J& {/ R% e7 y& M
            <style media="screen">
    / C5 [* c; b5 w1 O            .layout.grid .left-right-center{7 l' n3 j7 j, e1 M* D
                    display: grid;) l" ~" u, E1 w8 [8 K* J
                    width: 100%;# f6 r0 R* J! R9 X2 g" C  E
                    grid-template-rows: 100px; // 设置行高0 X8 d- f4 N  ~1 }- a5 _
                    grid-template-columns: 300px auto 300px; // 设置每列的宽度
    0 j/ [: x( ~- u0 C1 W$ f
    . Z, e( m3 p+ D2 m' u        </style>
    8 p! T. r  O5 j$ j            <article class="left-right-center">
    $ W+ `/ }# o2 P( X. i+ M            <div class="left"></div>
    / _- l- }" _# Z' Y) W3 G            <div class="center"></div>
    ( H5 n+ k6 S- a2 z! {            <div class="right"></div>
    4 ]6 `4 p8 f9 k9 ^! S, ^        </article>1 X; w+ E9 {! t6 L/ {
        </section>
    5 }: V" Y/ z  X+ Q</body>3 c3 w1 h2 x8 H
    3 P, b) ^3 @( d& H# O
    css盒模型' J5 i( j% M- A, K: c: `

    9 n" }- M" `- z! g4 WCSS盒模型的认识
    $ A5 j0 r3 `/ G; Q
    % {2 Q- I, g2 g: ~; Wcss属性: content padding border margin
    ! f. g( E* J1 U/ N. j# a
    1 [2 {% R$ P" M) u1 |! H" D3 L两种模型:IE盒模型(怪异盒模型)和 标准盒模型
    1 i1 _; t/ L& z+ |: h
    , p2 i! U6 W2 ~两种模型的区别:计算高度和宽度的不同
    $ |: h- C7 _3 H' T1 r9 `. |3 p& m! f
    & k. u. c6 O' N5 Y两种模型如何设置:box-sizing: content-box(标准盒模型); box-sizing: border-box(IE盒模型)& M/ q0 Y6 g; n7 a8 b- Q4 Y/ l
    ' _0 E2 ~4 X& l8 ^6 ?, g
    JS如何设置获取盒模型对应的宽和高
    % Y6 r% j" s% F" ]0 U2 c( }9 C
    获取方式        优缺点
    ( k2 S& C- b, mdom.style.width/height        只能获取内联样式设置的宽和高5 k  S- v- T% P5 ]& i' u1 r
    dom.current style.width        获取浏览器渲染后的宽和高,只支持ie
    & c5 f/ N8 t  x( E. awindow.getcomputedstyle(dom).width        兼容性更好9 l8 h9 C, C: |; ]. ]8 S, c
    dom.getboundingclentreact().width        适用于取元素的绝对位置。能取到 left top width height 四个属性 。// 获取浏览器渲染后的宽和高一般用于获取元素绝对位置6 ^  R" o# Z$ B) R! b. ?7 g' L7 `
    实例题 (根据盒模型解释边距重叠)子元素边距成了父元素边距# M* C4 n$ d( Q& Q" o/ A
    1 i6 N# \- |: B& g
    块级元素包含了子块级元素,子元素是100像素
    4 R& H& a2 `' H子元素与父元素上边距是10像素( a- f) q7 t! H, j) F$ H1 B1 G
    父元素是110px还是100px (100px, 设置了overflow:hidden就成了110px)
    / |8 U- U" x  R7 u另一种兄弟块级元素-
    5 l/ |' }" a3 Y. G& v5 ?3 l3 x* h5 t
    9 n0 B0 X" Q& p( N挨着每个都有上边距或每个都有下边距。-5 K' C7 M: g$ @& E  U8 p& M
    该重叠的原则就是取最大值
    2 z! ]7 J! C+ A% S空元素的边距-取margin-top和margin-bottom的最大值
    * e& X, x& h( a: V! c! l解决方案:
    , G* S2 l7 S6 U/ G
    # b8 l& j: T% u7 @2 Y: r0 G' M父元素创建成一个BFC (无论父子,兄弟情况)
    9 L$ T  H* _+ K. A: N
    + I9 _6 V3 A/ B  ^, G4. BFC (边距重叠解决方案)
      ]1 G3 _3 N7 P: N, M
    + C% i: m. ^& C3 E3 R, h0 C, FBFC(边距重叠解决方案)! A: g: l1 W9 Z& x; M
    4 J" I* K) F8 s
    1、BFC的基本概念: 块级格式化上下文;- j+ C  O* \  {+ W# _

      Z" h0 F2 U6 Y2、BFC的原理:BFC的渲染规则。0 a; }. s5 h) d% [) i

    * r3 I  M8 f0 A①:在BFC这个元素的垂直方向的边距会发生重叠。(同一个BFC下外边距会发生重叠)
    9 m1 m5 j% N; O% x: {6 P; t8 Y1 N0 H7 q& @
    ②:BFC的区域不会与浮动元素的box重叠。(清除浮动)
    . d) [2 Q8 r& e3 V1 Z# n
    % [+ y- c+ I5 I$ u2 F6 G, |2 |; o③:BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素。9 i2 ?+ i5 [1 m+ F* U

    % V/ H1 v" d, p( H, a) Y, v: w④:计算BFC高度时,浮动元素也会参与计算
    0 y: R9 `: D6 O1 Z' P, X& H9 z" Q
    ' N2 z6 E& R  J, b$ K( ^3、如何创建BFC. Z9 G. J& H8 A, k! D2 I  j* \$ a

    ( l' T7 D. Q" D% I/ B①:float不为none。, i. h0 P/ M3 y! T. G9 z+ K- F0 m
    ( [! {) h' G& X
    ②:position不为static或者relative。
    - O) C+ R2 m4 T( q( m0 {
    6 B  H9 x- A1 Y  Q3 T- D  Y# w9 e③:display为inline-block或者是table相关的。- s+ F4 c; Y! E" l) m9 l4 e

    " m1 h) |2 K. h3 q5 g2 m% u④:overflow不为visible。
      Q6 {( d: K, {
    4 {7 ?  h$ `+ P& @⑤ : body 根元素
    ! o% L: G# _' T" h9 }5 k! F0 I1 K2 f4 Y8 G* ?) E+ u) S* C
    应用场景:
    0 a2 m6 X: G. k5 k& C! M/ u左右布局时,float 9 m& G& A1 `7 G5 h& [2 ^: f
    相邻div使用margin产生边距重叠/ l, g" J1 `2 K' [, J  Y
    dom事件
    2 {/ X1 @, l; g4 m* ?. j6 J/ _4 r$ w! I$ ~7 ^+ V
    基本概念: DOM事件的级别; ]+ r0 ^% i7 v- O! \& ?
    # k: C2 }1 w/ \/ ?5 W* ]
    DOM0: element.οnclick=function()
    , }, m, Z5 }+ T2 B" I- J
    ) o7 P8 n  G1 [: t/ j$ sDOM2: element.addEventListener(‘click’, function(){}, false)
    ' u$ n/ F' b9 O5 D" s& [  E% s: L3 M" {* M; Y2 H$ X% S
    DOM3: element.addEventListener(‘keyup’, function(){}, false)
    4 C) D6 S8 [0 z/ u3 ^
    3 S0 b  B- [$ H: V( s2 K; n4 W# gDOM事件模型
    2 D2 R' r: u( a6 R6 K0 ?
    ) G  z' ~+ D4 P2 }) S0 x6 m1 bevent.target 2. event.currentTarget
    : I  j; B+ R7 z4 t: [: |event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素
    . x6 B. e0 [* EDOM事件流5 t9 C# ~3 \* A% b
    6 E. U: i; {7 E6 U+ [9 \, w
    事件流 -->《捕获》 2. 目标阶段 3. 冒泡
    # [4 D3 x5 R( Z2 U+ Z9 N描述DOM事件捕获的具体流程3 [. k- o# N5 b

    ) A* {! P! X  U% q' jwindow 2. document 3. html 4. body 5. 按html结构 6. 目标元素
    $ n5 M6 A  @6 \" x/ N" A0 q+ Q$ @* KEvent对象的常见应用
    , M: @9 ]- Y& z2 W9 K: L
    & [# ~' w8 a& `+ o2 V2 w) ze.preventDefault() 2. e.stopPropagation() 3. e.stopImmediatePropagation() 4. e.currentTarget() 5. e.target()
      v# ?, }# h* l+ z  ?+ v自定义事件' R. S9 F1 H( K* _' F
    + X2 g  O+ B$ Q
    var eve = new Event('custome');
    % }/ C+ y' W  Y4 A/ Sev.addEventListener('custome', function() {
    " Z8 X( V; S* h    console.log('custome');
    * w5 a6 D9 @- [1 d; c});* x6 {! t; H' i& Y! O3 l8 E0 V
    ev.dispatchEvent(eve);! m3 ~) Q  F1 C" v
    1, l$ \9 B0 F, [, ?+ B8 D+ Z
    2. U1 ^+ `! o3 @' i
    3
    ) v# x5 {1 Q3 H& ?; Y4 \4 `4
    7 g# F4 _/ z0 x! u; O/ b+ S8 a7 q. h3 Y5! Z) l' T) ^5 i# p4 d3 C( \, J0 b
    http协议( M- u4 P( y' c* |

    , p3 x0 t- h+ u  }; M6 THTTP协议的主要特点4 n/ s, Q* b5 c* H% m

    $ `% N2 Z6 M8 ?2 D! O# B. {简单快速(资源的URI是固定的,输入URI)、灵活(头部分有不同数据类型,一个http协议不同传输)、" a( O" E& q' j; q1 w

    7 a- f" f) C$ Q8 a无连接(连接一次就断掉)4 z+ y* a9 F8 a9 \- \( ~+ {
    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。" l4 @. b" l: q
    无状态(两次连接身份)
    ! s* F8 F/ n5 y  I$ r8 W  j是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传  C% l: s. L0 R
    HTTP报文的组成部分
    8 N, b) W, Y2 n  x# Q" h. g
    2 m& O2 \7 r3 T. z" `0 ]请求报文( ]5 ]% ?4 d- v, d6 R

    ; \( ^; f$ E) m2 q- S9 n+ S请求行 请求头 空行 请求体
    3 M& S6 P$ i1 e* ?9 X6 v9 J- k- W' _
    响应报文
    " ~$ p) |" p7 Z# l1 x7 Q/ _; q* x2 O/ U  }/ q5 @
    状态行 响应头 空行 响应体
    8 f) y# a1 d& i
    3 L7 K! V5 d  U' P' @, r" d8 l* x; rHTTP方法
    , h8 T* z- @# W2 g) Q
    : w8 L' q. ~, J  y9 A! P$ c1 G方法名        方法作用        注意
    ) K* O3 K% `- |9 A- @5 }" c5 _GET        获取资源       
    1 B# j; e) Z" ^& y) ^POST        传输资源        " Y# F" a( K; Y/ g1 c
    PUT        更新资源        # j/ }1 k8 m, [7 e9 g
    DELETE        删除资源       
    % }; \$ D2 j- H  d2 c5 dHEAD        获得报文首部       
    ) }& z) h/ Q# c4 N2 e& V  ?! |POST和GET的区别
    ( j. v6 {$ ~( n" v6 N3 G1 D- f% A; {  u( x" T1 H$ e3 G
    get        post7 K- u, S1 R( d! @. a3 o
    在浏览器回退时是无害的        会再次提交请求) B/ n7 K- B! Y) P
    产生的URL地址可以被收藏        post不可以6 W# A9 |( c, b( y) m; Y! l9 Y) e
    请求会被浏览器主动缓存        不会,除非手动设置
    , ~6 O4 [6 W5 b' }* l只能进行url编码        支持多种编码方式
    ) G2 O, S, [9 G2 B请求参数会被完整保留在浏览器历史记录里        参数不会被保留" d% L6 E0 A  z& w( \
    请求在URL中传送的参数是有长度限制的        没有限制# c; m' [3 ^5 L% q) u9 Y5 t) t- @
    对参数的数据类型,get只接受ASCII字符        没有限制
    ' @! F) Y6 a( l8 k8 B: H9 S更不安全,因为参数直接暴露在URL上,所以不能咏柳传递敏感信息        没暴露. I. U& s: F$ D0 e3 u
    参数通过URL传递        放在Request body中
    & r0 P9 z: o- F" _HTTP状态码, X0 e4 W! x# x

    : G; r2 U, a, D$ ~状态码        意义* Q3 p( C5 d1 M
    1xx        指示信息 - 表示请求已接收,继续处理。
    " g6 a) o- J- U2xx        成功 - 表示请求已被成功接收。6 v: f  v, a+ ?' n3 b) ?
    3xx        重定向 - 要完成请求必须进行更进一步的操作。
    % H3 s5 [6 M( o" r$ _, j+ S: C: }4xx        客户端错误 - 请求有语法错误或请求无法实现。2 H/ P2 t$ l4 X$ q+ i- t/ p
    5xx        服务器错误 - 服务器未能实现合法的请求。* S% i4 j0 c& Z8 c* l% @
    状态码        意义
    : P& S) x& |) V- H* R* d; i6 S0 Q& [200 OK        客户端请求成功
    ) w0 v! g& P7 `* E206 Parital Content        客户发送了一个带有Range头的GET请求,服务器完成了它4 X0 A! X6 f5 U3 n2 m9 z
    301 Moved Permanently        所请求的页面已经转移至新的url
    - B4 Q/ x8 Y0 Y! w1 ^7 L. `302 Found        所请求的也么已经临时转移至新的url# h2 b, l8 g: U5 ?2 D
    304 Not Modified        客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用+ ?: l, D6 U$ |7 G9 _" O
    400 Bad Request        客户端请求有语法错误,不能被服务器所理解2 l: G5 q0 W7 q# s: Q4 J
    401 Unanthorized        请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    + M' k1 E) N% j4 a403 Forbidden        对被请求页面的访问被禁止
    9 h2 i2 _5 q: `3 F  K404 Not Found        请求资源不存在
      f; Q4 e4 Z/ j, S" z* t9 _- ~' [" |500 Internal Server Error        服务器发生不可预期的错误原来缓冲的文档还可以继续使用0 u  ^0 B$ p& B- i4 O
    503 Server Unavaliable        请求未完成, 服务器临时过载或当机,一段时间后可能恢复正常
    4 A, y8 w& D. Y, y5 ^* s( X/ ?什么是持久连接
    : S9 b8 Y' E( O1 w6 y6 Y$ F4 J4 o+ d& u  C  z3 u
    HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时, 每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)
    ! |# t  v% Q1 Z+ X8 D6 [/ j, \7 G: _  V( g
    当使用Keep-Alive模式(又称持久连接、连接重用)时, Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    ( K( M* I/ C& M+ r
    % ~4 h8 F1 \  A; p7 q使用了持久连接) s" X0 |$ Z2 Z. Y
    5 M) p6 \( c: Q1 }8 ~
    请求1->响应1->请求2->响应2->请求3->响应30 y& P/ ]* T5 ^9 B

    , n2 Z$ D* E4 |) ^- C变成了  I3 H7 k9 Z5 p3 X1 [" w3 F  i) S

    5 K6 d, h6 x1 d1 e/ y请求1->请求2->请求3->响应1->响应2->响应3) c# I$ R& `" b( A
    # [; l& a9 Z- }# ~" _
    什么是管线化* g0 g" M9 m5 I$ O' z: p

    3 `% H, a3 k! y8 r8 J) W管线化通过持久连接完成,仅http/1.1 支持此技术
    ! q% o' B+ Q& ]3 ^  O只有get和head请求可以进行管线化,而post则有所限制
    & J4 G' x8 x- d, N3 X5 E( _. c初次创建连接不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议
    2 N0 w; V0 `1 {- M3 ?# w8 T  ]
    ) \* g; @, ^5 x- S% @, i安全9 m9 ~" D, K9 C( q; |% L
    ' j6 h- M- R. g9 V+ ]& N  n5 i9 [
    CSRF
    3 V6 l: n" `, \( T; l基本概念和缩写
    - [1 X. t; V& N. o' W% g" z& ]1 ZCSRF, 通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF。
    4 r& C" m( ~+ i" `- _* s攻击原理
    8 x4 q5 e: w0 S' j4 _# E+ v5 O, @访问网站B时,网站B引诱点击链接,用户浏览器携带的cookie就被网站B的某些代码访问了。
    ; G6 Z1 s- C, V) P1 Z9 \这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。2 O3 P4 q' M# v0 f$ ^
    XSS
    & `0 I( [) a/ @" h基本概念和缩写
    - `! H3 `) o+ h" c& J5 b% P( UXSS, 跨站脚本攻击, 英文名Cross Site Scripting 缩写XSS。
    6 U$ ?& x7 ?$ o7 s) x$ G攻击原理* n  B: x+ }9 l9 N4 j
    输出脚本code
    ! Z4 l6 z! Y) J0 o跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。9 A+ v" V& d9 w8 v
    xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
    , ~- t; [, ?  m  U) Q) `+ U$ G) ?渲染机制类
    / k: T( @/ X# J' _$ K4 s4 [" `0 R/ f# R: r* r8 j
    什么是DOCTYPE及作用
    2 r0 C6 g% Q% `* r$ d1 \* R8 m9 D
    ( c% \. ]* z5 R9 iDTD (document type definition, 文档类型定义)是一系列的语法规则,用来定义XML或HTML的文件类型。$ ^* Q% a. x7 i" R0 N  D4 N1 ]
    作用:浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。3 _! ~5 i- T  V" L7 b* G
    DOCTYPE是用来声明文档类型和DTD规范的,
    - e; K9 j) W% d3 b4 F* Y2 C作用:一个主要的用途便是文件的合法性验证。如果文件代码不合法, 那么浏览器解析时便会出一些差错。  n" m! `, k& |
    HTML5的DOCTYPE:
    / g- [6 a8 l; B* {  l
    - S5 s0 P5 z7 h/ W8 _0 H4 BHTML4有严格模式和传统模式/ W) n4 v9 m2 r" p, S- V2 v! w
    - j5 L/ u4 o$ u9 J! I
    浏览器渲染过程
    0 C: {  Z% I4 y  A9 q6 D
    # f* d+ b+ l- r3 M8 Y! {一些概念% B9 i5 G. z6 o
      L9 A( o" W; ]  D
    名称        概念
    4 d/ C0 g) T) K4 f- EDOM Tree        浏览器将HTML解析成树形的数据结构。
    % j9 q6 y) b! m, FCSS Rule Tree        浏览器将CSS解析成树形的数据结构。
    # B5 v- F. @; C* }Render Tree        DOM和CSSOM合并后生成Render Tree。8 R% j( V; t* R$ w) l9 E* |: q  \# q
    layout        有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。  x' o% l, \4 f' O4 e3 W; z# p2 B" A% Z
    painting        按照算出来的规则,通过显卡,把内容画到屏幕上。5 y' C( \5 X2 a  u) A9 V( \5 z
    1。当用户输入一个URL,浏览器就会发送一个请求,请求URL对应的资源
    8 @6 \4 b8 n+ K* p7 u# ~2。HTML解析器会将这个文件解析,构建成一棵DOM树9 `7 C) W3 _4 G9 W* u8 y
    3。构建DOM树时,遇到JS和CSS元素,HTML解析器就将控制权转让给JS或者CSS解析器" {; a- x( R( C
    4。JS或者CSS解析器解析完这个元素时候,HTML又继续解析下个元素,直到整棵DOM树构建完成$ ^( E  s2 L! r" o4 a
    5。DOM树构建完之后,浏览器把DOM树中的一些不可视元素去掉,然后与CSSOM合成一棵render树5 e, I. L7 i3 y1 M  s. E& ^
    6。接着浏览器根据这棵render树,计算出各个节点(元素)在屏幕的位置。这个过程叫做layout,输出的是一棵layout树
    4 L. ]0 W6 }& v7。最后浏览器根据这棵layout树,将页面渲染到屏幕上去
    2 t$ k! h  D5 u0 h1' j, g8 U: a& t8 @" y9 i! w
    2
    ( V- @+ x) q. B& v* A" w& L3
    3 u5 g/ b' h/ h2 O% F7 o41 c& Y/ L/ Z- j
    5; }1 z  b% F. W: M% N. K
    6
    4 I3 J- Y2 \4 I$ r2 i! f0 n79 [/ [7 n2 D  S+ K
    重排Reflow( N2 a" L- W" b* {, M% P

    4 K- J& E* ?* o定义:当浏览器发现某个部分发生了变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫 reflow。
    8 ]% ~0 h* T6 J  v% R触发Reflow:
    % F2 |, a/ A7 s; q2 L当你增加、删除、修改dom节点时,会导致Reflow或Repaint
    - p" X$ [! ?, @" o( O, U当你移动DOM的位置,或是搞个动画的时候' j# O) A# M* E+ ^- ~* T
    当你修改CSS样式的时候
    4 a( z- P# l( f+ c当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候$ L9 K' a% n- U: P3 `, R- `) h/ c
    当你修改网页的默认字体时
    0 V9 Q) m8 {6 r7 @  n. v$ t重绘Repaint; }  V1 ]- e; ^
    0 I- K. u8 e! k: @' Q
    定义: 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时,屏幕的一部分要重画,但是元素的几何尺寸没有变。; `9 m+ ^6 I% A  c& Y

    5 B, g2 S  \, _/ O触发Repaint:' W4 q# k6 O* _$ H

    7 R4 e% R/ R& w/ c9 ]& R& ]DOM改动5 z: d7 B9 t; p( }4 f0 {6 x* s5 o1 b
    CSS改动
    * a. ~, g! p' }————————————————* w5 L+ E2 p' x1 P
    版权声明:本文为CSDN博主「ton365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。8 i8 q0 a, D$ o/ \( {4 V
    原文链接:https://blog.csdn.net/u012015672/article/details/105931291
    4 W" P% P9 i) ]9 ~4 s9 g
    7 b& D; p' `3 Q3 C/ f
    8 b; L; G( j9 ?( J2 @
    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-6-13 13:47 , Processed in 0.412379 second(s), 51 queries .

    回顶部