JavaScript入门中,为什么css放在html上面就有效果,script放在html上面就没有效果?

JavaScript入门中,为什么css放在html上面就有效果,script放在html上面就没有效果?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小小 2021-10-21 13:57:04

同学你好,css与js的执行原理是不一样的:

css:

当浏览器显示文档时,必须将文档的内容与其样式信息结合。分如下两个阶段处理文档:
(1)浏览器将 HTML 和 CSS 转化成 DOM (文档对象模型,后续章节会学习到)。DOM在计算机内存中表示文档。它把文档内容和其样式结合在一起。
(2)浏览器显示 DOM 的内容。

https://img1.sycdn.imooc.com//climg/6170fe67096ae5dc10040399.jpg

js:

简单的来说js需要对DOM树进行操作,而写在head里的js代码,在dom加载完成前JS就执行完了,所以会没有效果。

根据HTML文档流的执行顺序,一般需要在页面元素渲染前执行的js代码应放在前面的<script>代码块中,而需要在页面元素加载完后的js代码放在元素后面。

祝学习愉快~


  • 提问者 童真模式启动 #1

    HTML和CSS两者解析是同步完成的,没有先后顺序,所以CSS写在HTML前后都没有关系。是这样理解的吗?

    2021-10-22 13:25:04
  • 同学你好,同学这么理解也可以,当我们访问html文件时,代码是从上到下执行,当代码执行到<link>标签引用外部CSS文件。此时就会开始加载css文件,css文件加载完成,需要等待html执行完boby中代码,这样html与css进行结合渲染页面。

    祝学习愉快!

    2021-10-22 16:10:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师