导航:首页 > 版本升级 > css文件加载顺序

css文件加载顺序

发布时间:2021-04-21 12:35:53

『壹』 打开一个网站,加载顺序是什么先加载HTML然后js然后CSS还是什么

HTML页面加载和解析流程 :

1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件

2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件。

3. 浏览器又发出CSS文件的请求,服务器返回这个CSS文件。

4. 浏览器继续载入html中<body>部分的代码,并且CSS文件已经拿到手了,可以开始渲染页面了。

5. 浏览器在代码中发现一个<img>标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码。

6. 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码。

7. 浏览器发现了一个包含一行javascript代码的<script>标签,赶快运行它。

8. Javascript脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个<style>(style.display=”none”)。杯具啊,突然就少了这么一个元素,浏览器不得不重新渲染这部分代码。

9. 终于等到了</html>的到来,浏览器泪流满面……

10. 等等,还没完,用户点了一下界面中的“换肤”按钮,Javascript让浏览器换了一下<link>标签的CSS路径。

11. 浏览器召集了在座的各位<div><span><ul><li>们,“大伙儿收拾收拾行李,咱得重新来过……”,浏览器向服务器请求了新的CSS文件,重新渲染页面。
相关:
一、浏览器加载和渲染html的顺序

1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。

2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。

3. 如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。

4. 样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。

5. JS、CSS中如有重定义,后定义函数将覆盖前定义函数。

二、JS的加载

1. 不能并行下载和解析(阻塞下载)。

2. 当引用了JS的时候,浏览器发送1个js request就会一直等待该request的返回。因为浏览器需要1个稳定的DOM树结构,而JS中很有可能有代码直接改变了DOM树结构,比如使用 document.write 或 appendChild,甚至是直接使用的location.href进行跳转,浏览器为了防止出现JS修改DOM树,需要重新构建DOM树的情况,所以 就会阻塞其他的下载和呈现。

三、如何加快HTML页面加载速度

1. 页面减肥:

a. 页面的肥瘦是影响加载速度最重要的因素。

b. 删除不必要的空格、注释。

c. 将inline的script和css移到外部文件。

d. 可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥。

2. 减少文件数量:

a. 减少页面上引用的文件数量可以减少HTTP连接数。

b. 许多JavaScript、CSS文件可以合并最好合并。

3. 减少域名查询:

a. DNS查询和解析域名也是消耗时间的,所以要减少对外部JavaScript、CSS、图片等资源的引用,不同域名的使用越少越好。

4. 缓存重用数据:

a. 对重复使用的数据进行缓存。

5. 优化页面元素加载顺序:

a. 首先加载页面最初显示的内容和与之相关的JavaScript和CSS,然后加载HTML相关的东西,像什么不是最初显示相关的图片、flash、视频等很肥的资源就最后加载。

6. 减少inline JavaScript的数量:

a. 浏览器parser会假设inline JavaScript会改变页面结构,所以使用inline JavaScript开销较大。

b. 不要使用document.write()这种输出内容的方法,使用现代W3C DOM方法来为现代浏览器处理页面内容。

7. 使用现代CSS和合法的标签:

a. 使用现代CSS来减少标签和图像,例如使用现代CSS+文字完全可以替代一些只有文字的图片。

b. 使用合法的标签避免浏览器解析HTML时做“error correction”等操作,还可以被HTML Tidy来给HTML减肥。

8. Chunk your content:

a. 不要使用嵌套table,而使用非嵌套table或者div。将基于大块嵌套的table的layout分解成多个小table,这样就不需要等到整个页面(或大table)内容全部加载完才显示。

9. 指定图像和table的大小:

a. 如果浏览器可以立即决定图像或table的大小,那么它就可以马上显示页面而不要重新做一些布局安排的工作。

b. 这不仅加快了页面的显示,也预防了页面完成加载后布局的一些不当的改变。

c. image使用height和width。

『贰』 css文件在页面什么时候加载

页面的加载是从上往下慢慢加载的。
也就是说你css的文件链接写在哪,加载到那的时候,就会把css文件加载过来。
你可以试一试把css的文件链接放在头和尾两个地方,分别试一试页面加载的情况。

『叁』 html中css的读取顺序是依靠什么

css文件优先级最低,其次是同一个页面中再<style>标签内的css样式,优先级最高是在节点的style中定义的样式。

『肆』 css指定图片加载顺序

CSS不能指定图片加载顺序,应该问的JS指定图片加载顺序。

