Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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 为什么<;车身>;元素?_Html_Css - Fatal编程技术网

Html 为什么<;车身>;元素?

Html 为什么<;车身>;元素?,html,css,Html,Css,在我的大部分开发生涯中,我只需要涉足前端、基于web的UI开发。有一件事一直困扰着我,那就是经常需要重置基于浏览器的样式设置“假设”,直到这些默认设置开始影响我的页面布局,我才经常忘记这一点 大多数浏览器最大的假设是HTML元素应该有一个边距,几乎总是8px 这个默认保证金的设计决定是什么 事实上,此页边距非常不受欢迎,因此在包含在网站每个页面的.css文件中包含此类样式基本上是标准做法: html, body { margin: 0px; padding: 0px } 依我看,逻辑上

在我的大部分开发生涯中,我只需要涉足前端、基于web的UI开发。有一件事一直困扰着我,那就是经常需要重置基于浏览器的样式设置“假设”,直到这些默认设置开始影响我的页面布局,我才经常忘记这一点

大多数浏览器最大的假设是HTML
元素应该有一个边距,几乎总是8px

这个默认保证金的设计决定是什么

事实上,此页边距非常不受欢迎,因此在包含在网站每个页面的.css文件中包含此类样式基本上是标准做法:

html, body
{
    margin: 0px; padding: 0px
}
依我看,逻辑上大多数开发人员都想要一个完整的、空白的石板,他们可以根据自己的判断使用和格式化。在浏览器默认设置主体元素周围的边距的情况下,如果设计师不重置布局,则必须保持对间距的谨慎,并添加代码以计算其内部元素的正确布局


HTML浏览器的原始开发人员或最初的HTML规范是出于什么原因决定在所有主体元素上添加此默认边距的?

这可能是因为大多数开发人员都直接进入了构建网站和应用程序,而没有采取额外的步骤来确保主体边缘周围有适当的间距,这会使文本紧贴屏幕边缘


如果有经验的开发人员想要完全控制,他们应该采取额外的步骤来重置样式,但是我认为自动样式是两个缺点中较小的一个。想想所有使用GoDaddy或其他类似托管服务构建简单网站的人

语言最初是为独立工作而构建的。因此,您可以在技术上使用该特定语言来实现仅用于特定目的的目的。对于HTML,它只允许您在浏览器上显示某些内容。另一方面,CSS(你肯定知道),旨在创建所有的美化过程。因此,考虑到这一点,任何人都应该能够在没有任何CSS的情况下编写HTML文档,浏览器应该以最清晰的形式显示它。现在,为了使这种情况尽可能一致,浏览器有一种称为“正常默认值”的东西。这些默认值包括正文上的边距和填充、一些字体、最清晰的字体大小等,它们让您根据需要使用CSS进行覆盖

如果主体上没有边距和填充,所有内容都将完全刷新到浏览器窗口。如果您正在阅读文档,那么这不是最佳做法

编辑

下面的链接显示Firefox和Webkit CSS的默认设置。这将帮助您解决那些您不知道它们来自何处或存在原因的默认问题


我的猜测是,他们希望未经设计的页面看起来不那么难看,但这只是一种预感。因为贴在窗口边缘的字母可能很难阅读?不仅仅是正文、标题、段落,菜单都有一些默认样式…至于为什么…这是W3C的问题…而不是堆栈溢出。我投票以POB的形式关闭了它,因为“X人做Y有什么好的理由”最终是一个自以为是的问题,取决于旁观者认为“好”的东西。确实有原因,但即使是这些原因的答案也只能由供应商自己给出。。。而且他们不经常回答堆栈溢出问题。这是有道理的。你有任何参考资料,或者进一步讨论这些概念,或链接到旧的BBS讨论?我正在寻找它,因为我们说话。我记得不久前读过这篇文章。给我一分钟\@RLH-不幸的是,这些决定是在w3c讨论是私人的时候做出的。不是通过我们今天的公共渠道。但这是正确的——事实上,这是一个不需要动脑筋的问题——与现有网页的向后兼容性一直是一个重要的目标,当添加CSS时,默认设置是实现这一目标的必要条件。