我只是好奇为什么HTML中的<center>标记被弃用了。

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

有人知道任何简单的方法如何居中“东西”(不是左边距:auto;margin-right:汽车;width),替换<center> ?还有,为什么它被弃用了?


当前回答

标记,即HTML标记,表示含义和结构,而不是外观。它在早期版本的HTML中被严重混淆,但现在标准的人们正试图清理它。

让标签控制外观的一个问题是,您的页面不能很好地使用针对残疾人的设备,例如屏幕阅读器。这也会导致在你的文本中有很多很多的标签,这些标签不能帮助阐明意思,而是用不同层次的信息使它变得混乱。

因此,CSS被认为是将格式/显示转移到不同的语言,这与文本是分开的,可以很容易地保持这种方式。其中,这允许切换样式表来更改Web页面的外观,而不涉及其他标记。而且能够做到在一个膨胀的foop很多页。

CSS提供的工具并不总是很优雅,我站在你这边。例如,没有办法进行有效的垂直定心。水平居中,如果它不仅仅是文本符合文本对齐,也不会好到哪里去。

你可以选择简单、有效、混乱,也可以选择干净、优雅、繁琐。我不明白为什么Web开发人员要忍受这种混乱,但我猜他们很高兴至少有机会完成他们的工作。

其他回答

如果您愿意,您仍然可以将其用于XHTML 1.0 Transitional和HTML 4.01 Transitional。唯一的另一种方法(在我看来最好的方法)是使用边缘:

<div style="width:200px;margin:auto;">
  <p>Hello World</p>
</div>

HTML应该定义元素,而不是控制它的表示。

CSS有一个text-align: center属性,因为这是一个纯粹的视觉东西,而不是语义,它应该归为CSS,而不是HTML。

您可以将此添加到您的css中,并使用<div class="center"></div>

.center{
  text-align: center;
  margin: auto;
  justify-content: center;
  display: flex;
}

或者如果你想保留<center></center>,并为它被删除做好准备,将其添加到你的CSS中

center{
  text-align: center;
  margin: auto;
  justify-content: center;
  display: flex;
}

我所做的是采取常见的任务,如居中或浮动,并从中创建CSS类。当我这样做时,我可以在任何页面中使用它们。我还可以在同一个元素上调用任意多个函数。

.text_center {text-align: center;}
.center {margin: auto 0px;}
.float_left {float: left;}

现在我可以在HTML代码中使用它们来执行简单的任务。

<p class="text_center">Some Text</p>

发人深思:文本-语音合成器使用<center>会做什么?