为什么 <center> 标签在 HTML 中被弃用?

新手上路,请多包涵

我很好奇为什么不推荐使用 HTML 中的 <center> 标记。

<center> 是一种通过将容器封装在 <center> 标签中来快速居中对齐文本和图像块的简单方法,我真的找不到任何更简单的方法来实现它现在。

任何人都知道如何将“东西”(不是 margin-left:auto; margin-right:auto; 和宽度的东西)居中的任何简单方法,取代 <center> 的东西?而且,为什么它被弃用了?

原文由 Andreas Grech 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 537
2 个回答

<center> 元素已弃用,因为它定义了其内容的 呈现 方式——它不描述其内容。

One method of centering is to set the margin-left and margin-right properties of the element to auto , and then set the parent element’s text-align property到 center 。这保证了该元素将在所有现代浏览器中居中。

原文由 Jordan Ryan Moore 发布,翻译遵循 CC BY-SA 3.0 许可协议

最不受欢迎的答案

  1. 不推荐使用的标签不一定是 标签;
  2. 有处理表示逻辑 标签, center 就是其中之一;
  3. A center 标签与带有 text-align:center 的 div 不同;
  4. 事实上,你有 另一种 方法来做某事并不会使它无效。

让我解释一下,因为这里有臭名昭著的反对者,他们会认为我在捍卫老派的 HTML4 之类的东西。不,我不是。但围绕 center 的争论只是一场趋势战争,没有真正的理由放弃一个很好地服务于有效目的的标签。

因此,让我们看看反对它的主要论据。

  • “它描述的是表示,而不是语义!”

不,它描述了一种逻辑排列 - 是的,它具有默认外观,就像 <p><ul> 等其他标签一样。但重点是封闭部分与其周围环境的关系。中心说“这是我们通过视觉上不同的定位来区分的东西”。

  • “这是无效的”

是的。它只是被弃用了,如 could be removed later 。 15 年多了。显然,它不会去任何地方。有一些主要网站(包括 google.com)使用此标签,因为它非常易读且切中要害 - 这与我们喜欢 HTML5 标签的原因相同。

  • “它在 HTML5 中不受支持”

实际上,它是最 广泛支持 的标签之一。 MDN 说“不鼓励使用它,因为它可以随时删除”——好点,但引用经典的话, _那一天可能永远不会到来_。 Center 在 2004 年左右就已被弃用 - 它仍然存在并且仍然有用。

  • “这是守旧派”

鞋带也很老派。新方法不会使旧方法失效。您想感觉进步和现代:很好。但是不要让它成为法律。

  • “这很愚蠢/笨拙/蹩脚/讲述了一个关于你的故事”

都不是。它就像一把锤子:一种用于特定工作的工具。同一个工作有其他工具,同一个工具有其他工作;但它是为了解决某个问题而创建的,而这个问题仍然存在,所以我们不妨使用一个专用的解决方案。

  • “你不应该这样做,因为 CSS”

CSS绝对可以实现居中,但这只是一种方式,不是唯一的方式,更谈不上是唯一 合适 的方式。任何 受支持、工作和可读 的东西都应该可以使用。此外,同样的争论发生在 flexboxes 和 CSS grids 之前,这很有趣,因为当时没有 CSS 方法来实现 center 所做的事情。不, text-align:center 不一样。不, margin:auto 不一样。任何在 flexbox 之前反对中心标签的人都对 CSS 了解不够。

长话短说:

不使用 <center> 的唯一原因是人们会讨厌你。

原文由 dkellner 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题