以HTML格式居中文本

时间:2009-05-08 20:50:35

标签: html coding-style

我一开始知道这似乎是一个非常愚蠢的问题,但我有充分的理由要求它。即使我可能只是被误导了。

对于我来说,我一直在使用<center>Text</center>标签让文字显示为水平居中。

显然此标记已折旧,不再使用。所以我尝试使用<p align="center">Text</p>虽然看起来有些错误但我已经读过它在所有浏览器中都不起作用。

最重要的是,当我在<h#>标记中有标题<p>标记时,还存在验证问题。

关键是,我想做到这一点,尽管中心标签是可以忍受的,但显然不是最好的方法。为什么它被折旧了?你有什么选择?老实说,我不知道从哪里开始。

P.S。问这个问题会让我内心痛苦。

EDIT ::

即使在使用接受的答案时也是如此;

<p style="text-align:center"></p>

我无法在<h>标记中居中<p>个标记。我试过并读到<h# align="center">在所有浏览器中都不起作用,我尝试将样式应用于标题标签但没有用。你觉得怎么样?


15 个答案:

答案 0 :(得分:12)

需要在CSS中声明文本对齐方式。您可以在文件顶部的CSS部分,单独的文件或元素本身中执行此操作。最简单的方法是后者(注意,这种方法通常不被认为是一种好的做法):

<p style="text-align: center">Text</p>

如果你想把它放在html文件的顶部,它将如下所示:

<head>
<style type="text/css"> 
<!-- 
p.centered
{
  text-align:center;
}

--> 
</style>
</head>
<body>
...
  <p class="centered">Text</p>
</body>

最好的方法是拥有一个包含CSS的单独的CSS样式表。然后,在html的<head></head>部分中添加指向CSS的链接:

<head>
<link href="path/to/file/name.css" rel="stylesheet" type="text/css" />
</head>

答案 1 :(得分:2)

<p style="text-align:center;">Some Text Here</p>

这将为您解决问题

答案 2 :(得分:2)

政治上正确的做法是CSS。

尝试做类似的事情:

<p style="text-align:center">Text</p>

甚至更好,使用CSS样式表。

实际上,你也不应该使用内联CSS,它就像马虎一样。您可以为所有<p>代码定义样式,或者附加类似<p class="header"的类,并在CSS中定义header类,如:

p.header { text-align: center }

这样,您的样式就会与HTML分离,从而生成更清晰的HTML文件。

答案 3 :(得分:2)

尝试<p style="text-align: center;">Text</p>

或在您的HTML顶部,您可以声明:

<style type="text/css">
.center { text-align: center; }
</style>

然后才应用该课程:

<p class="center">Text</p>

请记住text-align css属性适用于块元素。

答案 4 :(得分:2)

要解决隐含的第二个问题,请在有&lt; h#&gt;时验证问题。在&lt; p&gt;内是因为HTML 4.0和XHTML中不允许在段落中嵌套标题。

为了阐述,标题和段落是语义概念,旨在通知文档的结构,而不是暗示其内容的外观(授予它们,默认情况下它们看起来不同,但这不是它们的用法)。因此,标题不应包含在段落中。

如果您的实现要求在段落中嵌套标题,您可能需要重新考虑您尝试完成的方法。如果意图在结构上指出“这是一个标题”,请考虑为什么标题将在段落内。如果意图是使段落中的某些文本看起来不同,那么您可能希望使用其中一个inline元素(例如span或em)以及相关的CSS样式。

答案 5 :(得分:2)

关于<h#>标记中的<p>标记,这确实是一个验证问题。

<h#>标记用于标记标题。 <p>标记用于标记段落。

所以,如果我在标记你的问题,我可能会这样开始:

<h2>Centering Text in HTML</h2>

<p>I know at first this seems like a very stupid question, but I have a good reason for asking it. Even though I might just be misled.</p>

如果我希望标题居中对齐,我会再次使用CSS:

<h2 style="text-align: center;">Centering Text in HTML</h2>

<p>I know at first this seems like a very stupid question, but I have a good reason for asking it. Even though I might just be misled.</p>

答案 6 :(得分:1)

如果您想要中心文字,可以使用“text-align:center”css声明来完成:

<div style="text-align:center;">Centered Text</div>

如果你想要一个元素居中,你会给它一个宽度并设置“margin:0 auto”,如下所示:

<div style="width: 100px; margin: 0 auto;>whole div will be centered</div>

答案 7 :(得分:1)

除了将样式与内容分离(......或不分离)的问题之外,值得一提的是HTML中的“官方”弃用并不意味着它不能像它那样有效。 鉴于浏览器的工作方式和开发方式,您的中心标记将继续工作一段时间,可能直到使用HTML本身。 : - )

也就是说,如果您认为这是正确的事情,请更改它,但如果您认为它不再起作用则不会。另外:如果它有效,可以将其删除,而替代方案则不行......好吧,我不会自己更改它。

答案 8 :(得分:0)

呵呵,好吧,它并不像看起来那么容易。我通常做的是在div中包含所有文本,然后使用“text-align”css标记。至于中心标签,不知道。

祝你好运: - )

答案 9 :(得分:0)

我知道你在问题中指定了“HTML”,所以这可能不是你要问的......但是你考虑过CSS样式:

style="text-align:center;"

style="margin-left:auto;margin-right:auto;"

答案 10 :(得分:0)

高度建议您阅读Andy Budd的CSS Mastery。这是一本很棒的书,快速阅读,它肯定会改变你对如何查看CSS的看法。

鉴于您对CSS的评论,我认为您会从本书中获得很多。

答案 11 :(得分:0)

它已被弃用,因为它是一种无法动态控制的样式。它也不允许您将标记与您的风格分开。

文字只能在其所在的框元素中居中,因此您想要居中的文字必须位于&lt; p&gt;中。或者&lt; div&gt;或者&lt; td&gt;等。例如,您不能将文本居中。

text-align是替换

的css属性

您的其他问题似乎得到了充分的回答。

答案 12 :(得分:0)

处理此问题的最佳和最通用的方法是您的&lt; p为H.要从父类继承的标记,如下所示:

<style>
.paragraph p{
    text-align: center;
}
</style>

<div class="paragraph">
   <p>Text</p>
</div>

这样,当您希望稍后以不同方式设置网站样式时,您就拥有了一个集中位置来更改所有&lt; p为H. “paragraph”类中的标签,不必单独更改。

答案 13 :(得分:0)

您应该转换为CSS样式。 HTML / XHTML旨在纯粹用于内容。

<p style="text-align: center;">Paragraph Text</p>

此外,我认为<h#>代码不应嵌套在<p>代码中。

有关详细信息,请参阅w3schools.com

答案 14 :(得分:0)

<head>
    <style type="text/css"> 
    <!-- 

    div.content,
    div.content h1,
    div.content h2,
    div.content h3,
    div.content h4,
    div.content h5,
    div.content h6 {
        text-align:center;
    }
    --> 
    </style>
</head>
<body>
  <div class="content"><h2>Text</h2></div>
</body>

如果您希望h标签也居中,并且它们是正确的,您可以这样做......不要将H标签放在P标签中。