Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何修复<;部门>;firefox的宽度?_Html_Css - Fatal编程技术网

Html 如何修复<;部门>;firefox的宽度?

Html 如何修复<;部门>;firefox的宽度?,html,css,Html,Css,在下面的div中,宽度为675 宽度:675px是iNet explore 8和9中的工作电流 购买firefox和google chrmo屏幕宽度2倍。。为什么会这样 如何修复firefox和google chrmo中的675 <div style="width: 675px; height: 50px;border: 1px solid red" > </div> 您的doctype声明是什么?如果它在IE中处于怪癖模式,它将边界作为宽度的一部分计算,因为这是

在下面的div中,宽度为675

宽度:675px是iNet explore 8和9中的工作电流

购买firefox和google chrmo屏幕宽度2倍。。为什么会这样

如何修复firefox和google chrmo中的675

<div  style="width: 675px; height: 50px;border: 1px solid red"  >

</div>

您的doctype声明是什么?如果它在IE中处于怪癖模式,它将边界作为宽度的一部分计算,因为这是IE的历史行为

尝试添加HTML5doctype声明

<!doctype html>


因为这将触发任何浏览器中的标准模式。

尝试以百分比.ed表示宽度;width=50%

Firefox实际上显示了正确的行为。框的定义应该是它们所包含的内容有多大,而不是它们在页面上的大小。根据规格,“长方体模型计算”指出,具有指定样式的长方体应为675+(50 X 2)+(1 X 2)像素宽,这样在页面上显示的长方体宽度为777像素,内部空间足以容纳675像素宽的物体

然而,微软凭借其无限的智慧,决定只忽略规格,而是将框的宽度设为675-(50 X 2)-(1 X 2)像素,结果是框的宽度为675像素,但只能容纳573像素宽的内容。这违反了W3C规范,并导致了您遇到的互操作性问题

微软后来发现了他们的错误,并采用了W3C box模型,但为了保持向后兼容性,他们引入了一些规则,试图确定是使用正确的box模型,还是使用古怪的box模型(分别称为strict/standards模式和quirks模式)

一般的经验法则是,如果文档顶部没有包含doctype,或者包含格式不正确的doctype,那么浏览器将进入怪癖模式,并使用不正确的box模型。如果在文档顶部放置格式良好的doctype,浏览器将进入标准模式并使用W3C box模型

这里的一个大例外是InternetExplorer6。如果您使用的是XHTML并包含XML前言,那么IE6将始终进入Quirks模式,而不管doctype如何

以下doctype将触发严格模式:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> (HTML 4)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> (XHTML 1.0 strict)
<!DOCTYPE html> (HTML 5)
(HTML 4)
(XHTML 1.0严格要求)
(HTML 5)

通常认为最好的做法是尽可能避免怪癖模式,以避免未来的互操作性问题。因此,您应该尝试在创建的每个页面中包含标准模式doctype。但是要小心,如上所述,如果您使用XHTML文档类型,IE6仍然会引起令人不快的意外,因为这些文档类型需要XML包装器,而且无论您使用什么文档类型,包装器都会触发怪癖模式

我没有使用,有没有可能的方法不使用?你应该使用doctype来解决。正如Alex所说,是边界宽度在起作用。您可以将宽度2px设置得更小,并使用条件注释来添加更大的宽度。您是否有意使用怪癖模式?如果不是,但您希望避免使用HTML5 doctype,请使用其他doctype之一:-也许HTML4.01过渡版是一个不错的选择?如果您没有维护遗留代码,我想不出不使用标准模式下显示的doctype的理由。怪癖模式被称为怪癖模式,因为它是。。。古怪的。(打哈欠)+1,但你真的不必这么啰嗦。只需将他们指向相关位置,即所有内容或文章,然后完成。OP显然不感兴趣。。。