正 文

Mozilla 网站设计常见问题


www.7dspace.com  更新日期:2006-1-9 4:09:30  七度空间


Q:我设定的样式没有用!为什么会这样?

以下是一份检查清单:

      该 HTML 文件是否能通过验证?CSS 在标签大杂烩中可起不了作用。
            <link> 跟 <style> 元素都应该在 <head> 元素的内部出现。

      该 CSS 样式是否能通过语法检查?
            所有非 0 的数字后面都该附加适当的单位,数字及单位之间不含空格符(例:1.2em)。
            属性名称及属性值之间该放的是「冒号」而非「等号」。
            .css 的档案中不该出现任何 HTML 标签(像是 <style>)。
            font-face 并非 CSS 的属性之一,正确的属性名称是「font-family」而 @font-fact 属于 at-rule。
            如果你使用了 @import,则应该将其置放在 CSS 档案的最上头。

      该 CSS 档案的 HTTP 档头中「Content-Type」一项是否为「 text/css 」?
            在「标准」布局模式中,只有标示为「text/css」的档案才能被视为 CSS 样式表。
            Web sniffer 可以帮你检查档案的 HTTP 文件头信息。

      样式类别(class)及 ID 名称都有大小写之别(case-sensitive)。

      在 XML 中,element selector(译注: Type selector)有大小写之别。

      样式表的处理指令(processing instruction)只能出现于 XML 檔的前言(prolog)之中,另外它们也只能在 XML 档案中使用,而不能用于标示为「text/html」的档案。

      宽(width)及高(height)不能套用在 inline 的元素上(如预设的 <span>)。(译注:表示如果 <span> 的 display 设定为 block 则不在此限。)

      「text-align: center;」是将某个区块(block)内的 inline 内容置中,而不是(也不该是)用来将区块本身置中的。要将区块置中,可以将「margin-left」及「margin-right」属性设定为 auto,并将「width」指定一数值、让该区块比其容器区块(containing block)来得小即可。

当然也可能(虽然机会不大)是你碰上了程序错误,这里有份加注 Mozilla 程序错误的 CSS1 规格书。

Q:图层(Layer)没用!为何会这样?

<layer> 是个特有的扩充卷标,并非 HTML 规格的一份子。我们不支持 <layer> 卷标,请改用 <div> 标签。

Q:JavaScript 没用!为何会这样?

有些 document 对象的属性如 document.all 与 document.layers 并非 W3C DOM 标准的一份子。Mozilla 不支持它们,请改用 document.getElementById() 方法。

此外,某些老旧的浏览器侦测程序(client sniffer)会将新浏览器排除在外。公用 API(W3C DOM)的目的在于互通(interoperability),再额外侦测出不支持此公用 API 的特定浏览器。当使用 DOM 时,最好先检查一下你想用的对象及方法。举例而言,你可以用如下方式检查浏览器是否支持 document.getElementById():

代码:

if(document.getElementById) {
  /* 在此放置支持 document.getElementById() 时所要执行的�{式码 */
}

4页,页码:[1] [2] [3] [4] 

上一篇:用 PHP 解析邮件中的标题、发件人等信息的编码
下一篇:关于文件对象模型(DOM)
作者:BobChao  来源:Mozilla@Taiwan ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