不同浏览器中的边距,填充和宽度之间有什么关系?
时间:2020-03-06 14:31:32 来源:igfitidea点击:
CSS width值=显示里面的宽度?
或者
CSS宽度值=内部显示宽度+ CSS左空白+ CSS右空白?
解决方案
我们必须使自己熟悉CSS Box模型。它说明了填充,边距,边框以及宽度在哪里工作。
但是请注意,不同的浏览器实现此问题的方式有所不同:最值得注意的是,Internet Explorer出现了一个框模型错误(此错误在IE6中存在-我不知道此问题是否已在IE7或者IE8中修复),从而导致了著名的"怪癖模式" CSS hack。
简而言之,Internet Explorer将其框模型设置为在计算宽度时包括填充,这与正式标准相反,在正式标准中,宽度仅应构成内容。
它不仅取决于我们选择的浏览器和版本,还取决于html文档的doctype。例如,"怪癖模式"下的Internet Explorer与文档类型为XHTML 1.0 Transitional的Internet Explorer完全不同。
正如其他人提到的那样,经验法则是CSS盒子模型。通常,此功能可以在Opera,Firefox和Safari等浏览器上宣传。 Internet Explorer是例外,其中"宽度"包括边距,边距和边框。
有一些很棒的工具可以直观地描述浏览器如何呈现内容。对于Firefox,请检查Firebug,对于Internet Explorer,请检查开发人员工具栏。
在这里,我们可以看到一个动画图,它"爆炸"了盒子。
我认为版本6之前的IE错误地包含边框和宽度和高度的填充。请参阅:Microsoft承认IE 5陷入困境