我只是好奇为什么<center>
不赞成使用HTML中的标记。
<center>
通过将容器封装在<center>
标签中,这是一种快速居中对齐文本和图像块的简单方法,我现在真的找不到任何更简单的方法。
任何人都知道如何使“东西”居中(不是margin-left:auto; margin-right:auto;
和宽度东西居中)的任何简单方法<center>
吗?而且,为什么不推荐使用它?
我只是好奇为什么<center>
不赞成使用HTML中的标记。
<center>
通过将容器封装在<center>
标签中,这是一种快速居中对齐文本和图像块的简单方法,我现在真的找不到任何更简单的方法。
任何人都知道如何使“东西”居中(不是margin-left:auto; margin-right:auto;
和宽度东西居中)的任何简单方法<center>
吗?而且,为什么不推荐使用它?
Answers:
该<center>
元素已弃用,因为它定义了其内容的表示形式 —它未描述其内容。
居中的一种方法是将元素的margin-left
和margin-right
属性设置为auto
,然后将父元素的text-align
属性设置为center
。这保证了该元素将在所有现代浏览器中居中。
margin
和都text-align
没有将我的元素居中,但是用它包装起来<center>
确实有效……我将尝试查找一个示例。
display: block;
内联元素。
中心元素在HTML 4.01中已被弃用,XHTML 1.0 Strict DTD不支持该元素。
在HTML 4.01规范给出了这样的理由弃用标签:
CENTER元素与将align属性设置为“ center”的DIV元素完全等效。
有时我仍然使用<center>标记,因为CSS中的任何内容都无法正常工作。尝试使用<div>技巧失败的示例:
<div style="text-align: center;">This div is centered, but it's a simple example.</div>
<br />
<div style="text-align: center;"><table border="1"><tr><td><div style="text-align: center;"> didn't center correctly.</td></tr></table></div>
<br />
<div style="text-align: center;margin-left:auto;margin-right:auto"><table border="1"><tr><td><div style="text-align: center;margin-left:auto;margin-right:auto"> still didn't center either</td></tr></table></div>
<br />
<center><table border="1"><tr><td>Actually Centered with <center> tag</td></tr></table></center>
<center>获得结果。要改为使用CSS,有时必须将CSS放在多个位置并弄乱它,以使其居中。为了回答您的问题,CSS已成为一种信徒和追随者的宗教,他们为自己的工作安全而避开<center> <b> <i> <u>亵渎,邪恶和过于简单。如果他们试图把您的<table>拿走,请问他们colspan或rowspan属性的CSS等效项是什么。
重要的不是抽象的或书呆子的真理,而是活泼的真理。
-禅
display:flex; justify-content:center; text-align:center
如果愿意,您仍然可以将其与XHTML 1.0 Transitional和HTML 4.01 Transitional一起使用。唯一的其他方法(我认为最好的方法)是使用边距:
<div style="width:200px;margin:auto;">
<p>Hello World</p>
</div>
您的HTML应该定义元素,而不是控制其表示形式。
标记(即HTML标记)旨在表示含义和结构,而不是外观。在早期的HTML版本中,它的使用方式非常混乱,但是现在人们正在努力清理这些标准。
让标签控制外观的一个问题是,您的页面在屏幕阅读器等残障人士设备上无法正常播放。这还会导致文本中有很多标签,这些标签无助于阐明含义,而是使它们混杂了不同级别的信息。
因此,人们认为CSS可以将格式设置/显示切换到另一种语言,该语言与文本不同,可以很容易地保持这种方式。除其他外,这允许切换样式表来更改网页的外观,而无需触摸其他标记。并能够一口气在很多页面上做到这一点。
CSS为您提供的工具并不总是那么优雅,我在您身边。例如,无法进行有效的垂直居中。而水平居中,如果不仅仅是文本适合的话text-align
,也不会更好。
您可以选择轻松,有效,混乱或干净,优雅而繁琐的选择。我不明白为什么Web开发人员会忍受这种混乱,但是我想他们很高兴至少有机会完成他们的工作。
对于文本和图像,您可以使用text-align
:
<div style="text-align: center;">
I'm centered.
</div>
CSS具有text-align: center
属性,并且由于这纯粹是视觉的东西,而不是语义的东西,因此应该将其降级为CSS,而不是HTML。
text-align
会对齐容器的内容,而不是对齐容器本身
text-align: center
在其父元素上使用。
<center>
做两个。它令人讨厌。
值得深思:文本到语音合成器会做<center>
什么?
您可以将此添加到您的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;
}
center
是其中之一。center
标签是不一样的,与一个div text-align:center
;让我解释一下,因为这里有臭名昭著的反对者,他们会认为我在捍卫老式HTML4之类的东西。不,我不是。但是周围的争论center
仅仅是一场趋势战争,没有真正的理由放弃一个可以很好地发挥作用的标签。
因此,让我们看看反对它的主要论点。
“它描述的是表达方式,而不是语义!”
不,它描述了一个合乎逻辑的安排-是有一个默认的外观,就像其他标签,如<p>
或<ul>
做。但是重点是封闭部分与周围环境的关系。中心说:“这是我们通过视觉上不同的位置分开的东西”。
“无效”
是的。它已被弃用,因为稍后可以将其删除。至今已有15年以上。显然,它没有任何进展。有很多主要的网站都使用此标签,因为它非常易读并且很重要。
“ HTML5不支持
它 ”实际上是最广泛支持的标签之一。
“这是老式的”
鞋带也是老式的。新方法不会使旧方法无效。您想感受到进步和现代感:很好。但是不要把它变成法律。
“这很愚蠢/尴尬/ la脚/讲述了一个关于你的故事”
这些都不是。就像锤子一样:一种用于特定工作的工具。对于同一工作还有其他工具,对于同一工具还有其他工作。但是它是为解决某个问题而创建的,并且该问题仍然存在,因此我们不妨仅使用专用的解决方案。
“您不应该这样做,因为CSS。”
居中绝对可以通过CSS来实现,但这只是一种方法,不是唯一的方法,更不用说唯一合适的方法了。任何支持,工作和可读的内容都应该可以使用。
不使用的唯一原因
<center>
是因为人们会讨厌您。