好久不写博客,翻了下自己写的东西。时间过的是真的快,希望自己还是坚持写下去,把一些以前模糊的东西,做一下新的更新,以及一些复习。我也会将最近自己看的书做一个总结。(类似《精通css高级web标准解决方案》,以及《javascript高级程序设计》《你不知道的javascript》等等)
精通css高级web标准解决方案:(这本书真的很好,虽然我一直没有进行翻阅。最近闲下来看了一下写的内容,对自己有很大的提升。我会将书中所讲内容尽可能的提炼出来)
chapter 1:
这一章复习了基础知识:
1 设计代码的结构:
由于早期web只是为了一系列相互链接的研究文档,使html来添加页面的基本结构。但是后来,将html进行表现页面。因而页面很乱,产生了‘’标签汤‘‘ 在加上当时布局所采用的是表格,所以所有标签混乱不堪。
2 有意义的文档的重要性:
我所认为的代码有意义,实质上是指将曾经的html中需要表现的东西进行分离,并且去用一些跟文本所需要表现内容相关的标签。如果后边需要改页面只用讲外边表现型的东西进行修改,因而对页面进行最大化的保留,不去动它。
3 命名约定:
在分配ID与类名时应当尽可能保持名称与表现形式无关(比如希望所有表单通知是红色的,可以给他们分配类名red,但是有其他地方也需要用到red,于是便分不清这个red与表单的关系)
所以应该根据''它们是什么''给其进行命名
4 什么时候使用ID 什么时候用类:
什么时候采用ID什么时候用类,一般原则应用则是类应该用于概念上相似的元素,这些元素后边会在一个地方出现多次。而ID则用于不同的唯一的元素(后边到了jacascript中会用到很多)
5 微格式:
hCard(微格式)记录自己的信息 或者关于时间地点日期等等,至于是什么我也没看懂。(可能为了别人提取方便?)
6 html css不同的版本
在开头写声明应该注意html是什么版本
7 文档类型.DOCTYPE切换和浏览器模式 (这是这一章的重点内容 关于文档类型 以及DOCTYPE切换和浏览器模式在后边会进行讲解)
关于这里需要进行详细讲解 DTD(文本类型定义) 他们定义xml或者html允许有什么,不允许有什么。在浏览器解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施。浏览器通过分析DOCTYPE声明来了解使用哪个DTD,由此知道HTML的版本。
DOCTYPE 声明是指html文档开头处的一行两行代码,它描述使用哪个DTD 举个栗子:
<! DOCTYPE html PUBLIC ''-//W3C//DTD XHTML 1.0 Strict//EN '' '' http://www.w3.org/tr/xhtml1/DTD//xhtml1-strict.dtd'' >
DOCTYPE 通常----但不总是---包含指定的DTD文件的url 在HTML5中不用写URL。 浏览器一般不读取这些文件,而是识别DOCTYPE声明。
DOCTYPE 有两种格式,一种严格(strict) 一种过渡(transitional) 过渡是为了开发人员将老版本迁移到新版本。因此在HTML4.01和XHTML1.0中 过渡版本仍然允许已经废弃的元素。但是在严格版本中会禁止废弃的元素。
DOCTYPE 不仅作用于有效性验证 还被作用于浏览器模式
在浏览器被制作时,浏览器也会向后兼容。因而产生两种呈现模式:标准模式和混杂模式
标准模式中浏览器按照标准会呈现页面。但是在混杂模式中,页面会以一种比较宽松的方式向后兼容显示。其实混杂模式是为了以前比较老的浏览器,模拟了他们的行为,防止他们无法工作。(经典栗子:两种盒模型 在IE6中标准模式采用的是正确的盒模型,但是混杂模式中则是以前的盒模型。因而采用两种呈现方式)
浏览器根据DOCTYPE 是否存在以及使用的哪种DTD来选择要使用呈现的方法。如果文档里边包含完整的DOCTYPE,那么它便按照标准模式呈现 在html4.01中如果有DTD但是没有url 它便会以混杂模式呈现