前端知识总复习

描述从输入url到页面完成渲染发生了什么?

加载过程

DNS解析:将域名解析为IP地址

浏览器根据IP地址向服务器发起http请求

服务器处理http请求并返回给浏览器

渲染过程

根据html代码生成DOM Tree

根据css代码生成cssOM

将Dom Tree和CssOM整合形成Render Tree

根据RenderTree渲染页面

如果遇到<script>标签,则暂停渲染,优先加载并且执行JS代码,执行完成后,再接着渲染

一直到整个RenderTree渲染完成为止

css代码应该放在head中,避免一个元素重复渲染

Js代码应该放在body的最后面,先让页面渲染出来,再去执行JS代码,防止js的执行造成页面渲染的卡顿

window.onload和DomContentLoaded

window.addEventListener('load',function(){
//当页面的所有资源都加载完成以后才会执行,包括图片,视频等资源加载完成
});

document.addEventListener('DomContentLoaded',function(){
//当dom渲染完成以后就会执行,此时视频,图片等资源可能还没有加载完成
});

性能优化

让加载更快

减少资源体积:压缩代码

减少访问次数:合并代码,SSR服务器端渲染,使用缓存

使用更快的网络:CDN,根据区域分配最近的IP地址,让用户访问更快一些

让渲染更快

css放在head里面,Js放在body最下面

图片懒加载(看的时候再加载,不看不加载)

对dom查询结果进行缓存

频繁dom操作,合并到一起然后插入dom结构

SSR

非SSR,前后端分离,先加载网页,然后再加载数据,最后渲染数据

SSR:将网页和数据一起加载,一起渲染

懒加载

<img id="img1"  src="preview.png(预览图片,体积小,加载快)" data-realsrc="realpicture.png"(真正的图片,体积大,加载慢)>

<script>
let img=document.getElementById('img1');
if(img元素进入用户浏览视图){
img.src=img.getAttribute('data-realsrc');
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5和CSS3是用于网页设计和开发的最新标准技术。以下是一些常见的HTML5和CSS3开发的复习题及答案。 1. HTML5中的新特性有哪些? 答案:HTML5中的新特性包括语义化标签(如<article>、<section>和<header>等),音频和视频支持,Canvas画布,本地存储(localStorage和sessionStorage),地理位置API等等。 2. CSS3中的新特性有哪些? 答案:CSS3中的新特性包括圆角边框(border-radius),阴影(box-shadow),渐变背景(linear-gradient和radial-gradient),动画(@keyframes),过渡(transition)等等。 3. 如何在HTML文档中引用外部CSS文件? 答案:可以使用<link>标签将外部CSS文件链接到HTML文档中。例如:<link rel="stylesheet" href="style.css"> 4. 如何在HTML文档中引用外部JavaScript文件? 答案:可以使用<script>标签将外部JavaScript文件链接到HTML文档中。例如:<script src="script.js"></script> 5. 如何在HTML文档中插入图片? 答案:可以使用<img>标签插入图片。例如:<img src="image.jpg" alt="描述文本"> 6. 如何创建一个有序列表(有序的编号)? 答案:可以使用<ol>和<li>标签创建有序列表。例如:<ol><li>第一项</li><li>第二项</li></ol> 7. 如何创建一个无序列表(无序的项目符号)? 答案:可以使用<ul>和<li>标签创建无序列表。例如:<ul><li>项目一</li><li>项目二</li></ul> 8. 如何创建一个超链接? 答案:可以使用<a>标签创建超链接。例如:<a href="http://www.example.com">链接文本</a> 9. 如何设置文本的字体样式? 答案:可以使用font-family属性设置文本的字体样式。例如:font-family: Arial, sans-serif; 10. 如何调整盒子的位置和大小? 答案:可以使用margin、padding、width和height属性来调整盒子的位置和大小。例如:margin: 10px; padding: 20px; width: 200px; height: 150px; 这些问题和答案只是一部分HTML5和CSS3开发的复习题目。希望对你进行复习和巩固知识有所帮助。请继续学习和实践,加深对于HTML5和CSS3的理解和运用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值