css&css3&html

88 阅读3分钟

- Css3新特性

1.过渡 transition 2.动画 animation 3.形状转换 transform 4.阴影 box-shadow 5.滤镜 Filter 6.颜色 rgba 7.栅格布局 gird 8.弹性布局 flex 等等还多...

- 说一说你用过的UI框架

Element-UI Vant Antd

- 说一说你用过的css布局

gird布局,layout布局,flex布局,双飞翼,圣杯布局等

html5新特性,语义化标签

html5语义化:指的是正确使用语义化标签来创建页面结构
优点:
代码解构清晰,易于阅读,利于开发和维护
方便其它设备解析根据语义渲染网页
有利于搜索引擎,搜索引擎爬虫会根据不同的标签来赋予不同的权重

浏览器渲染机制,重绘,重排

网页生成过程:
htmlhtml解析器解析成dom树
css被css解析器解析成cssom树
结合dom树和cssom树,生成一个渲染树
生成布局flow,即讲素有渲染树的所有节点进行平面合成
将布局绘制在屏幕上

重排(也称回流):
    当dom的变化影响了元素的几何信息(dom对象的位置和尺寸大小)浏览器需要重新计算元素的几何属性,
    将其安放在界面中的正确位置,这个过程叫做重排,触发:
    1,添加或者删除可见的dom元素
    2,元素尺寸改变,边距,填充,边框,宽度和高度

重绘:
    当一个元素的外观发生改变,但没有改变布局,重新把元素外观绘制出来的过程叫重绘,触发:
    改变元素的color,background,box-shadow等属性

重排优化建议:
    1,分离读写操作
    2,样式集中修改
    3,缓存需要修改的dom元素
    4,尽量只修改position:absolute或者fixed元素,对其它元素影响不大
    5,动画开始gpu加速,translate使用3d变化

transform不重绘,不回流,是因为transform属于合成属性,对合成属性进行transition/animate动画时,将会创建一个合成层,这使得动画元素在一个独立的
层中进行渲染,当元素的内容没有发生改变,就没有必要进行重绘,浏览器会通过重新复合累创建动画帧。

css盒子模型

所有html元素可以看作盒子,在css中,box model这一术语是用来设计和布局时使用,css盒模型本质上是一个盒子,封装周围的html元素,它包括
边距,边框,填充,实际内容。盒模型允许我们在其它元素和周边边框之间的空间放置元素。

css样式优先级

!import > style > id > clsas >  tag

什么是BFC? BFC的布局规则是什么? 如何创建BFC? BFC 应用?

BFC是block formatting context 的缩写,即块格式化上下文,bfc是css布局的一个概念,是一个环境,里面的元素不会影响外面的元素。
布局规则:
    box是css布局的对象和基本单位,页面是由若干个box组成的,元素的类型和display属性,决定了这个box的类型,不同类型的box会参与不同的formatting context.
创建:
    浮动元素,display:inline-block,position:absolute 
应用:  
    1,分属于不同的bfc时,可以防止margin重叠
    2,清除内部浮动
    3,自适应多栏布局
    

DOM,BOM对象

bom是指浏览器对象模型,可以对浏览器窗口进行访问和操作。 dom是文档对象模型