2014-09-03 52 views
2

我正在玩弄doctypes为我找到最好的一个。我正在考虑严格使用XHTML 1.0,因为它不应该接受已弃用的元素和属性。 要测试的行为,我创建了一个HTML页面,内容如下:XHTML 1.0 Strict - div align =“center”仍在工作吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1 /DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title></title> 
</head> 
<body> 
    <div align="center"> 
     Some Text 
    </div> 
</body> 
</html> 

当我打开这与Firefox的div有100%的宽度(这是确定)和它的文本对齐中心(这是不行,对齐属性不应该工作了)。

有人可以解释为什么会发生这种情况吗?我是否做错了什么或者是一些被弃用的属性仍然在严格模式下被接受?

+1

如果您想避免过时的HTML功能,请使用HTML 5.XHTML 1.0非常旧(并且附录C规则很烦人)。 – Quentin 2014-09-03 09:38:52

回答

3

Doctype切换触发标准模式与强制缺乏对已弃用/已删除属性的支持无关。它所具有的大部分效果都是在CSS支持中禁用模拟错误(例如错误地处理width并假设整数值是像素值)。

使用validator检测何时使用已弃用的HTML功能。

+1

谢谢。这是我搜索的答案。现在我用W3C验证程序测试了TRANSITIONAL和STRICT。在TRANSITION中,它不会将align =“center”标记为错误,但是在STRICT中它确实存在。完美:) – Undercover1989 2014-09-03 09:58:55