1.网页乱码的问题是如何产生的?怎样解决
答:乱码产生的原因是编辑器所保存的编码格式与浏览器解析所使用的编码格式不同而导致的。常见的编码格式有以下几种:
ASCII
全称美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成,每个字符占7位(1字节是8位)。
ISOLatin-1
可以认为ASCII是美国发明针对英语设计的,但欧洲人在用的时候出现了问题。对于一些特殊的拉丁字符,比如法文德文里某些字符,ASCII字符集就不包括。于是欧洲人发明了一种8位字符集是ISO 8859-1Latin 1,也简称为ISOLatin-1。它对ASCII做了个扩充,对于0-127之间的字符还使用ASCII里的字符不变, 把位于128-255之间的字符表示拉丁字母表中特殊语言字符。
UNICODE
后来计算机不断发展扩展到亚洲非洲,如何用计算机使用的二进制表示这些语言又成了问题。ISOLatin-1的8位字符集只能表示256个字符,而仅汉语就有80000以上个字符。如何把地球上绝大多数语言用一种编码方式表示出来呢? 于是发明了UNICODE编码,只用2个字节(16位)就可以编码地球上几乎所有地区的文字。
但是,UNICODE只是理论上的编码方式,相当于给世界上每个文字打了个编号,但这编号具体如何在计算机里面存储,可以有多种实现方式。比如utf-8和gbk。
前面说了UNICODE只是给每个文字打了个编号,为啥不把这个编号直接转化成二进制存储在计算机里面呢? 比如英文字母s的编号是115, 用二进制表示是00000000 1110011, 中文日的编号是26085 (16进制是65e5) ,二进制是11001011 1100101。老外才没那么傻,对于老外这种日常纯粹是用英文字符的人来说明明之前1个字节就能存储一个字母,现在为了全球大一统非要存储为2个字节,相当于一个之前一个1M的文档,现在变为2M。于是老外耍了赖,英文字母s是115没错,但我就用1个字节1110011表示,而你中文日是26085号也没错,但是你不能在使用2个表示,而是用2个甚至6个字节表示。(为了英文的特权,牺牲其他语言的存储空间的便利),这个编码方式就是UTF-8。
UTF-8
utf-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
GBK
这时候中国不干了,为啥你制定了全球大一统的规则,却为了自己的便利又破坏规则,把方便留给自己不便留给别人呢? 明明用2个字节就能表示中文一个汉字,现在UTF-8编码中文竟然需要2个甚至4个字节来表示。于是中国制定一套自己的规则,于是用2个字节来表示一个汉字,总共可以覆盖2万多个文字。 对于英文,好吧让一步,还保留和你UTF-8同样的方式使用一个字节来表示。
记住:UNICODE只是给字符一个代号,而GBK和UTF-8使用不同的规则来表示同一个代号。
解决方式:首先确定自己的IED的默认保存格式(一般默认为UTF-8),如果你的保存格式是UTF-8,就在html的<head>
中加入<meta charset="utf-8">
这样就规定了浏览器使用utf-8去解码,使浏览器不会用错编码格式,从而解决乱码。
2.颜色有几种写法, 红色、 绿色、蓝色、白色、黑色如何表示? 透明黑色如何表示?#ccc的颜色,#eee的颜色?#333的颜色?
答:颜色的写法有四种:
1.十六进制写法:
#000000
代表黑色,#FFFFFF
代表纯白色,每两位分别代表一种颜色(红绿蓝)当两位相同的时候可以使用缩写#FFFFFF
可写为#FFF
,必须是相同才可以缩写!
2.rgb写法:
蓝色可以写为rgb(0,0,255)或者rgb(0,0,100%)r代表红色,g代表绿色,b代表蓝色。括号内的数值代表颜色的深度。
3.英文单词写法:
red红色、white白色等等。
4.css3中rgba写法
rgb与rgb写法相同,a代表的透明度可用百分比表示。
- 红色:
#ff0000
rgb(255,0,0) red - 绿色:
#00ff00
rgb(0,255,0) green - 蓝色:
#0000ff
rgb(0,0,255) blue - 白色:
#ffffff
rgb(255,255,255 )white - 黑色:
#000000
rgb(0,0,0) black - 透明黑色:rgba(0,0,0,0.6)
16进制颜色
#ccc
灰色、#eee
浅灰色、#333
深灰色。
3. <!DOCTYPE HTML>的作用是什么
答:此为告诉浏览器以最新的HTML5标准来渲染这个页面,而且以后都是以最新的标准来渲染这个页面。
4.严格模式和混杂模式指什么?
答:严格模式:写入HTML文档声明让浏览器严格按照文档声明来对页面进行渲染。
混杂模式:不写入文档声明,让浏览器以自己的方式去渲染页面,有时候会出现问题所以一般都使用严格模式。
5.meta有什么作用,常见的值有哪些
答:<meat>
标签用于提供网页的相关信息
charset:告诉浏览器使用什么解码方式;
http-equiv :向服务器请求完成浏览器所能完成的HTTP功能;
name :设置属性值;
content :根据所搭配的特性设置对应的属性值。
6.<meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1" > 有什么作用?
答:这是让浏览器以chrome内核或者最高版本IE内核对页面进行渲染,告诉浏览器的渲染方式。
7.常见的浏览器有哪些,什么内核?
答:
- IE、Maxthon、TT、The World等:使用Trident内核的浏览器;
- FireFox、MozillaSuite/SeaMonkey:使用Gecko内核的浏览器;
- Opera7及以上版本:使用Presto内核的浏览器;
- Safari、Chrome:使用Webkit内核的浏览器。