gpt4 book ai didi

html - 为什么浏览器会在所有网页中设置预定义的边距样式?

转载 作者:太空狗 更新时间:2023-10-29 14:53:32 26 4
gpt4 key购买 nike

为什么所有浏览器在 <body> 上设置任意大小的边距所有网页的元素?* 我对此并不感到惊讶,因为我制作网页已经很多年了,但我只是假设它是规范的一部分,就像 <strong> 中的文本一样应该大胆。但是,如 HTML5 中所示, HTML 4.01 , HTML 4.0 , HTML 3.2 ,甚至 HTML 2.0the RFC Definition ,甚至从未提及默认样式!

我找不到 2.0 之前的任何 HTML 定义,该版本于 1995 年发布,所以为什么所有浏览器都会插入非常具体的 8px所有网页上的边距*,尤其是现在每个网站都在 CSS 的前几行中删除它(甚至 HTML 4.01 spec's stylesheet 这样做)或规范化/重置样式表?当然,有人可能会争辩说,像上面列出的 HTML 3.2 规范这样的古老网站依赖于此,但如果没有边距,它们看起来确实不错(尝试使用浏览器检查器将其删除)。

*** “所有浏览器”是指 所有 Chrome、Firefox、IE、Opera 和 Safari 版本,包括所有相关的过时版本、beta、alpha 和 nightlies,截至这个问题。

最佳答案

浏览器必须具有某些 类型的默认呈现(作者样式表在首次引入 HTML 时不存在,但今天仍然是可选的额外功能)。

如果 body/html 上没有边距/填充,那么文本会靠在窗口边框和工具栏上,在那里很难阅读(这对于默认呈现来说是一个糟糕的选择)。

why would all browsers insert the very specific 8px margin on all webpages

“但它在 Netscape 中看起来不一样”是一个常见的提示。浏览器相互复制默认呈现,以补偿作者编写页面时只考虑一种浏览器的情况。

where every website removes it in the first few lines of CSS

并非每个网站都如此。对于将包含样式表的网站来说,这是一种常见(但不普遍)的做法,但并非所有网站都这样做。

关于html - 为什么浏览器会在所有网页中设置预定义的边距样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19567547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com