为什么css放上面js放下面

css放上面js放下面的原因:1、在加载html生成DOM tree的时候,可以同时对DOM tree进行渲染,这样可以防止闪跳,白屏或者布局混乱;2、javascript加载后会立即执行,同时会阻塞后面的资源加载。

为什么css放上面js放下面

本文操作环境:Windows7系统、HTML5&&CSS3版,DELL G3电脑。

推荐:css视频教程

href和src的区别

一般加载CSS用href,并放在头部;加载script用src,放在body内的下方。

立即学习“前端免费学习笔记(深入)”;

href

是hypertext reference的缩写,表示超文本引用,用来建立当前元素和文档间的链接。常用的有link,a。

当CSS使用href引用,浏览器会识别该文档问CSS,并行下载,不会停止对当前文档的加载。

src

是source的缩写,是资源,页面必不可少的一部分,src指向的内容会嵌入到文档中当前标签的位置。常用的有img, script, iframe。

当script使用src引用,浏览器解析到该元素时会停止对文档的渲染,直到该资源加载完成。这也是将script放底部而不是头部的原因。

把CSS放头部,script放下方的原因

1、CSS放头部

在加载html生成DOM tree的时候,就可以同时对DOM tree进行渲染。

这样可以防止闪跳,白屏或者布局混乱。

2、javascript放在后面

javascript可能会改变DOM tree的结构,所以需要一个稳定的DOM tree。

javascript加载后会立即执行,同时会阻塞后面的资源加载。(javascript加载和执行的特点)

拓展知识:

1、首先让我们先认识几个常见的问题:

1.在进行页面优化的时候,需要将css放在头部,将js文件放在尾部,这样做为什么能够实现页面的优化?

2.在使用jquery的时候,为什么把函数写在$(document).ready()事件中?

3.javascript会阻塞dom的解析。

当解析过程中遇到标签的时候,便会停止解析过程,转而去处理脚本,

如果脚本是内联的,浏览器会先去执行这段内联的脚本,

如果是外链的,那么先会去加载脚本,然后执行。

在处理完脚本之后,浏览器便继续解析HTML文档。

2.DOMContentLoaded函数和load函数解析

1.DOMContentLoaded事件其实就是dom内容加载完毕。

举个例子来说我们在打开一个网页的时候,

一开始页面是空白的,什么都看不到,一段事件之后页面展示出内容,但是还是有一些图片资源看不到,此时页面是可以进行正常的交互的,

再过一段时间之后,页面上所有的资源都加载完成,继而整个页面加载完成。

从页面空白到展示出页面内容的过程就会触发DOMContentLoaded事件,而这段事件就是HTML文档被加载和解析完成。

2.页面上所有的资源(图片,音频,视频等)被加载以后才会触发load事件,页面的load事件会在DOMContentLoaded被触发之后才触发。

3.关于jquery中的ready函数

jquery中的ready函数其实监听的DOMContentLoaded事件,

所以我们将函数写在ready函数中,可以在页面解析完成之后,

我们可以访问到页面所有的元素,缩短页面的交互时间,提高页面的整体体验

4.为什么将css放在头部,js放在尾部可以增加页面的性能

现在浏览器为了更好的用户体验,渲染引擎会尝试尽快在屏幕上显示内容,

它不会等到所有的HTMl元素解析之后在构建和布局dom树,所以部分内容将被解析并显示。

也就是说浏览器能够渲染不完整的dom树和cssom,尽快的减少白屏的时间。

假如我们将js放在header,js将阻塞解析dom,dom的内容会影响到dom树的绘制,导致dom绘制延后。

所以说我们会将js放在后面,以减少dom绘制的时间,但是不会减少DOMContentLoaded被触发的时间。

以上就是为什么css放上面js放下面的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1617578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 05:53:33
下一篇 2025年12月24日 05:53:51

