非常值得看的HTML & CSS 试题 分析和答案

  1. Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

Doctype声明位于文档中的最前面的位置,处于标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。该标签可声明三种DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

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

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

  1. 行内元素有哪些?块级元素有哪些?CSS的盒模型?

行内元素有:a b span I b em img input select strong

块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p

盒模型:margin border padding width

  1. CSS引入的方式有哪些? link和@import的区别是?

 

 

      1. 使用 LINK标签

将样式规则写在.css的样式文件中,再以<link>标签引入。

<link rel=stylesheet type=”text/css” href=”example.css”>

      1. 使用@import引入

跟link方法很像,但必须放在<STYLE>…</STYLE> 中

<STYLE TYPE=”text/css”>

<!–

@import url(css/example.css);

–>

</STYLE>

      1. 使用STYLE标签

将样式规则写在<STYLE>…</STYLE>标签之中。

<STYLE TYPE=”text/css”>

<!–

body {color: #666;background: #f0f0f0;font-size: 12px;}

td,p {color:#c00;font-size: 12px;}

–>

</STYLE>

      1. 使用STYLE属性

将STYLE属性直接加在个别的元件标签里,<元件(标签) STYLE=”性质(属性)1: 设定值1; 性质(属性)2: 设定值2; …}

      1. 使用<span></span>标记引入样式

<span style=”font:12px/20px  #000000;”>cnwebshow.com</span>

 

两者区别:加载顺序的差别。当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。@import可以在css中再次引入其他样式表,比如可以创建一个主样式表,在主样式表中再引入其他的样式表,如:

 

main.css

———————-

@import “sub1.css”;

@import “sub2.css”;

这样做有一个缺点,会对网站服务器产生过多的HTTP请求,以前是一个文件,而现在却是两个或更多文件了,服务器的压力增大,浏览量大的网站还是谨慎使用。

 

  1. CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
  • 通配选择符* { sRules }
  • 类型选择符E { sRules }
    td { font-size:14px; width:120px; }
  • 属性选择符
    E [ attr ] { sRules }
    E [ attr = value ] { sRules }
    E [ attr ~= value ] { sRules }
    E [ attr |= value ] { sRules }
    h[title] { color: blue; }/* 所有具有title属性的h对象 */
    span[class=demo] { color: red; }
    div[speed="fast"][dorun="no"] { color: red; }
    a[rel~="copyright"] { color:black; }
  • 包含选择符E1 E2 { sRules }
    table td { font-size:14px; }
  • 子对象选择符E1 > E2 { sRules }
    div ul>li p { font-size:14px; }
  • ID选择符 #ID { sRules }
  • 类选择符E.className { sRules }
  • 选择符分组
    E1 , E2 , E3 { sRules }
  • 伪类及伪对象选择符
    E : Pseudo-Classes { sRules }
    ( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]
    E : Pseudo-Elements { sRules }
    ( Pseudo-Elements )[:first-letter :first-line :before :after]

可以继承的有:font-size font-family color

不可继承的一般有:border padding margin background-color width height等

============================

http://www.html5css32.com/?p=37