1.网页乱码的问题是如何产生的?怎样解决?
- 乱码产生的根本原因
我们在保存文件时的编码格式和用浏览器解析文件时的解码方式不一致所导致。开发中常引起网页乱码的场景有,我们在用编辑器保持代码时,编辑器会用自己默认的编码保存文件,当我打开文件时,浏览器使用默认的解码格式进行渲染,当这两种格式不一致时就会产生乱码。还有就是当在html代码中写的编码格式和保存文件的编码格式不一致时也会引起乱码。 - 解决方法
使html代码中写的格式为和保存文件的格式保持一致。
不同的编辑器会有不同的默认编码格式,我们在开发时指定编码来规范文件的解码格式。
常见的编码格式:ASCII、ISOLatin-1、UNICODE、UTF-8、GBK
在实际开发中用的比较多的是UTF-8。
2.颜色有几种写法, 红色、 绿色、蓝色、白色、黑色如何表示? 透明黑色如何表示?
所有的颜色都由红绿蓝混合而成,分三种写法,分别为:
- 用英文名字指定颜色
16种基本颜色和150种扩展颜色可以采取这种方式指定,颜色名对大小写不敏感,大部分浏览器都支持颜色名集合
仅仅有 16 种颜色名被 W3C 的 HTML4.0 标准所支持。它们是:aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow。
- 使用 rgb(r,g,b)来表示
rgb的数值使用十进制数0-255或者使用百分比来表示红绿蓝三原色,其中颜色的透明度由alpha值来实现,Alpha参数是一个介于0.0(完全透明)和1.0(完全不透明)之间的参数。eg:红色用rgb (255, 0, 0)表示;半透明度的红色用rgba(255, 0, 0, 0.5)表示;其它依次类推。 - 使用十六进制码指定颜色
十六进制码是使用最广泛的,因为开发人员认为这是一种最方便的指定颜色的方法。一个十六进制码中,每组2位数字分别代表颜色的红、绿、蓝分量。所以前两个数字表示红色,接下来两位表示绿色,最后两位表示蓝色。
十六进制快速转换为十进制数的算法:
16进制即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。故而有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个大小不同的数。
16进制数的第0位的[权值]为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X 乘 16的N次方。
我们拿常见的红色#FF0000举例:
F对应15,
所以FF在十进制中就表示15*16^1+15 * 16^0=15*16+15*1=255
00在十进制中就表示0*161+0*160=0*16+0*1=0。
即知道#FF0000对应十进制的rgb(255,0,0)。
按这个规则就可以快速地将十六进制转换为十进制,来准确知道这个颜色重红、绿、蓝各有多少。
3.<!doctype html>的作用是什么
doctype(文档类型定义)是用来告诉浏览器网页使用那种 HTML 版本。不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。
声明<!doctype html>是告诉浏览器用html5的规则去渲染网页,
此声明大小写不敏感。
4.严格模式和混杂模式指什么
有<!doctype>声明的为严格模式,一般声明DTD,要求浏览器严格web标准去进行解析。
严格模式的触发方式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
IE8中关闭超级标准模式:<meta http-equiv="X-UA-Compatible" content="IE=7" /> //content属性中IE的值用于指定使用哪个版本的呈现引擎来呈现页面。设计这个值的目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。
没有<!doctype>声明的为混杂模式,混杂模式是一种比较宽松的向后兼容的模式。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。采用混杂模式不是什么值得推荐的做法,因为不同浏览器在这种模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。
5.meta有什么作用,常见的值有哪些
meta是HTML语言head区的一个辅助性标签,一般位于文档的头部,提供有关web网页的元数据,元数据不会显示在页面。<meta>
元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
常见的属性和值
content:some_text (定义与 http-equiv 或 name 属性相关的元信息)
http-equiv:content-type、expires、refresh、set-cookie
name:author、description、keywords、generator、revised、others
scheme:some_text(定义用于翻译 content 属性值的格式。)
用法举例:
<meta name="keywords"content="meta总结,html meta,meta属性,meta跳转">
<meta name="description"content="haorooms博客,html的meta总结,meta是html语言head区的一个辅助性标签。">
<meta name="robots"content="none">
<meta name="author"content="root,root@xxxx.com">
<META name="revisit-after"CONTENT="7days">
<meta http-equiv="expires"content="Fri,12Jan200118:18:18GMT">
<meta http-equiv="Refresh"content="2;URL=http://www.haorooms.com"> //(注意后面的引号,分别在秒数的前面和网址的后面)
<meta http-equiv="content-Type"content="text/html;charset=gb2312">
6.<meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1"有什么作用
用这句话来设置浏览器的兼容模式,其中X-UA-compatible是IE8为了所有未来的IE版本都有一致的外观引入的新特性。
IE=edge表示用要浏览器用最新的内核规则进行渲染。chrome=1可以激活chrome frame。
7.常见的浏览器有哪些,什么内核
Chrome:WebKit 内核
Internet Explorer:Trident(IE 内核)
Firefox:Gecko 内核
Safari:WebKit 内核
Opera:Presto 内核
极速360用的WebKit和Trident
QQ浏览器:内核为Chromium+Trident内核
** 本教程版权归作者和饥人谷所有,转载须说明来源! **
网友评论