网页结构——head标签内
之前写网页都很标准的格式,最近一个项目出现了页面闪动等一系列问题【项目不是前后端分离】,
所以这边有后台的功劳,有部分后台是不管你页面结构的,在他们操作的时候可能会在,你的head内meta前加内联css,或者js,在引擎加载规范的前面有其他css,js干扰,加载后又有其他样式,js,导致页面结构不稳定。在这里提醒各位开发者,搭建规范的页面结构还是很重要的,这边我去百度了一篇比较有道理的解释。
基本上就这几个标签么
<meta>、<link>、<title>、<script>、<style>、<base>
一般是按照具体经验来分配。
如:
- <meta>
- <title>
- <link> \ <style>
- <base>
- <script>
当然,约往后位置约不重要。比如 4 5 调换也没啥大事儿。
基本规律是:
- meta 最好写在第一个,特别是 meta chaset 设定必须写第一个,它们是元数据,能让数据获取方得知此页面的元数据。最先得知页面编码,进而获取之后meta(如果有)内的作者、关键字等数据(因为这些内容可能是非ASCII字符)时,可以用指定编码方式获取。获取方得到全部元数据后可以自行判断是否继续获取其后内容。
- title 紧随 meta 之后是因为可能获取方需要知道页面标题信息,并且在最先获取 chaset 信息后知道此标题的编码方式。如果获取方是页面浏览器,那么它可以最先用正确的页面编码方式显示标题给用户。
- link、style 紧随 meta,其实还是主要为 link 大部分都是 CSS 样式文件考虑。由于外联样式可以并行下载,不会阻塞后续处理工作,style 也能让浏览器尽快得知页面排版布局信息。
- base 一般情况下用的不多,只要不放第一个基本没啥关系。
- script 放在最后,是基于script 不关是下载还是执行都会阻塞页面考虑,让它尽量偏后。(当然,这在绝大部分现代浏览器中不是事儿了,它会尽量"拖后"外联脚本下载时机)现在大多数情况没有特殊需求 script 都不放在 head 里了,而是放在 body 最后一个子节点上(也有给扔 html body 之外的,浏览器容错还是能给它修正回 body 最后节点上)。
-
作者:貘吃馍香
链接:https://www.zhihu.com/question/28714116/answer/41891650
来源:知乎
-
如有侵权,请联系