Mastering How to Center Table CSS: Easy & Quick Guide

how to center table css

As a web designer, you know how crucial it is to create visually appealing web pages that are also user-friendly. Centering tables is one of the ways to achieve this. In this easy and quick guide, we’ll show you how to center tables using CSS. You’ll learn how to center tables horizontally, vertically, and both, to make your web pages more beautiful and user-friendly.

Key Takeaways:

  • How to center a table horizontally using CSS
  • How to center a table vertically using CSS
  • How to center a table both horizontally and vertically using CSS
  • How to center a table in a specific div container using CSS
  • Extra tips for table alignment using CSS display and table-layout properties

Understanding CSS Table Structure

Before we jump into the various methods of centering tables using CSS, it’s important to understand the structure of CSS tables. Tables are typically created using HTML tags, such as <table>, <tr>, <th>, and <td>. These tags define the rows, columns, and cells of the table.

CSS allows us to style the table elements using various properties. Some common CSS properties used to style tables include:

  • border: Specifies the border width, style, and color of the table.
  • background-color: Sets the background color of the table.
  • width: Defines the width of the table.
  • height: Determines the height of the table.
  • padding: Adds padding inside the cells of the table.
  • text-align: Sets the horizontal alignment of the table content.
  • vertical-align: Specifies the vertical alignment of the table content.

By combining these properties, we can create visually appealing and well-structured tables on our web pages.

HTML Table Tags

The following HTML tags are commonly used to create tables:

  • <table>: Defines the table.
  • <tr>: Defines table rows.
  • <th>: Defines table headers.
  • <td>: Defines table cells.

These tags are essential for creating tables in HTML. We can then use CSS to style and position the table elements as desired.

CSS Table Properties

CSS provides several properties used to style tables. Some common ones include:

  • border-collapse: Specifies whether to collapse the borders of the table into a single border or not.
  • border-spacing: Sets the spacing between the cells of the table.
  • caption-side: Defines the placement of the table caption (if any).
  • empty-cells: Determines how empty cells in the table should be displayed.

These properties allow us to further customize the look and feel of our tables beyond basic styling.

Table Elements in CSS

In addition to the HTML table tags and CSS properties, we can also target individual table elements using CSS selectors. For example, we may want to style only the first row of a table differently from the rest. To do this, we can use the “tr:first-child” selector in our CSS code.

By understanding the HTML table tags, CSS properties, and element selectors, we can create complex and visually appealing tables on our web pages.

Centering Tables Horizontally with CSS

Centering a table horizontally with CSS is straightforward. You can use the text-align: center property to align the table within its container. Here is an example:

Header 1 Header 2
Row 1, Cell 1 Row 1, Cell 2
Row 2, Cell 1 Row 2, Cell 2

To center the table horizontally, we added the margin: auto property to the table’s inline style. This technique is particularly useful when you don’t know the container’s width. The margin: auto property automatically calculates the left and right margins for the table, centering it.

You can also use the margin: auto property alone to center a table horizontally. However, this method only works when the table’s width is less than the container’s width. Here is an example:

Header 1 Header 2
Row 1, Cell 1 Row 1, Cell 2
Row 2, Cell 1 Row 2, Cell 2

The margin: auto property centers the table within its container since the table’s width is less than the container’s width. However, if the table’s width is equal to or greater than the container’s width, it won’t be centered.

The text-align: center property is more reliable for centering tables horizontally, particularly when dealing with responsive designs.

Centering Tables Vertically with CSS

In some cases, you may want to align a table vertically in the middle of a web page. Fortunately, there are a few ways to achieve this with CSS.

CSS Vertical Align Middle

One method to vertically center a table is to use the “vertical-align: middle” property in CSS. First, set the height of the container element that will hold the table. Then, apply “vertical-align: middle” to the table element. This will center the table within the container vertically.

For example, if you have a container div with a height of 500 pixels, you would set the style as follows:

<div style="height: 500px; display: table;">
  <table style="vertical-align: middle;">
      <td>Table content</td>

By setting the display property of the container div to “table”, it behaves like a table and allows the table to be vertically centered within it.

CSS Display Table-Cell

Another method to vertically center a table is to use the “display: table-cell” property in CSS. This method involves creating an additional container div that wraps around the table.

For example, you can center the table vertically by following the steps below:

  1. Create a container div and set its “display” property to “table”.
  2. Create a second div inside the container div and set its “display” property to “table-cell”.
  3. Place the table element inside the second div.
  4. Use the “vertical-align: middle” property to center the table in the second div.
<div style="height: 500px; display: table;">
  <div style="display: table-cell; vertical-align: middle;">
        <td>Table content</td>

By using the “display: table-cell” property, you can vertically align the table within the container div in the middle.

With these techniques, you can center your tables both horizontally and vertically in a web page with ease.

Centering Tables Horizontally and Vertically with CSS

Now that we have explored the techniques for centering tables horizontally and vertically with CSS, it’s time to combine them to create versatile table alignment. One approach to achieve this is by using CSS Flexbox.

CSS Flexbox is a powerful layout model that allows you to align elements to the center of their container both horizontally and vertically, and also provides flexibility to adjust the layout as needed.

