当我添加<;!doctype html>;到我的页面,CSS不';似乎不起作用,页面看起来更糟

当我添加<;!doctype html>;到我的页面,CSS不';似乎不起作用,页面看起来更糟,css,internet-explorer,doctype,quirks-mode,Css,Internet Explorer,Doctype,Quirks Mode,我的问题是,在firefox和chrome上,我的网站在“怪癖”模式下看起来不错,但在IE中却不行。我意识到我应该在页面的开头添加内容,然后从那里开始——但当我这样做时,所有浏览器中的网站看起来都一样,但不是我想要的那样 这是我的网站,这是我的网站的怪癖,这是我希望它的样子(在chrome/firefox中) 这是我的CSS的问题吗?我已经验证了它,没有发现任何错误 这是我的CSS:问题是(正如你在标签中正确猜测的那样)一种叫做怪癖模式的东西 如果您编写的站点没有doctype,浏览器将以怪癖模

我的问题是,在firefox和chrome上,我的网站在“怪癖”模式下看起来不错,但在IE中却不行。我意识到我应该在页面的开头添加内容,然后从那里开始——但当我这样做时,所有浏览器中的网站看起来都一样,但不是我想要的那样

这是我的网站,这是我的网站的怪癖,这是我希望它的样子(在chrome/firefox中)

这是我的CSS的问题吗?我已经验证了它,没有发现任何错误

这是我的CSS:

问题是(正如你在标签中正确猜测的那样)一种叫做怪癖模式的东西

如果您编写的站点没有doctype,浏览器将以怪癖模式呈现它。这基本上是一种模拟模式,让浏览器假装是旧浏览器,以便与旧网站兼容

没有简单的方法可以解决这个问题:如果你设计的网站在怪癖模式下看起来很好,那么你就做错了,你必须修复它

把它留在怪癖模式不是一个选项,因为IE在这个模式下呈现不同于其他人;在其他浏览器中,无论是否使用doctype,您的站点都会显得不完整

抱歉告诉你一个坏消息

怪癖模式和标准模式的主要区别在于“盒子模式”。这定义了如何根据框的宽度和高度处理边距和边框。在“怪癖”模式下,边距和边框位于框内,因此
宽度
是框所占的整个空间,而在标准模式下,边距和边框添加在框外,因此框所占的总空间是
宽度
加上两侧的
边距
边框
。这显然对页面布局有很大影响。还有其他不同之处,但这是给你带来最多问题的地方

有一个CSS特性叫做。这允许您在上述两种模式之间切换长方体模型,同时保持标准模式

这实际上是一个完美的解决方案:您只需简单地放置
框大小:边框框编码到CSS中(使用
*
选择器),并解决问题

不幸的是,
框大小调整
仅在较新版本的IE中受支持。如果您需要支持IE6或IE7,那么您就倒霉了。如果您的最低浏览器是IE8,那么您可以使用它,这将解决您的大多数怪癖模式布局问题。不是所有的,但大多数

希望这能有所帮助。

问题在于(正如您在标签中正确猜测的那样)一种叫做怪癖模式的东西

如果您编写的站点没有doctype,浏览器将以怪癖模式呈现它。这基本上是一种模拟模式,让浏览器假装是旧浏览器,以便与旧网站兼容

没有简单的方法可以解决这个问题:如果你设计的网站在怪癖模式下看起来很好,那么你就做错了,你必须修复它

把它留在怪癖模式不是一个选项,因为IE在这个模式下呈现不同于其他人;在其他浏览器中,无论是否使用doctype,您的站点都会显得不完整

抱歉告诉你一个坏消息

怪癖模式和标准模式的主要区别在于“盒子模式”。这定义了如何根据框的宽度和高度处理边距和边框。在“怪癖”模式下,边距和边框位于框内,因此
宽度
是框所占的整个空间,而在标准模式下,边距和边框添加在框外,因此框所占的总空间是
宽度
加上两侧的
边距
边框
。这显然对页面布局有很大影响。还有其他不同之处,但这是给你带来最多问题的地方

有一个CSS特性叫做。这允许您在上述两种模式之间切换长方体模型,同时保持标准模式

这实际上是一个完美的解决方案:您只需简单地放置
框大小:边框框编码到CSS中(使用
*
选择器),并解决问题

不幸的是,
框大小调整
仅在较新版本的IE中受支持。如果您需要支持IE6或IE7,那么您就倒霉了。如果您的最低浏览器是IE8,那么您可以使用它,这将解决您的大多数怪癖模式布局问题。不是所有的,但大多数


希望这能有所帮助。

网页html的链接似乎已断开。你是说你一直在设计没有doctype的网站吗?是的,我设计的网站没有doctype,然后添加doctype时,它看起来不正确。哦,是的,链接不起作用,我现在要编辑它们。指向页面html的链接似乎已断开。你是说你一直在设计没有doctype的网站吗?是的,我设计的网站没有doctype,然后当我添加doctype时,它看起来不正确。哦,是的,链接不起作用,我现在就编辑它们。这是否意味着在CSS的开头添加*{box size:border box;}?或添加框大小:边框框;每一个元素?我已经添加了*{box size:border box;}并且在www.biolonline.co.uk/doctype.php上没有区别-如果这个框大小可以解决问题,那就太好了@user1527487:是,
*{box size:border box;}
应该可以工作。不过,它不会修复quirksmode的所有错误,所以您真正的问题仍然存在。您尚未指定要使用哪个版本的IE进行测试;请注意,在IE8之前的版本中,框大小调整不起作用。(如果它是IE8,请检查它是否处于IE8模式,而不是IE7兼容模式,这将使事情进一步复杂化,并阻止框大小调整工作)我正在使用IE9。然而,我添加了这个,没有什么区别(没有什么好的区别)——na