美文网首页
CSS 知识总结

CSS 知识总结

作者: Sharpe | 来源:发表于2019-11-23 00:31 被阅读0次

浏览器如何渲染页面

浏览器解析

1、浏览器通过请求的 URL 进行域名解析,向服务器发起请求,接收文件(HTML、CSS、JS、Images等等)。

2、HTML 文件加载后,开始构建 DOM Tree

3、CSS 样式文件加载后,开始解析和构建 CSS Rule Tree

4、Javascript 脚本文件加载后, 通过 DOM API 和 CSSOM API 来操作 DOM Tree 和 CSS Rule Tree

浏览器渲染

1、浏览器引擎通过 DOM Tree 和 CSS Rule Tree 构建 Rendering Tree

2、Rendering Tree 并不与 DOM Tree 对应,比如像 标签内容或带有 display: none; 的元素节点并不包括在 Rendering Tree 中 。

3、通过 CSS Rule Tree 匹配 DOM Tree 进行定位坐标和大小,是否换行,以及 position、overflow、z-index 等等属性,这个过程称为 Flow 或 Layout 。

4、最终通过调用Native GUI 的 API 绘制网页画面的过程称为 Paint 。

Webpage Rendering

当用户在浏览网页时进行交互或通过 js 脚本改变页面结构时,以上的部分操作有可能重复运行,此过程称为 Repaint 或 Reflow。

Repaint

当元素改变的时候,将不会影响元素在页面当中的位置(比如 background-color, border-color, visibility),浏览器仅仅会应用新的样式重绘此元素,此过程称为 Repaint。

Reflow

当元素改变的时候,将会影响文档内容或结构,或元素位置,此过程称为 Reflow。( HTML 使用的是 flow based layout ,也就是流式布局,所以,如果某元件的几何尺寸发生了变化,需要重新布局,也就叫 Reflow。)

Reflow 的成本比 Repaint 的成本高得多的多。一个结点的 Reflow 很有可能导致子结点,甚至父点以及同级结点的 Reflow 。在一些高性能的电脑上也许还没什么,但是如果 Reflow 发生在手机上,那么这个过程是延慢加载和耗电的。----浏览器的渲染原理简介

以下行为将有可能产生 Reflow

增加、删除、或改变 DOM 节点

增加、删除 ‘class’ 属性值

元素尺寸改变

文本内容改变

浏览器窗口改变大小或拖动

动画效果进行计算和改变 CSS 属性值

伪类激活(:hover)

CSS 动画的两种做法(transition 和 animation)

transition 过度动画

作用

补充中间帧

语法

transition:属性名 时长 过渡方式 延迟。

transition:left 200ms linear。

还可以用逗号分隔两个不同属性:

transition:left 200ms,top 300ms。

也可以用all来代表所有属性:

transition:all 1s;

过渡方式:

linear | ease | ease-in | ease-out | ease-in-out | cubic-bezier | step-start | step-end | steps

注意:

并不是所有属性都可以过渡

display:none=>block 就不能过渡,

如何知道哪些浏览器支持css的特性及资料查阅

使用caniuse.com,来查询某一个浏览器,对css特性的支持情况。

Google搜索关键词时后面加上MDN

CSS tricks

张鑫旭的博客

animation

语法

animation:时长|过渡方式|延迟|次数|方向|填充模式|是否暂停|动画名

时长:1S或者1000ms

过渡方式:同transition取值相同,如:linear

次数:1或者2.5或者infinite

方向:reverse|alternate|alternate-reverse

填充模式:none|forwards|backwards|both

是否暂停:paused|running

以上所有属性都有对应的单独属性

要学好CSS,就是要不断的练习,不要去死记硬背,用得多了,自然就会记得住各种属性和用法。

相关文章

  • 2018-07-20

    CSS知识点总结 一.什么是css? CSS(Cascading Style Sheets)层叠样式表,专注于页面...

  • css知识总结

    引入css样式 内部样式表 行内式(内联样式) 外部样式(外链式)## 三种样式表总结 |...

  • CSS知识总结

    1 块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 答:块级元素有h1~h6,p,div,ul,o...

  • CSS 知识总结

    1 CSS的简介与历史 CSS (Cascading Style Sheets,层叠样式表)是用来控制网页在浏览器...

  • CSS 知识总结

    一、层叠样式表(CCS) 发明人:李爵士的挪威同事---赖先生。 层叠的含义:样式层叠、选择器层叠、文件层叠。 使...

  • CSS知识总结

    一、CSS简介 CSS,全拼Cascading Style Sheets,层叠样式表,是由Tim Berners ...

  • CSS 知识总结

    浏览器如何渲染页面 浏览器解析 1、浏览器通过请求的 URL 进行域名解析,向服务器发起请求,接收文件(HTML、...

  • CSS 知识总结

    浏览器渲染原理 根据HTML构建HTML树(DOM) 根据CSS构建CSS(CSSOM) 将两棵树合并成一颗渲染树...

  • CSS知识总结

    浏览器渲染原理 浏览器渲染过程 根据HTML构建HTML树(DOM) 根据CSS构建CSS树(CSSOM) 将两棵...

  • css知识总结

    #css知识总结 1.浏览器渲染原理 渲染树构建,布局,绘制----谷歌团队文章 渲染树图解 2. CSS动画的两...

网友评论

      本文标题:CSS 知识总结

      本文链接:https://www.haomeiwen.com/subject/xeucwctx.html