zoukankan      html  css  js  c++  java
  • 腾讯笔试题2

    HTML && CSS
    1.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 行内元素有哪些?块级元素有哪些?CSS的盒模型?

      答:<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

       该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

          http://www.w3school.com.cn/tags/tag_doctype.asp

        当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性。为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式(quirks mode)。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器(比如Microsoft IE 4和Netscape Navigator 4)的行为以防止老站点无法工作。

    Mozilla和Safari还有第三种模式,称为”几乎标准的模式(almost standards mode)”,除了在处理表格的方式上有一些细微的差异之外,这种模式与标准模式相同。

    在Firefox中,可以使用Web Developer Extension查看页面的呈现模式。如果网站以标准模式呈现,工具栏上会显示一个绿色的钩;若以混杂模式呈现,则显于红色的叉。IE 8中的开发工具也显示浏览器使用的模式。

    差异:

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

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

    如何触发这两种模式:

    浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML 4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。

    根据DOCTYPE是否存在选择呈现模式,被称为DOCTYPE切换或DOCTYPE侦测。并非所有浏览器都采用这些规则,但是这些规则很好地说明了DOCTYPE切换的工作方式。要了解更全面的内容,可查阅网站http://hsivonen.iki.fi/doctype/,这里的图表说明了不同浏览器如何根据DOCTYPE声明来选择呈现方法。

    DOCTYPE切换是浏览器用来区分遗留文档和符合标准的文档的手段。无论是否编写了有效的CSS,如果选择了错误的DOCTYPE,那么页面就将以混杂模式呈现,其行为就可能会有错误或不可预测。因此,一定要在站点的每个页面上包含形式完整的DOCTYPE声明,并且在使用HTML时选择严格的DTD。

    <pre> 
    <ol> 
    <li>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"</li> 
    <li>    "http://www.w3.org/TR/html4/strict.dtd"&gt;</li> 
    <li>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"</li> 
    <li>    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</li> 
    <li>&lt;!DOCTYPE html&gt;</li> 
    </ol> 
    </pre> 

    许多HTML编辑器会自动添加DOCTYPE声明。如果创建XHTML文档,一些老的编辑器还可能在DOCTYPE声明前面添加XML声明:

    <?xml version="1.0" encoding="utf-8"?>

    XML声明是XML文件使用的可选声明,它定义使用的XML版本和字符编码类型等设置。不幸的是,如果DOCTYPE声明不是页面上的第一个元素,那么IE 6会自动切换到混杂模式。这个问题在IE 7中已经纠正了,但是除非要将页面用做XML文档,否则最好避免使用XML声明。


    2.CSS引入的方式有哪些? link和@import的区别?
    3.CSS选择符有哪些?哪些属性可以继承?优先级?内联和important哪个优先级高?
    4.经常遇到的浏览器的兼容性有哪些?怎么会出现?解决方法是什么?
    5.如何居中一个浮动元素?
    6.HTML5和CSS3的了解情况

  • 相关阅读:
    Java 匿名内部类
    【嘎】数组-搜索插入位置
    【嘎】数组-1266. 访问所有点的最小时间
    【嘎】数组-1313. 解压缩编码列表
    【嘎】数组-1431. 拥有最多糖果的孩子
    element-ui下拉多选报错Error in event handler for "handleOptionClick": "TypeError: value.push is not a function"
    【嘎】数组-有效的山脉数组
    【嘎】数组-打家劫舍
    【嘎】字符串-字符串中的第一个唯一字符
    linux
  • 原文地址:https://www.cnblogs.com/yingsmirk/p/2443790.html
Copyright © 2011-2022 走看看