一、关于编码
(1)ASCII码
美国标准信息交换代码(American Standard Code for Information Interchange)。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成。每个字符占7位(0xxxxxxx),最高位都是0。
(2)ISOLatin-1
可以认为ASCII是美国发明针对英语设计的,但欧洲人在用的时候出现了问题,无法表示一些特殊的拉丁字符,于是欧洲人就发明了8位字符集ISOLatin-1。它对ASCII做了个扩充,对于0-127之间的字符还使用ASCII里的字符不变,把位于128-255之间的字符表示拉丁字母表中特殊语言字符。
(3)UNICODE
随着计算机不断发展到亚洲非洲,ISOLatin-1的8位字符集也不够用了,于是有了UNICODE,使用2个字节(16位)就可以编码地球上几乎所有地区的文字。
但是,UNICODE只是理论上的编码方式,相当于给世界上每个文字打了个编号,比如英文字母s的编号是115, 用二进制表示是00000000 1110011, 中文“日”的编号是26085 ,二进制是11001011 1100101。
这编号具体如何在计算机里面存储,可以有多种实现方式。比如utf-8和gbk。
(4)UTF-8
UNICODE已经给每个文字打了个编号,为啥不把这个编号直接转化成二进制存储在计算机里面呢? 因为老外不肯啊,英文字母s是115没错,但我就用1个字节1110011
就可以表示,而你中文日是26085号也没错,但是你不能在使用2个表示,而是用2个甚至6个字节表示。这个编码方式就是UTF-8,它是一种针对Unicode的可变长度字符编码。
(5)GBK
这时候中国不干了,明明用2个字节就能表示中文一个汉字,现在UTF-8编码中文竟然需要2个甚至4个字节来表示。于是中国制定一套自己的规则,于是用2个字节来表示一个汉字,总共可以覆盖2万多个文字。 对于英文,保留和UTF-8同样的方式使用一个字节来表示。
二、部分html标签
(1)<!doctype html>
<!doctype html>是文档申明,告诉浏览器以最新的html5标准渲染页面(标准模式/严格模式)。(比如:会让IE按标准盒模型解析,而不是按自己的IE盒模型解析。)不加的话,浏览器就按照自己的标准去渲染页面,会导致浏览器的怪异模式(混杂模式)。
(2)<meta charset="UTF-8">
告诉浏览器以何种方式解码。
当我们保存的文件的编码方式和浏览器打开这个文件时的解码方式不同时就会产生网页乱码。为了防止产生网页乱码,首先要清楚自己编写的html文档将以什么编码方式保存,然后在文档头部加入相应的<meta>标签。比如,使用Sublime编辑器时,默认保存的文档的编码方式是UTF-8,我们只需要在文档的头部写入<meta charset=“UTF-8”>,告诉浏览器以UTF-8的方式进行解码,就可以避免乱码的产生。同理,若文档是gbk编码的,只需在文档头部写入<meta charset=“gbk”>即可。
(3)<meta http-equiv=“X-UA-compatible” content="IE=edge,chrome=1">
在没有安装GCF(谷歌内嵌的浏览器框架)的情况下,浏览器将使用最高版本的IE内核进行渲染。
如果安装了GCF,则使用GCF来渲染。
如果去掉“IE=edge”这个值,即<meta http-equiv=“X-UA-compatible” content=“chrome=1>”,则表示使用chrome 内核进行渲染。
(4)<meta http-equiv=“pragma” content="no-cache">
禁止页面缓存。
(5)<meta name="keywords" content=" 网页关键字">
<meta name="description" content="网页描述文字">
搜索引擎优化用,使当别人检索网页关键字时,有可能搜索到你的网页,同时看到你的网页描述文字。
(6) <meta name="viewport" content="width=device-width" initial-scale="1">
页面强制适应移动页面宽度,而且不允许缩放。
(7)@import url(style.css)
引入外部css样式文件
-
link 和 @import的区别
a. link引用CSS时,在页面载入时同时加载, @import需要页面完全载入以后加载。
b. link相比@import提高样式表的复用性,缺点是需要多一次服务器请求;@import方法对样式表的复用性差,只能被当前页面引用,不能再被其他页面引用,优点是不用再次服务器请求,提升网页加载速度。
c. link无兼容问题;@import低版本的浏览器不支持。