美文网首页
1-HTML+CSS发展以及DOCTYPE说明

1-HTML+CSS发展以及DOCTYPE说明

作者: 地古丁 | 来源:发表于2018-10-31 09:57 被阅读0次

    发展历程

            早期web表示一些相互引用的研究文档,通过HTML控制基本的结构与格式,随着万维网的兴起,人们通过字体、表格、块引用(blockquote)创建所需的视觉效果,随着页面表现力的增强,页面代码可读性与可维护性变得越来越糟,从而出现了FrontPage、DreamWeaver等可视化的编辑工具;可视化编辑工具引出了另外页面维护性与稳定性相关的各类问题,在这个大背景下CSS出现,将表现与内容进行分离

    HTML的发展

           前期版本不做研究, HTML4.01在1999年成为推荐标准,目前比较老的web应用应该大多采用这个版本,后续W3C在此基础上推出XHTML1.0,1.1版本;HTML与XHTML主要区别为HTML以html文档方式提交为浏览器、XHTML以XML的方式提交给浏览器,从而XHTML对格式要求严格(标签成对出现、大小写问题、属性的写法等),个人觉得XHTML也没有什么不好的,CSS的盛行需要html的格式化程序支持......

            随后Web之父Tim Berners-Lee发表了一篇博客文章,表示,从HTML走向XML的路是行不通的,从而W3C终止XHTML2.0的项目,转而在WHATWG的成果作为基础上进行HTML 5的规范制定

            HTML 5在HTML4的基础上新增了结构性元素(header、nav等)以及表单特性;

    CSS的发展

            CSS的发展不过多说明,目前大多采用CSS3.0进行样式定义,CSS1-3的版本总体上只是定义样式范围的不断增加,只需选择稳定版本即可;


    DOCTYPE

            浏览器通过读取DOCTYPE,获取页面实用的html版本,通过规则检查页面有效性,并采取相应的措施,目前HTML 5的写法,定义在一个html的第一行 <!DOCTYPE html>,html5无需再定义文档类型(DTD);

             历史写法:html 4.01的写法<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">Xhtml1.0的写法:<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  ,其中DOCTYPE存在两种风格,严格(strict)和过渡(transitional)框架的(Frameset),过渡版帮助开发人员在老版本迁移到新版本,过渡版本中包含已经过期的元素,比如font元素;在讨论严格、过渡风格时常会说到盒模型;什么是盒模型呢?见下图(很常见但是专业的叫法可能没听过,细想还是专业叫法合理形象)

            由于XHTML是通过XML方式提交给浏览器,因此存在完整个格式;如果格式错误浏览器将会不显示,这是强格式的一个问题;因此开发完成需要进行格式校验W3C验证器bookmaklet,火狐浏览器有其扩展插件,也可通过网络输入URL进行验证;实际上我们在开发过程中很少进行验证;

            DOCTYPE对于浏览器的影响,涉及到浏览器的两种工作模式(标准模式与混杂模式),混杂模式是使浏览器可以模拟老式浏览器行为防止老站点无法工作;针对浏览器具体的工作模式不能深入说,禅曰“开口便错”,因为不能深入了解,所以就不做过多的说明;总之DOCTYPE的定义会触发浏览器的行为模式,基本严格(strict)的定义会触发标准模式,其它的触发混杂模式,有的浏览器存在准保准模式的第三种工作模式;从而影响CSS渲染以及JS部分的执行;

            <meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />表示,对于IE8采用IE7引擎进行处理,对于IE9则采用IE9进行处理;<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />IE=Edge则令IE以最新的保准进行渲染,chrome=1则允许使用谷歌的框架进行渲染;

            <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" / >,<meta http-equiv="X-UA-Compatible" content="IE=IE7" / >的区别在于EmulateIE7以DOCTYPE指定的方式以IE7标准模式进行渲染,混在模式中则以IE5渲染,而IE=IE7则脱离了DOCTYPE的定义,统一采用IE7的标准模式渲染; <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" / >为常规做法。

    相关文章

      网友评论

          本文标题:1-HTML+CSS发展以及DOCTYPE说明

          本文链接:https://www.haomeiwen.com/subject/leggtqtx.html