javascript监听一个图片是否加载完毕 如果加载完成再加载下一张,不是一次性从服务器加载 减少服务器压力,
可用到的地方:比如制作类似google地图的应用,可以使小图一张一张的加载。

functionLoad_pic(arr){//这里接受的图片的所以链接数组。
this.loop_f=function(i,o_file,len,f,obj){
if(i<len-1){
i=i+1;
f(i,o_file,len,obj);
}
};
this.creat_pic=function(i,o_file,len,obj){
varf=arguments.callee,
doc=document,
image=doc.createElement("img");
image.src=o_file[i];
i<len?doc.getElementsByTagName("body")[0].appendChild(image):'';
if(navigator.userAgent.indexOf("MSIE")>0){//是IE浏览器
if($.browser.version==6.0||$.browser.version==9.0){//IE兼容处理。
image.onreadystatechange=function(){
if(image.readyState=="complete"){//image加载完后,函数回调。
obj.loop_f(i,o_file,len,f,obj);
}
};
}else{//非IE7和IE9的IE浏览器。
ie7imagetime=window.setInterval(function(){
varrs=image.readyState;
if(rs=="complete"){
window.clearInterval(ie7imagetime);
obj.loop_f(i,o_file,len,f,obj);
}else{
return;
}
},200);
}
}else{//非IE浏览器,直接用onload事件
image.onload=function(){
if(image.complete==true){
obj.loop_f(i,o_file,len,f,obj);
}
};
}
};
if(arr.constructor===Array){//函数开始执行的地方。
varlen=arr.length,
i=0;
i<len?this.creat_pic(i,arr,len,this):'';

};
}

『伍』 请教专业人士,css样式的加载顺序

就不解释什么内联样式、内部样式、外部样式了,不够直观,通俗点或者直观点说好了:

第一优先级是标签上用style设置的css,例如:<div style="样式"></div>
第二优先级是html页面上在<style></style>内设置编写的css,例如:
<style> .divcss{样式}</style>
第三优先级是在html页面上引用外部的css样式表,例如:
<link href="文件路径" rel="stylesheet" media="screen" />
无论说法是叫优先级还是是加载顺序,都不重要,只要你有这么一个概念就好了,优先级越高,当碰到调用2个或2个以上同类型css的时候,只会调用优先级最高的那1个,要记住,每个标签上只能调用同类型css一次,比如你设置了宽度width:200px;那么你再在其他调用方式中设置了width:300px;或其他值,那么只会按优先级调用1个width值,其他的将会是无效值,不过切记,只是在这个标签上失效

『陆』 CSS样式表加载顺序问题

修饰body当然就是微软雅黑了啊,前提是在您这段代码后面没有在定义过body的字体
顺序是这样的
<head>
<link href="style.css" rel="stylesheet" type="text/css" /> 优先级1 (引用样式你定义了body字体)
<style>
body{font-family:"Microsoft Yahei";} 优先级2 (这里就会重新覆盖之前应用样式的body定义的字体,字体建议写英文的微软雅黑,编码编码问题)

</style>
</head>
<body style="font-family:‘arial’;"> 优先级3 这里直接写在body里的样式优先级最高
。。。。内容
</body>

『柒』 怎么让项目先加载CSS文件

你可以直接在你的文本编辑器的标签内写一个样式,覆盖掉外部css,不管先后加载的顺序,他都可以覆盖

『捌』 css样式的加载顺序

没这个顺序说法,而且也不用估计顺序,至少目前为止,我还没遇到过因为顺序而导致显示效果跟CSS想象效果不一致的情况。

阅读全文

与css文件加载顺序相关的资料

热点内容
十部顶级韩剧电影 浏览:240
1979年越南战争电影 浏览:510
含糖1v1sc荔枝 浏览:415
免费看韩国电影的网站 浏览:953
word怎么设置水印 浏览:414
qq提醒cf 浏览:883
成了电影 浏览:648
盘点大尺度床戏的电影 浏览:441
putty传文件给linux 浏览:121
有个蒲字的电影,女主和男主在酒吧相遇 浏览:233
日韩电影欲大尺推荐 浏览:48
网吧电影平台 浏览:839
重生抗日我是少帅张学铭 浏览:384
韩国电影免费在线观看大全 浏览:232
男男电影哪里可以看 浏览:919
可疑的美发店韩剧中文版介绍 浏览:157
macbook一般将文件存在哪里 浏览:147
需要勘察单位签字的文件有哪些 浏览:244
电影名字里面有个叫仔仔的 浏览:345
绿色帽版小说 浏览:860

友情链接