CSS
How to Center Text in CSS – The Complete Beginner’s Guide
Centering text is one of the most common tasks in web design. While it might sound simple, there are multiple ways to center text depending on the layout, container type, and desired alignment.
In this beginner-friendly guide, we’ll explore all the methods to center text in CSS—horizontally, vertically, and both. Let’s make sure your content looks great, no matter the layout!
🧭 1. How to Center Text Horizontally
The most common way to center text horizontally inside a container is by using the text-align
property.
✅ Method:
.center-text {
text-align: center;
}
HTML Example:
<div class="center-text">
<p>This text is centered horizontally.</p>
</div>
💡 Works for block-level elements like
<div>
,<p>
,<h1>
, etc.
⬆️ 2. How to Center Text Vertically
Centering text vertically requires a little more CSS depending on the element’s display type and height.
✅ Method 1: Using line-height
(for single-line text)
.vertical-center {
height: 100px;
line-height: 100px;
text-align: center;
}
✅ Method 2: Using Flexbox (recommended for all cases)
.flex-center {
display: flex;
justify-content: center; /* Horizontal */
align-items: center; /* Vertical */
height: 200px;
}
HTML Example:
<div class="flex-center">
<p>This text is centered both horizontally and vertically.</p>
</div>
💡 Flexbox is the most modern, responsive, and reliable way to center text both vertically and horizontally.
📦 3. How to Center Inline Text Inside Buttons or Inputs
For buttons or input fields with text:
button {
text-align: center;
vertical-align: middle; /* For inline alignment */
}
If the button has a fixed height and you want vertical centering:
button {
display: flex;
align-items: center;
justify-content: center;
}
📐 4. Centering Text in a Full-Screen Layout
Let’s say you want to center text in the middle of the screen (like in a hero section or a landing page).
Flexbox Method (best for full screen):
.fullscreen-center {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
HTML:
<div class="fullscreen-center">
<h1>Welcome to My Website</h1>
</div>
✅ Fully responsive and works with dynamic screen sizes.
🔁 5. Centering Text with CSS Grid (Alternative)
CSS Grid is another modern approach for centering content:
.grid-center {
display: grid;
place-items: center;
height: 100vh;
}
This centers both vertically and horizontally with just one line!
🧨 Common Mistakes to Avoid
Mistake | Fix |
---|---|
Using margin: auto on inline text | Use text-align: center instead |
Forgetting height when vertically centering | Always set a height when using line-height or Flexbox |
Not using a positioning method | Use Flexbox/Grid for full centering |
Expecting text-align to work vertically | text-align only works horizontally |
✅ Summary: Quick Reference
Goal | CSS Method |
---|---|
Horizontal center | text-align: center; |
Vertical center (single line) | line-height = height |
Full vertical + horizontal | Flexbox or CSS Grid |
Inline elements (buttons) | display: flex; justify-content: center; align-items: center; |
🎯 Conclusion
Centering text in CSS is simple once you understand the context of what you’re centering. Whether you’re working with headers, buttons, or full-page layouts, CSS provides multiple techniques—from text-align
to Flexbox and Grid—to make your content look perfectly aligned.
Stick with Flexbox for most layout-related centering, and use text-align
for basic text alignment.