html渲染页面(html怎么渲染数据)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈html渲染页面,以及html怎么渲染数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
js如何把html当字符串渲染到页面上
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的script标签,输入js代码:var a = 'input type="text" value="test" /';document.body.innerText = a;。
3、浏览器运行index.html页面,此时html代码被当成字符串渲染到了页面上。
HTML页面渲染及优化详解
页面渲染主要经过过程,具体介绍如下:
字节 → 字符 → 令牌 → 节点 → 对象模型
CSS树的生成和DOM树的生成基本是相同,如下
为什么会有CSS树
因为CSS关系也会有父子关系,就是css中常说的继承,一些样式如font-size等子元素会继承父级,所以会生成一套对应的CSS树和DOM树相对应。
通过上面的页面渲染介绍,很容易理解,重排就是重新布局页面结构,计算节点位置,而重绘就是绘制页面,只是一些样式如背景,颜色的变化等,不需要重新计算位置布局,所以 重排一定会导致重绘,但是重绘不一定导致重排。
导致页面重排主要有以下几点
上文中触发了四次重排,通过上文介绍,offsetTop,scrollTop,clientTop等属性的修改会触发重排,当浏览器获取DOM样式的时候立刻会执行一次重排,因为需要计算浏览器位置坐标,不会再继续观察下文是否还有DOM的操作,下文介绍浏览器渲染机制。
这种情况看似会触发四次重排,实际只会触发一次重排,现代浏览器基本都有渲染机制,浏览器会批量将样式修改一次性执行,批量修改完后再批量获取DOM位置,实际只触发一次。
等价于
通过上文,容易理解这种情况会触发两次重排,可以使用缓存(实际是分离读写)来优化。
这种情况会触发五次重排
避免设置大量的style属性,因为通过设置style属性改变结点样式的话,每一次设置都会触发一次reflow,所以最好是使用class属性实现元素的动画,设置position属性,最好是设为absoulte或fixed,脱离文档流,这样不会影响其他元素的布局。
事件委托原理:利用事件冒泡的特性,子元素都会冒泡到父元素上,当子元素如(li)元素都绑定事件时,可以只需绑定父元素(ul)来达到相同的效果,这样不仅减少了对dom的操作,减少重排或重绘,而且不用分配大量变量来保存dom,减少了内存。
委托
不要使用table布局,因为table中某个元素一旦触发了reflow,那么整个table的元素都会触发reflow。那么在不得已使用table的场合,可以设置table-layout:auto;或者是table-layout:fixed这样可以让table一行一行的渲染,这种做法也是为了限制reflow的影响范围。
不要一个个修改属性,应通过一个class来修改
改为
参考文献

Python大神教你300行代码搞定HTML模板渲染「附源码」
模板语言由HTML代码和逻辑控制代码组成,此处 @PHP 。通过模板语言可以快速的生成预想的HTML页面。应该算是后端渲染不可缺少的组成部分。
通过使用学习 tornado 、 bottle 的模板语言,我也效仿着实现可以独立使用的模板渲染的代码模块,模板语法来自 tornado 和 bottle 的语法。可以用来做一些简单的事情 网页渲染 , 邮件内容生成 等HTML显示方面。以下就是简单的语法使用介绍。
1. 变量。使用 {{ }} 包裹起来,里面的变量为Python传入。模板渲染时会将传入的变量转换成字符串并填入对应位置。
2. 转义。默认传入的数据都会进行HTML转义,可以使用 {% raw value %} 来将value的内容按原始字符串输出。
3. 条件控制。支持Python的 if,elif,else 。条件代码需要放在 {% %} 内部,并且在条件结束后需要额外增加 {% end %} ,用于标识条件控制语句块范围。
4. 循环控制。支持Python的 for 和 while 。与条件控制一样也需要放在 {% %} 内部,并且结束处需要额外增加 {% end %} ,用于标识循环控制语句块的范围。
这个模板语言模块是在 Python2.7 上面开发使用的,如果要在 Python3+ 上使用需要对 str 和 bytes 进行一些处理即可,由于没有引用任何其他模块,可以很好地独立使用。
原文链接:
html渲染页面的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于html怎么渲染数据、html渲染页面的信息别忘了在本站进行查找喔。