Flexbox code example: Result:
div {
  display: flex;
  justify-content: center;
  align-items: center;

Flexbox is awesome!

The above code creates a div element with a width and height of 200 pixels and a border of 1 pixel. By setting the display property to “flex”, we can use justify-content and align-items properties to center elements horizontally and vertically.

Another approach to center tables horizontally and vertically using CSS is by using the transform property. We can use transform: translate to move the table to the center of its container. Here’s how:

Transform code example: Result:
table {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
1 2 3
4 5 6
7 8 9

The above code centers the table horizontally and vertically with respect to its parent container by using the transform property to move the table up and left by 50% of its width and height.

There are many ways to center tables both horizontally and vertically with CSS, and the approach you choose depends on your specific requirements. Remember to test your alignment on multiple devices and screen sizes to ensure that it works well across different platforms.

Centering Tables in a Div Container

Sometimes, you may need to center tables within a specific div container. This is especially useful when you want to create a specific layout for your web page. Luckily, CSS provides several techniques for centering tables within a div container.

Using CSS Positioning Techniques

The most common CSS techniques for centering tables in a div container are using the “position: relative” and “position: absolute” properties. Here’s how:

  1. First, set the parent div container’s position to relative using the CSS “position: relative” property.
  2. Next, set the table’s position to absolute using the CSS “position: absolute” property.
  3. Then, set the left and top properties of the table to 50% to move it to the center of the div container.
  4. Finally, use the CSS “transform: translate” property to adjust the table’s position by moving it up and left by half of its width and height, respectively.

Here’s an example CSS code for centering a table in a div container:

      div {
         position: relative;

      table {
         position: absolute;
         left: 50%;
         top: 50%;
         transform: translate(-50%, -50%);

By using these CSS positioning techniques, you can easily center your tables within a div container.

Extra Tips for Table Alignment

Now that you’ve learned how to center tables using CSS, let’s explore some additional tips and tricks for fine-tuning your table alignment skills.

Use CSS Display Property

The display property in CSS can be used to define the layout of HTML elements. When it comes to tables, you can use the display property to change the table’s layout from the default table value to inline-table. This can help you achieve more fluid and dynamic table alignment.

For example, to use the display property to align a table in the center of a container, you can create a CSS class and apply it to the table element:

.center-table { display: inline-table; margin: 0 auto; }

<table class=”center-table”>

Use CSS Table Layout Property

The table-layout property in CSS can also be useful for controlling the layout of tables. By setting the table-layout property to fixed, you can ensure that the table’s width is evenly distributed among its columns, resulting in more consistent alignment.

For example, you can use the following CSS rule to set the table-layout property:

table { table-layout: fixed; }

By applying this rule to your table element, you can ensure that all columns are evenly spaced and aligned, resulting in a cleaner and more professional look.

Final Thoughts

By using these additional tips and tricks, you can take your table alignment skills to the next level. Remember, practice makes perfect, so keep experimenting and fine-tuning your techniques until you achieve the desired results.


Congratulations on mastering the art of centering tables using CSS! With the techniques and tips we’ve covered in this guide, you can now confidently position your tables horizontally, vertically, or both. The skills you’ve learned will not only make your web pages look more polished and professional but also save you time and effort in the long run.

Remember to experiment with the different methods we’ve covered and find the ones that work best for your specific needs. Don’t be afraid to combine techniques to achieve the perfect alignment for your table. And always keep in mind the importance of responsive design, ensuring your tables remain centered on all screen sizes.

Final Thoughts

Now that you’ve become proficient in centering tables using CSS, you’re well on your way to becoming a skilled web developer. Remember to always stay up to date with the latest trends and techniques and keep practicing your skills. With time and dedication, you’ll be able to create visually stunning web pages that are both functional and aesthetically pleasing.

Thank you for reading this guide, and we wish you the best of luck in your future web development endeavors!


Q: How do I center a table horizontally using CSS?

A: To center a table horizontally, you can use the CSS property “text-align: center” on the table’s parent element. This will align the table content in the center of the parent container.

Q: How can I center a table vertically using CSS?

A: To center a table vertically, you can use the CSS property “vertical-align: middle” on the table cells. This will vertically align the content within each cell and, in turn, center the table vertically.

Q: Is it possible to center a table both horizontally and vertically using CSS?

A: Yes, it is possible to center a table both horizontally and vertically using CSS. You can combine the “text-align: center” property for horizontal alignment and the “vertical-align: middle” property for vertical alignment to achieve this.

Q: How do I center a table within a specific div container?

A: To center a table within a specific div container, you can use CSS positioning techniques. Set the div container’s position to “relative” and the table’s position to “absolute.” Then, use the CSS properties “top: 50%” and “left: 50%” along with the “transform: translate(-50%, -50%)” property to center the table within the container.

Q: Are there any additional tips for aligning tables with CSS?

A: Yes, there are a few additional tips for table alignment. You can use the CSS “display” property with values like “table-row” or “table-cell” to control the display behavior of table elements. Additionally, the CSS “table-layout” property can be used to define the algorithm used to lay out the table cells, which can help with alignment.

Related Posts