几个问题

作者: Faye1208 | 来源:发表于2015-11-24 21:24 被阅读75次

    内容:

    • utf-8与gbk的区别;
    • 常见浏览器有哪些,有哪些内核;
    • 严格(标准 )模式(Standards Mode)与怪异(混杂)模式(Quirks mode)的区别;
    • px、rem、em的区别。

    utf-8与gbk的区别:
    • 表示方法上:utf-8是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。而GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。

    • 通用性上:UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。而GBK包含全部中文字符,是国家编码,通用性比UTF8差。

    • 数据库占用上:utf-8占用数据库比GBK大。


    常见浏览器有哪些,有哪些内核:
    • 常见浏览器:
      Mozilla Firefox 浏览器(Gecko内核)
      Chrome 浏览器(Webkit内核)
      Internet Explorer 浏览器(Trident内核)
      Safari浏览器(Webkit内核)
      Opera浏览器(7.0及以上版本 Presto内核)
      Maxthon浏览器(Trident内核)
      Netscape浏览器 (6及以上版本 Gecko内核)
      The world浏览器(Trident内核)
      Tencent Traveler浏览器(Trident内核)

    • 内核:
      Trident内核(IE内核)是微软开发的一种排版引擎。该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内 核名称而只好如此说,至少老N就是如此。。。)。
      自从发布后,Trident不断地被更新和完善:
      Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;
      Trident III(IE5.5)——修正部分CSS的排版控制;
      Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;
      Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。(这就是IE6经常被诟病的对png图片支持不良的之处!)
      Webkit内核 苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软 件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以 Safari浏览器在国内还是很安全的。
      Gecko内核 Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,Netcape6开始采用该内核。后来的 Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Geckos 现在由Mozilla基金会维护。
      Presto内核 Presto是一个由Opera Software开发的浏览器排版引擎,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核


    严格(标准 )模式(Standards Mode)与怪异(混杂)模式(Quirks mode)的区别:
        浏览器从服务端获取网页后会根据文档的[DOCTYPE]定义显示网页,如果文档正确定义了DOCTYPE浏览器则会进入标准模式(Standards Mode)(按照W3C标准渲染页面),否则浏览器会进入怪异模式或混杂模式(Quirks mode)(按照浏览器自己规则渲染页面)。
    

    浏览器开发初期W3C倡导的网页标准并不流行,因此浏览器有独特的对网页标签或属性的解析模式,随着日后网页标准的流行,浏览器增加了对新标准的支持(Standards Mode),但又没有放弃对原有模式的兼容(Quirks mode),这就是浏览器多种表现模式的来源。

    px、rem、em的区别:
    • PX为单位
      PX实际上就是像素,用PX设置字体大小时,比较稳定和精确。但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,如果改变了浏览器的缩放,这时会使用我们的Web页面布局被打破。这样对于那些关心自己网站可用性的用户来说,就是一个大问题了。因此,这时就提出了使用“em”来定义Web页面的字体。
    • EM为单位
      EM就是根据基准来缩放字体的大小。EM实质是一个相对值,而非具体的数值。这种技术需要一个参考点,一般都是以<body>的“font-size”为基准。如WordPress官方主题Twenntytwelve的基准就是14px=1em。另外,em是相对于父元素的属性而计算的。
    • Rem为单位
      EM是相对于其父元素来设置字体大小的,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而Rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值。
    • 浏览器的兼容性
      除了IE6-IE8r,其它的浏览器都支持em和rem属性,px是所有浏览器都支持。
      因此为了浏览器的兼容性,可“px”和“rem”一起使用,用"px"来实现IE6-8下的效果,然后使用“Rem”来实现代浏览器的效果。

    px,em,rem单位转换工具 地址:http://pxtoem.com/


    拓展内容:
    1、字符集以及字符编码;
    2、浏览器的表现模式;
    3、浏览器。

    相关文章

      网友评论

        本文标题:几个问题

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