style标签放在body前和body后的区别

style标签放在body前和body后会影响页面渲染过程。放置在head中有利于浏览器逐步渲染,而放在body后可能导致FOUC(Flash of Unstyled Content)现象。尽管标准建议将style标签置于head中,但仍有许多网站在body中使用,引发了一些讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://blog.csdn.net/qq_44721831/article/details/102528073

style标签写在body后与body前有什么区别?

从有html标准以来到目前为止(2017年5月),标准一直是规定style元素不应出现在body元素中。(除非style处于template元素中,因为template中的内容是不直接在dom树中的。另外曾经

如果style元素出现在body元素,最终效果和style元素出现在head里是一样的。但是可能引起FOUC、重绘或重新布局。注意,根据当前标准,<link rel=stylesheet …> 是可以出现在body元素中的。并且也可能引起上述问题。然而link是引用资源,意味着可以用于故意设计的异步加载。而style元素是直接内嵌的,并没有合理的use case去使用它。所以html标准中允许body中出现link,而不允许style。

不过,虽然20年以来,把style放在body中一直是不合标准的,但仍然有大量网站这样用了,所以这个问题是有一定争议的。参见 style tag should be allowed in body · Issue #1605 · whatwg/html 。

PS. 有部分网站在body中使用style可能是出于组件或CMS的需求,之前html标准曾加入了

写在head标签中利于浏览器逐步渲染(resources downloading->CSSOM+DOM->RenderTree(composite)->Layout->paint)。具体渲染过程请参考

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢前端的后端MelodyJerry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值