前言

在学html时,在头部标签内除了知道可以放title标签外,不知道还可以放什么标签,一脸迷茫后赶快去百度,然后小笔记记起来,整理一番。

关键字

<title>  <meta>  <link>   <script>

必要的title

title是必要的,但是如果没有加,浏览器也会自动帮你加上。

<head>
<title>web</title>
</head>

Encoding(编码方式)

编码方式的规范是放在head的最前面,如果不指定,浏览器也会根据服务器的header进行判定,但是不一定准确。

<head>
<meta charset="UTF-8">
<title>web</title>
</head>

Description(网站描述)

之前没有注意到这个,就是对你的网站描述,搜索引擎会看到,在SEO里面应该很常用

<meta name="description" content="这里是对网站的描述">

Viewport

这个就很常见了,viewport一般是做移动端适配,将页面放在一个虚拟的窗口中-viewport中,如果网页没有用viewport就会出现我们在手机浏览器打开时很小,而且还可以移动缩放,low爆了,viewport就是让网页开发者通过其大小,动态的设置其网页内容中控件元素的大小,从而使得在浏览器上实现和web网页中相同的效果(比例缩小)。,用来更好支持响应式网站。

 <meta name="viewport" content="width=device-width, initial-scale=1">

width:控制viewport的大小,一般情况下指定为device-width(单位为缩放为100%的CSS像素),也可以指定一个固定的值例如600.

height:和width相应,指定高度。

initial-scal:初始缩放比例,页面第一次load的时候的缩放比例。

maximum-scale:允许用户缩放到的最大比例。

minimum-scale:允许用户缩放到的最小比例。

user-scalable:用户是否可以手动缩放。

Favicon

这个是网页标题左边的小图标,指定他的路径,如果没有指定,浏览器会在根目录下寻找

<link rel="icon" href="/favicon.ico" type="image/x-icon" />

css

通过link标签链入样式文件

<link rel="stylesheet" href="css/test.css">

javascript(重点)

通过script标签链入脚本文件

 <script src="js/test.js"></script>

这里我们讨论几个点

1 js文件放在head里面和放在body里面的区别

首先放在head里面,script 标签如果沒加上 async属性的話,會 block 住浏览器,就是要下载完这个js文件才会进行下一步操作,如果文件很小还好,如果是比较大的,就会有阻塞的效果,影响用户体验。

浏览器解析网页时是一行行解析的,就是说解析到head里面的js文件时就会停下来,而我们的Dom结构是在head下面的body标签里面,就是说我们得等js文件下载完成才能看到body的内容,那我们选择放在body底部的话,浏览器就会优先加载dom,解析到body底部的js时才去下载,但是在下载之前我们已经能看到body的内容,浏览体验就会好一点,

那有人会问,放在body头部和底部有什么区别呢?其实放在body头部的话就和放在head里面一样的啦

2 js文件放在head里面避免弊端

有两个属性可以解决js文件同步下载的问题: defer和async

defer:

如果一个script加了defer属性,即使放在head里面,它也会在html页面解析完毕之后再去执行,也就是类似于把这个script放在了页面底部。

<script defer src="test.js"></script>
async:

对于async,这个是html5中新增的属性,它的作用是能够异步的加载和执行脚本,不因为加载脚本而阻塞页面的加载。一旦加载到就会立刻执行。有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。但是很有可能不是按照原本的顺序来执行的。如果js前后有依赖性,用async,就很有可能出错。

<script async src="test.js"></script>

3 最好把js文件放在哪

现在浏览器做了一些优化,即使把js放在head里面也不会有大问题,所以我们可以将必要的js放在head里面,比较大的js放在body的底部,但是最简单最好方法就是放在body底部,W3C是将js放在head里面;

cover:https://blog.csdn.net/sinat_34498624/article/details/72154561

head头部内放些什么标签?的更多相关文章

  1. php 内置支持的标签和属性

    内置支持的标签和属性列表如下: 标签名 作用 包含属性 include 包含外部模板文件(闭合) file import 导入资源文件(闭合 包括js css load别名) file,href,ty ...

  2. day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)

    day12 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件 ...

  3. HTML中为何p标签内不可包含div标签?那哪些块元素里面不能放哪些块元素呢?

    先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元素</span>的差别</p> <p>测试一下<div& ...

  4. HTML中为何P标签内不可包含DIV标签?

    起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和blo ...

  5. HTML中为何P标签内不可包含DIV标签? (转)

    起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和blo ...

  6. CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  7. Box Model,边距折叠,内联和块标签,CSSReset

    一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...

  8. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  9. CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset

    目录 一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三. ...

随机推荐

  1. pytorch实现squeezenet

    squeezenet是16年发布的一款轻量级网络模型,模型很小,只有4.8M,可用于移动设备,嵌入式设备. 关于squeezenet的原理可自行阅读论文或查找博客,这里主要解读下pytorch对squ ...

  2. Applese 涂颜色(欧拉降幂)

    链接:https://ac.nowcoder.com/acm/contest/330/E 来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列 ...

  3. day23 模块

    1. 模块 1. 首先,我们先看个老生常谈的问题. 什么是模块. 模块就是一个包含了python定义和声 明的文件, 文件名就是模块的名字加上.py后缀. 换句话说我们目前写的所有的py文件都可以 看 ...

  4. iOS自动化测试的那些干货

    前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug就会抵 ...

  5. java中Excel导出

    转载:https://www.cnblogs.com/gudongcheng/p/8268909.html,稍加修改了 https://www.cnblogs.com/hanfeihanfei/p/7 ...

  6. 22-----BBS论坛

    BBS论坛(二十二) 22.1.七牛js上传轮播图图片 (1)common/zlqiniu.js 'use strict'; var zlqiniu = { 'setup': function (ar ...

  7. 转 python3中SQLLIT编码与解码之Unicode与bytes

    #########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...

  8. eclipse 快捷键使用日志

    Ctrl+Shift+F 格式化代码 Ctrl+Shift+O  快速导入资源包 Ctrl+m 最大化/最小化当前窗口(全屏/还原)

  9. python_元组 学习

    一.创建元组 代码: name=(‘chinese’,’gansu’,’beijing’) 创建空元组 name=() 元组中只包含一个元素时,需要在玄素后面加逗号(,)消除歧义: name=(‘ch ...

  10. jsp中判断if 和 else

    <c:choose>                   <c:when test="${date==datetime}">                ...