相关推荐

  • css怎么让字体变细

    css让字体变细的方法:可以利用font-weight属性来实现,如【font-weight: lighter;】。font-weight属性是用来设置字体的粗细效果的,属性值lighter表示更细的字符。 本文操作环境:windows10系统、css 3、宏基s40-51。 详细介绍: 在CSS中…

    2025年12月24日
    000
  • css怎么设置字体大小

    在css中,可以通过font-size属性来设置字体大小,语法格式为“font-size:值;”。该属性的值可以是“small”、“large”、“smaller”、“larger”等关键字;也可是加px、em、rem、%单位的数值。 本文操作环境:宏基s40-51、css3&&ht…

    2025年12月24日 好文分享
    000
  • css怎么设置p标签不换行

    设置p标签不换行的方法:使用display属性,在p标签元素中设置display属性的值为“inline”或“inline-block”;这样可以使p标签被显示为内联元素或行内块元素,元素前后没有换行符,也就无法换行了。 本文操作环境:宏基s40-51、css3&&html5&amp…

    2025年12月24日
    000
  • :nth-child(n)的作用是什么

    “:nth-child(n)”是css中的一个选择器,作用是:匹配属于其父元素的第N个子元素,不论元素的类型;其中,参数“n”可以是数字、关键词或公式,例“:nth-child(3)”、“:nth-child(even)”。 本文操作环境:宏基s40-51、css3&&html5&a…

    2025年12月24日 好文分享
    000
  • 利用CSS变量来提高灵巧布局效率的小技巧

    有些情况下,我需要用一种简单的方法来创建网格布局。 例如,每次我改变主意时,在不修改CSS的情况下快速画出五列网格。 在本文中,我们一起探索一些用例,并思考如果实现及使用它们。 它是怎么工作的 在深入探讨这些概念之前,首先我们来回顾一下 CSS 变量的基础知识, 我们也可以将它称为“自定义属性”。 …

    2025年12月24日 好文分享
    000
  • 使用CSS实现圆角渐变边框

    CSS如何实现带圆角的渐变边框?下面本篇文章给大家介绍一下使用CSS巧妙实现带圆角的渐变边框的几种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 如何实现下面这个渐变的边框效果: 这个问题本身不难,实现的方法也有一些,主要是有一些细节需要注意。 立即学习“前端免费学习笔记(深…

    2025年12月24日 好文分享
    000
  • 怎样清除内嵌css样式

    清除内嵌css样式的方法:首先打开css项目并查看包含的一些内嵌css样式;然后打开编辑器;接着利用“style=”(.*?)””正则表达式匹配所有内嵌的样式;最后使用替换工具,替换掉所有内容即可。 本教程操作环境:windows7系统、Sublime Text3&&…

    2025年12月24日
    000
  • CSS如何让鼠标放上时的小手样式

    CSS实现让鼠标放上时出现小手样式的方法:首先创建一个HTML示例文件;然后在body中添加一个span标签;接着给该标签添加“cursor:pointer;”样式来实现让鼠标放上时出现小手样式即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本,DELL G3电…

    2025年12月24日
    000
  • 浅谈使用CSS实现半透明边框和多重边框效果的方法

    本篇文章分两种场景给大家介绍一下css实现半透明边框与多重边框效果。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 (学习视频分享:css视频教程) 场景一: 实现半透明边框: 立即学习“前端免费学习笔记(深入)”; 由于CSS样式的默认行为,背景色的渲染范围是 content+p…

    2025年12月24日 好文分享
    000
  • css实现领积分动画效果

    最近项目中要做一个领积分的效果,根据老板的描述,这个效果类似于支付宝蚂蚁森林里的领取能量。整体效果是就是在树周围飘着几个积分元素,上下滑动,类似星星闪烁,点击领取后,沿着树中心的位置滑动并消失,树上的能量递增,最后膨胀,变大一点。 1. 整体思路 首先想到基本轮廓是一个地球,周围半圆范围内围绕着好几…

    2025年12月24日
    000
  • CSS %单位的特点

    CSS %单位的特点:1、百分比是一个相对长度单位,相对于父元素的尺寸;2、对于“position: absolute;”的元素是相对于已定位的父元素;3、对于“position: fixed;”的元素是相对于ViewPort。 本文操作环境:windows10系统、css3版,DELL G3电脑。…

    2025年12月24日
    000
  • 使用CSS实现的几种进度条

    (学习视频分享:css视频教程) 进度条是一个非常常见的功能,实现起来也不难,一般我们都会用 div 来实现。 作为一个这么常见的需求, whatwg 肯定是不会没有原生组件提供(虽然有我们也不一定会用),那么就让我们来康康有哪些有意思的进度条实现方式。 常规版 — div 一波流 这是比较常规的实…

    2025年12月24日 好文分享
    000
  • 如何用css把图片弄成背景

    用css把图片弄成背景的方法:首先创建一个HTML示例文件;然后在body中添加一些p标签;最后使用css中的background属性将图片设置为背景即可。 本教程操作环境:Windows7系统、css3版,DELL G3电脑。 推荐:css视频教程 可以使用css中的background属性将图片…

    2025年12月24日 好文分享
    000
  • css里面怎么让body内容居中

    css里面让body内容居中的方法:1、使用margin设置边距“0 auto”让HTML页面中所有的元素水平居中;2、将div距离页面窗口左边框和上边框的距离设置为“50%”;3、通过jQuery实现水平和垂直居中。 本教程操作环境:Windows7系统、HTML5&&CSS3版,…

    2025年12月24日
    000
  • css中font属性能不按顺序吗

    css中font属性不能不按顺序,即font属性的书写必须按照顺序;css font指定在一个声明的所有字体属性;其按顺序可设置的属性是“font-style font-variant font-weight font-size…”。 本教程操作环境:Windows7系统、css3版,D…

    2025年12月24日
    000
  • css居中代码是什么

    css居中代码有:1、“vertical-align:middle”;2、“display:flex”;3、给父元素设置“display:table”,子元素设置“display:table-cell”可实现CSS垂直居中等等。 本教程操作环境:Windows7系统、HTML5&&C…

    2025年12月24日 好文分享
    000
  • css背景超出宽度怎么办

    css背景超出宽度是因为背景图片过大,其解决办法:首先打开相应的css文件;然后添加“background-size:100% 100%”或者“background-size:contain”样式,让背景图片宽度和高度完全适应内容区域即可。 本教程操作环境:Windows7系统、HTML5&…

    2025年12月24日
    000
  • css 如何设置带有正方形项目的列表

    css设置带有正方形项目的列表的方法:首先创建一个HTML示例文件;然后使用ul无序列表标签,并指定“list-style-type”为“square”即可设置带有正方形项目的列表。 本教程操作环境:Windows7系统、HTML5&&CSS3版,DELL G3电脑。 推荐:css视…

    2025年12月24日
    000
  • CSS实现居中的几种方案(总结)

    本篇文章给大家介绍一下多个css居中方案。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 (学习视频分享:css视频教程) 水平居中 内联元素 要使内联元素(如链接,span 或img)居中,使用 text-align: center 足够了。 .desk { text-align…

    2025年12月24日 好文分享
    000
  • 详解CSS中的:placeholder-shown伪类

    (学习视频分享:css视频教程) 一般我们常见placeholder伪类选择器用来修改默认样式及文案,忽然发现placeholder-shown伪类选择器,比较官方的解释是 CSS伪类表示任何显示占位符文本的form元素。 简单来说就是当输入框的placeholder内容显示的时候,输入框干嘛干嘛。…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信