2017-09-16 166 views
2

这通过验证:为什么在HTML/XHTML严格中允许输入大小属性?

<!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><title>Test</title></head> 
<body> 
<form action="get"> 
<p><input type="text" size="10" /></p> 
</form> 
</body> 
</html> 

一样HTML 4.01严格或XHTML 1.1下的等效。

size属性似乎纯属于我的表现形式。那么为什么W3C将它留在严格的(X)HTML中呢?

回答

0

不再有(正式)HTML的“严格”版本。然而,有两种不同的解析器:HTML解析器(松散)和XML解析器(严格)。为了使浏览器使用的XML解析器使用下面的PHP代码:

<?php 
if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml')) 
{ 
$mime = 'application/xhtml+xml; charset=UTF-8'; 
} 
else {$mime = 'text/html; charset=UTF-8';}//Unless IE6 or lower 
//IE6 or lower should only use 'text/html'. 
header('Content-Type: '.$mime); 
?> 

我相信,无论是这部分在早期90年代末监督背部或21世纪初如果它是不容易的size属性被感知为文本的大小,而不是input元素应呈现为的像素数量。也可能的是,如果它不被忽略,它可能是为了向后兼容的目的(某些浏览器可能没有size属性就没有工作)。

如果您希望最大化您的代码客户端代码的能力,我强烈建议转移到XHTML5。这是更详细的使用XML解析器呈现的HTML5。我的个人资料中的网站是一个现场环境,如果您还没有深入学习过程,那么您可能想知道如果不是所有您想知道的内容,都可以跳过更多的错误来演示

相关问题