关于Doctype、严格模式与混杂模式
2018-06-24 01:08:54来源:未知 阅读 ()
<!Doctype> 文档声明,位于文档中的最前面的位置,处于<html>标签之前。此标签告知浏览器文档使用哪种HTML或XHTML规范。
用于告知浏览器以何种模式来渲染文档。
严格模式:页面排版和js解析是以该浏览器支持的最高标准(W3C)来执行。
混杂模式:不严格按照标准模式执行,主要用以兼容旧的浏览器,向后兼容。模拟老式浏览器的行为以防止老站点无法工作。说的透明点就是可以实现IE5.5及以下版本的浏览器的渲染模式。
Doctype不存在或格式不正确会导致文档以混杂模式呈现。
那么问题来了,严格模式和混杂模式在样式上有什么不同之处?
区别:总体会有布局、样式解析和脚本解析三方面的区别。
1、盒模型:在W3C标准中,如果设置一个元素的宽度和高度,值得是元素内容的宽度和高度,而在Quirks模式下,IE的宽度和高度还包含了padding和border。
2、设置行内元素的宽高:在标准模式下,给<span>等行内元素设置width和height都不会生效,而在quirks模式下,则会生效。
3、设置百分比的高度:在标准模式下,一个元素的高度尤其包含的内容决定,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。
4、margin:0 auto设置水平居中:使用margin:0 auto在标准模式下可以使元素水平居中,但在quirks模式下却会失效。解决办法:用text-align属性:
body{text-align:center;}
#content{text-align:left;}
5、quirks模式下设置图片的padding会失效
6、quirks模式下Table中的字体属性不能继承上层的设置
7、quirks模式下white-space:pre(保留空白)会失效
那么问题来了,white-space可能的值:
normal 默认。空白会被浏览器忽略
pre 空白会被刘看齐保留。其行为方式类似HTML中的<pre>标签
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到<br>标签为止
pre-wrap保留空白符序列,但是正常的进行换行
pre-line 合并空白符序列,但是保留换行符。
inherit 规定应该从父元素继承white-space属性的值。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:微格式(microformat)
- 关于vue的多页面标签功能,对于嵌套router-view缓存的最终无 2020-06-01
- 关于浏览器兼容问题 2020-05-27
- 关于前端开发,你真的了解吗? 2020-04-10
- 表单元素 2020-04-05
- 关于前端学习路线的一些建议 2020-03-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash