美文网首页
午后小结

午后小结

作者: 邢烽朔 | 来源:发表于2017-06-04 12:38 被阅读19次
    任务没完成....需要继续码

    目录

    1. 文档声明的作用.
    2. <!doctype html> 的作用?
    3. 内容 & 样式分离的原则.
    4. 严格模式 | 混杂模式指什么?
    5. 浏览器乱码的原因 | 解决.

    文档申明作用


    DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”,在Web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

    <!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。在HTML中 doctype 有两个主要目的。

    1. 对文档进行有效性验证。
      它告诉用户代理和校验器这个文档是按照什么DTD 写的。这个动作是被动的,每次页面加载时,浏览器并不会下载DTD 并检查合法性,只有当手动校验页面时才启用。

    2. 决定浏览器的呈现模式
      对于实际操作,通知浏览器读取文档时用哪种解析算法。如果没有写,则浏览器则根据自身的规则对代码进行解析,可能会严重影响html 排版布局。浏览器有三种方式解析HTML文档。

    • 非怪异(标准)模式
    • 怪异模式
    • 部分怪异(近乎标准)模式

    DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

    转至——网页的DOCTYPE声明的作用


    <!doctype html> 的作用?


    • 作用:声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。
    • 怪异模式,浏览器使用自己的怪异模式解析渲染页面。
    • 标准模式,浏览器使用W3C的标准解析渲染页面。
    • HTML5 为什么只需要写 <!DOCTYPE HTML>?
    • HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

    结构(标记)与样式(版面设计)的分离


    提到样式自然离不开CSS,虽然CSS能做到的,用<table><font>也能做到,但是呢,CSS的技术最大的优点是,它能够帮助你将Web文档的内容结构(标记)和版面设计(样式)分离开来。

    能真正从CSS技术获益的方法,是把样式全部转移到外部文件去。

    把结构和样式氛围两部分的CSS技术给每个人都带来方便。

    • 如果你的工作是编写文档的内容,现在只要集中精力把文档内容正确地标记出来就行了,用不着再与充斥着<table><font>等标签的模版打交道,也就用不着在担心把文档的版面设计弄得一团糟。
    • 如果你的工作是设计网页的版面,那么只要集中经理于把诸如颜色、字体和位置等在一些外部文件里设置妥当就行了,而无需再接触文档,最多只需添加些类或是Id属性。

    这也是CSS的最突出优点,文档结构与文档样式的分离可确保网页都能平稳退化

    • 具备CSS支持的浏览器可以把网页呈现得美轮美奂,
    • 不支持或禁用了 CSS 功能的浏览器同样可以把网页的内容按照正确的结构显示出来。
      按这种原则使用Js时,我们可以从Css身上借鉴到很多东西。

    ——《Js Dom 编程艺术


    严格模式 | 混杂模式


    模式:

    • 严格模式(标准) :是浏览器按照规范去显示页面;
    • 混杂模式(兼容) :是以一种向后兼容的方式去显示。

    作用:可以决定浏览器如何渲染网站

    触发:浏览器根据 doctype 是否存在和使用的是那种dtd(Document Type Definition)来决定。

    差异:
    对于这两种模式之间的差异,最显著的一个例子与Windows上IE专有的盒模型有关。在IE 6出现时,在标准模式中使用的是正确的盒模型,在混杂模式中使用的则是老式的专有盒模型。为了维持对IE 5和更低版本的向后兼容性,Opera 7和更高版本也在混杂模式中使用有缺点的IE盒模型。

    呈现方面的其他差异比较小,而且是与特定浏览器相关的,包括对于十六进制颜色值不需要#号、假设CSS中没有指定单位的长度的单位是像素,以及在使用关键字时将字号增加一级。


    浏览器乱码的原因 | 解决.


    编写代码时,如果没有事先设置采用 utf-8编码(中文)或者是保存时没有以该种编码保存,那么再打开浏览器时,则由浏览器默认去进行解析您的代码,并呈现给使用者,这个时候很大可能就会出现乱码。

    所以,在编写网页代码时,<meta charset = "utf-8"> 是必要的。


    相关文章

      网友评论

          本文标题:午后小结

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