How to Center Text in HTML: A Step-by-Step Guide for Beginners

By Cristian G. Guasch •  Updated: 09/18/23 •  8 min read

Centering text in HTML can often feel like trying to solve a puzzle. But don’t worry, I’ve got you covered. With my guide, you’ll be able to center your web content like a pro in no time.

First things first, HTML (Hyper Text Markup Language) is the standard language for creating web pages and web applications. It’s what we use to structure content on the internet. And when it comes to formatting this content – such as making sure our text is dead in the middle of our website – there are several ways to achieve this.

Now, whether you’re just starting out with coding or if you’re looking for a quick refresher, I’m here to simplify things for you. Let’s dive into how we can make your text hit that sweet spot right in the center!

Understanding HTML Text Alignment

First off, let’s talk about the basics. HTML, or HyperText Markup Language, is the backbone of most web pages. It provides structure to our content and helps us arrange it visually for our users. A critical part of this visual arrangement is text alignment.

To get a handle on centering text in HTML, we’ll need an understanding of properties and values. In CSS (Cascading Style Sheets), which works hand-in-hand with HTML, ‘text-align’ is the property we use to control alignment. The values that this property accepts are ‘left’, ‘right’, ‘center’, and ‘justify’. To center our text, you’d guess right if you’re thinking we’ll use the ‘center’ value!

Let’s dive into some examples for a clearer picture:

<p style="text-align:center;">Hello World!</p>

In this snippet above, we’ve got a paragraph (<p>) element whose content (“Hello World!”) will be centered on your webpage because of the style="text-align:center;" attribute-value pair.

Now suppose you want all paragraphs in your page to be centered without having to repeat style="text-align:center;" each time? That’s where external CSS comes in handy! Here’s how it looks:

p {
  text-align: center;
}

This piece of CSS code will make sure every paragraph (<p> tag) on your webpage is neatly centered.

But what’s life without variety? While centering may be just what you need in many cases, remember there are other options too. For instance,

<p style="text-align:left;">I'm left aligned!</p>
<p style="text-align:right;">And I'm right aligned!</p>

These snippets demonstrate how to align your text to either side of your webpage using similar principles as centering.

There you go, a basic understanding of aligning text in HTML. Remember, the key is ‘text-align’, and your options are – left, right, center or justify!

Basic Syntax for Centering Text in HTML

Let’s dive right into it. To center text in HTML, we often use the <center> tag. But there’s a catch! It’s important to note that this tag is not supported in HTML5. However, don’t worry, I’ve got you covered with other methods too.

Here’s how you’d typically use the <center> tag:

<center>This text will be centered.</center>

This piece of code would render “This text will be centered” directly in the middle of your webpage. Simple and effective, isn’t it? But remember, it’s outdated now.

Now let’s explore some modern ways to accomplish the same task using CSS properties with our HTML tags. The text-align property is a lifesaver here!

Consider this example:

<p style="text-align:center;"> This paragraph is centered. </p>

In this case, we’re applying an inline CSS property text-align:center; to our paragraph (<p>) element which aligns all text within that element to the center on your page.

But what if you have multiple elements that need centering? Well then my friend, external styling comes into play!

Create a separate .css file and include it in your HTML document like so:

<head>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class='center'> Hello World! </div>
</body>

/* In styles.css */
.center{
  text-align: center;
}

With this method, any element given the ‘center’ class attribute will have its content aligned smack dab in the middle!

So there you have it – three different ways to achieve perfectly centered text in HTML. As always though, remember that proper web design practices encourage us to keep styling separate from markup, hence the last method is often preferred.

Using CSS to Center Text in HTML

We’ll dive right into the power of CSS and how it can be used to center text in an HTML document. This method is quite simple yet incredibly effective at manipulating the alignment of your web content. Let’s remember, CSS stands for Cascading Style Sheets and it gives us the ability to style our HTML elements.

Here’s a basic example of how you’d use CSS to center text:

<p style="text-align: center;">I'm centered!</p>

In this code snippet, I’ve applied inline styling directly to the paragraph element using the style attribute. The property text-align: center; tells the browser to align my text right smack-dab in the middle.

But what if we have multiple elements that need similar styling? We don’t want repeating styles for every single tag! That’s where internal or external CSS comes handy:

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

<body>
  <p class="center-text">Look at me, I'm centered too!</p>
</body>

In these examples, I created a new class named .center-text within a <style> block located in the <head> section of my HTML document. Now any HTML element with class “center-text” will have its text centered!

Now you might be thinking- what about other uses? Can we apply this on different tags?

Absolutely! It isn’t just paragraphs that can enjoy being at center stage. Headers, divs, spans – you name it, they can all be centered using this same technique.

<h1 class="center-text">Centered header!</h1>
<div class="center-text">Centered div content.</div> 
<span class="center-text">Even span gets to be center!</span>

CSS is a powerful tool in your arsenal for creating well-styled web content. So, don’t hesitate to experiment and explore its possibilities!

Common Mistakes When Centering Text in HTML

I’ve seen quite a few blunders when it comes to centering text in HTML. Understanding what not to do can be just as enlightening as knowing the correct steps, so let’s dive into some common mistakes.

One of the most common errors I’ve noticed is using outdated tags like <center>. This tag was popular back in the early days of HTML but has been deprecated in HTML5. It might work on some browsers, but it’s no longer considered good practice. Instead, you should use CSS properties such as text-align: center; inside a style attribute or a separate stylesheet. Here’s an example:

<p style="text-align:center;">This is centered text.</p>

Another mistake that’s often made is trying to center text with spaces or tab characters. While this might look fine on your screen, different devices and browsers will render these spaces inconsistently — leading to off-centered text elsewhere. Plus, it’s simply not clean code! The better approach? Use CSS for all your positioning needs.

A third gaffe I see frequently involves misunderstanding how block-level elements work. Some folks try to apply text-align: center; directly to a block-level element like a div or header tag expecting everything inside it to center align, which isn’t always the case. If you want everything within a div or header tag centered (not just text), wrap your content inside another element like a paragraph <p> and then apply text-align: center; on that inner element.

Here’s an illustration:

<div>
 <p style="text-align:center;">Everything here will be centered.</p>
</div>

Lastly, don’t forget about vertical alignment! So many people focus solely on getting their horizontal alignment right that they overlook vertical alignment completely! Remember that “center” can refer to both axes. For vertically centering text, you can use CSS properties like line-height, vertical-align, or flexbox.

Avoid these common errors and you’ll be centering text in HTML like a pro in no time!

Cristian G. Guasch

Hey! I'm Cristian Gonzalez, I created HTML Easy to help you learn HTML easily and fast.

Related articles