CSS Align

Master text and element alignment techniques

🎯 What is CSS Align?

CSS alignment controls how text and elements are positioned within their containers. This includes horizontal text alignment, vertical alignment, and centering techniques.


/* Basic text alignment */
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}
                                    

Output:

Center aligned text
Right aligned text

Text Alignment Options

⬅️

Left

Default text alignment

text-align: left;
🎯

Center

Center text horizontally

text-align: center;
➡️

Right

Align text to the right

text-align: right;
📏

Justify

Stretch text to fill width

text-align: justify;

🔹 Text Alignment Examples

CSS text alignment options include left, right, center, and justify, each serving different readability and design purposes. Left alignment is standard for languages reading left-to-right; center alignment works for headings or short blocks; justify creates even edges but may cause uneven spacing. Responsive design may adjust alignment per breakpoint. Examples demonstrate how alignment affects legibility, visual hierarchy, and overall layout aesthetics in paragraphs, lists, and UI text.

.align-left {
    text-align: left;
    background-color: #ffe6e6;
    padding: 15px;
    margin: 10px 0;
}

.align-center {
    text-align: center;
    background-color: #e6f3ff;
    padding: 15px;
    margin: 10px 0;
}

.align-right {
    text-align: right;
    background-color: #e6ffe6;
    padding: 15px;
    margin: 10px 0;
}

.align-justify {
    text-align: justify;
    background-color: #fff0e6;
    padding: 15px;
    margin: 10px 0;
}

Output:

Left aligned text - This is the default alignment for most languages.
Center aligned text - Perfect for headings and titles.
Right aligned text - Often used for dates or signatures.
Justified text stretches to fill the entire width of the container by adjusting spacing between words. This creates clean, aligned edges on both sides.

🔹 Centering Elements

text-align: center horizontally aligns inline elements within their container. For block-level elements, use margin: 0 auto with a defined width. This technique works for text, images, buttons, and other inline content. It’s one of the most straightforward methods to achieve simple horizontal alignment, improving layout consistency and visual balance for better user experience and SEO-friendly page structure.

/* Horizontal centering with margin auto */
.center-block {
    width: 300px;
    margin: 0 auto;
    background-color: #4ecdc4;
    padding: 20px;
    text-align: center;
}

/* Centering with flexbox */
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
    background-color: #ff6b6b;
    color: white;
}

/* Centering with text-align (for inline elements) */
.text-center-container {
    text-align: center;
    background-color: #45b7d1;
    padding: 20px;
}

.inline-element {
    display: inline-block;
    background-color: white;
    padding: 10px 20px;
    border-radius: 5px;
}

Output:

Margin Auto (Block Elements):

Centered with margin: 0 auto

Flexbox Centering:

Centered with Flexbox

Text-align Center (Inline Elements):

Centered Inline Element

🔹 Vertical Alignment

Controlling vertical alignment in inline-block layouts uses the vertical-align property, which aligns elements relative to their line box or container. Common values include top, middle, bottom, and baseline (default). For precise control, pair with line-height on parent containers. In multi-line text or icon-and-text combinations, vertical-align: middle often centers elements visually. Note that alignment can break if parent height isn’t explicitly set or if conflicting display values exist. Testing across browsers is essential, as rendering differences may occur, especially with images or SVG icons.

.vertical-demo {
    height: 100px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    line-height: 100px; /* For demonstration */
}

.v-top {
    vertical-align: top;
    display: inline-block;
    width: 80px;
    height: 60px;
    background-color: #ff6b6b;
    line-height: 60px;
    text-align: center;
    color: white;
}

.v-middle {
    vertical-align: middle;
    display: inline-block;
    width: 80px;
    height: 60px;
    background-color: #4ecdc4;
    line-height: 60px;
    text-align: center;
    color: white;
}

.v-bottom {
    vertical-align: bottom;
    display: inline-block;
    width: 80px;
    height: 60px;
    background-color: #45b7d1;
    line-height: 60px;
    text-align: center;
    color: white;
}

Output:

Top
Middle
Bottom
Baseline text

🔹 Modern Alignment with Flexbox

Flexbox provides advanced, responsive alignment with properties like justify-content and align-items. Set display: flex on a container to easily center child elements both horizontally and vertically. It simplifies complex layouts, eliminates the need for floats or positioning hacks, and creates fluid designs that adapt to different screen sizes. This improves site performance and accessibility, positively impacting SEO and user retention.

/* Horizontal alignment with flexbox */
.flex-start {
    display: flex;
    justify-content: flex-start;
    background-color: #ffe6e6;
    padding: 15px;
    margin: 10px 0;
}

.flex-center {
    display: flex;
    justify-content: center;
    background-color: #e6f3ff;
    padding: 15px;
    margin: 10px 0;
}

.flex-end {
    display: flex;
    justify-content: flex-end;
    background-color: #e6ffe6;
    padding: 15px;
    margin: 10px 0;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    background-color: #fff0e6;
    padding: 15px;
    margin: 10px 0;
}

.flex-item {
    background-color: #333;
    color: white;
    padding: 10px 15px;
    border-radius: 3px;
}

Output:

Flex Start
Flex Center
Flex End
Item 1
Item 2
Item 3

🔹 Perfect Centering Techniques

Multiple CSS methods exist for perfect centering—both horizontal and vertical—within a container. Common approaches include Flexbox, CSS Grid, and the position + transform technique. Choosing the right method depends on your layout requirements, browser support, and responsiveness needs. Properly centered content improves visual appeal and user focus, contributing to lower bounce rates and better search engine rankings through enhanced user experience.

/* Method 1: Flexbox (Recommended) */
.flex-perfect-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
    background-color: #4ecdc4;
    color: white;
}

/* Method 2: CSS Grid */
.grid-perfect-center {
    display: grid;
    place-items: center;
    height: 150px;
    background-color: #ff6b6b;
    color: white;
}

/* Method 3: Position + Transform */
.position-center {
    position: relative;
    height: 150px;
    background-color: #45b7d1;
}

.position-center-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    color: #333;
    padding: 20px;
    border-radius: 5px;
}

Output:

Flexbox Method:

Perfectly Centered

CSS Grid Method:

Grid Centered

Position + Transform:

Position Centered

🧠 Test Your Knowledge

Which CSS property is used to center text horizontally?