-----------------------------------------html css--------------------------------------------
一.回流与重绘
回流一定引起重绘,重绘不一定回流
1.浏览器渲染机制
1)浏览器采用流式布局。
2)浏览器将html解析成DOM,css解析成CSSOM,再把二者结合生render tree 渲染树(带了结构和样式)。
3)render tree 知道节点样式后,把节点绘制到页面。
2. 回流
含义:当render tree中某些元素尺寸变化,浏览器会重新渲染部分或全部文档。
何时会回流:
1)首次渲染
2)窗口大小变化
3)内容变化
4)添加删除节点
5)激活css伪类
3 .重绘
含义:当页面中元素样式改变不影响它在文档流中的位置,浏览器会将新样式赋予给元素。
如:background
4.性能影响
总结:回流性能消耗大
5.避免性能影响
css:
避免使用table
避免多层内联样式
js:
避免频繁操作DOM
三.标签属性
lang
属性:用于指定元素内容的语言
dir
属性:用于指定元素中内容的文本方向,属性只有ltr
或rtl
两种
accesskey
属性:用于指定激活元素的快捷键
tabindex
属性:用于指定元素在tab
键下的次序
四.事件属性
window
窗口事件,onload
,在网页加载结束之后触发,onunload
,在用户从网页离开时发生(点击跳转,页面重载,关闭浏览器窗口等)form
表单事件,onblur
,当元素失去焦点时触发,onchange
,在元素的值被改变时触发,onfocus
,当元素获得焦点时触发,onreset
,当表单中的重置按钮被点击时触发,onselect
,在元素中文本被选中后触发,onsubmit
,在提交表单时触发keyboard
键盘事件,onkeydown
,在用户按下按键时触发,onkeypress
,在用户按下按键后,按着按键时触发。该属性不会对所有按键生效,不生效的有,alt,ctrl,shift,esc
mouse
鼠标事件,onclick
,当在元素上发生鼠标点击时触发,onblclick
,当在元素上发生鼠标双击时触发,onmousedown
,当元素上按下鼠标按钮时触发,onmousemove
,当鼠标指针移动到元素上时触发,onmouseout
,当元素指针移出元素时触发,onmouseup
,当元素上释放鼠标按钮时触发。- .
Media
媒体事件,onabort
,当退出时触发,onwaiting
,当媒体已停止播放但打算继续播放时触发。
五.文本标签
- 强调语句标签,
<em></em>
,用于强调某些文字的重要性 - 更加强调标签,
<strong></strong>
和<em>
标签一样,用于强调文本,但它强调的程度更强一些 - 无语义标签
<span></span>
,标签是没有语义的 - 短文本引用标签
<q></q>
,简短文字的引用 - 长文本引用标签
<blockquote></blockquote>
,定义长的文本引用 - 换行标签
<br/>
有序列表,ol,li
属性 start
从第几个开始 type
类型有a A 1… reversed
反转
表格合并