How to Align Labels Next to Inputs?

When designing web forms, aligning labels next to input fields can significantly improve readability and usability. This alignment enhances the form's visual structure, making it easier for users to fill out information. In this article, we'll cover CSS techniques for aligning labels both to the right and left of their respective input fields.

Syntax

label {
    display: inline-block;
    width: value;
    text-align: left | right;
}

Basic CSS Properties for Label Alignment

The key properties for aligning labels are:

Property Purpose Common Values
display Controls layout behavior inline-block
width Sets fixed label width 150px, 200px
text-align Aligns text within label left, right

Method 1: Right-Aligned Labels

Right-aligned labels create a clean, professional look by positioning label text close to the input field. This approach uses display: inline-block with a fixed width and text-align: right

<!DOCTYPE html>
<html>
<head>
<style>
    .form-row {
        margin-bottom: 10px;
    }
    .right-label {
        display: inline-block;
        width: 150px;
        text-align: right;
        margin-right: 10px;
    }
    input[type="text"] {
        padding: 5px;
        border: 1px solid #ccc;
    }
</style>
</head>
<body>
    <form>
        <div class="form-row">
            <label class="right-label">Name:</label>
            <input type="text" placeholder="Enter name">
        </div>
        <div class="form-row">
            <label class="right-label">Email Address:</label>
            <input type="text" placeholder="Enter email">
        </div>
        <div class="form-row">
            <label class="right-label">Phone Number:</label>
            <input type="text" placeholder="Enter phone">
        </div>
    </form>
</body>
</html>
A form appears with labels right-aligned within a 150px width, creating uniform spacing between labels and inputs regardless of label length.

Method 2: Left-Aligned Labels

Left-aligned labels provide a more traditional form layout. By omitting text-align: right, labels naturally align to the left within their container

<!DOCTYPE html>
<html>
<head>
<style>
    .form-row {
        margin-bottom: 15px;
    }
    .left-label {
        display: inline-block;
        width: 120px;
        color: #555;
        font-weight: bold;
    }
    input[type="text"] {
        padding: 8px;
        border: 1px solid #ddd;
        border-radius: 4px;
        width: 200px;
    }
</style>
</head>
<body>
    <form>
        <div class="form-row">
            <label for="username" class="left-label">Username:</label>
            <input type="text" id="username" placeholder="Enter username">
        </div>
        <div class="form-row">
            <label for="password" class="left-label">Password:</label>
            <input type="text" id="password" placeholder="Enter password">
        </div>
        <div class="form-row">
            <label for="confirm" class="left-label">Confirm:</label>
            <input type="text" id="confirm" placeholder="Confirm password">
        </div>
    </form>
</body>
</html>
A form displays with bold, gray labels left-aligned within their containers, followed by rounded input fields with placeholder text.

Method 3: Using Flexbox for Modern Alignment

Flexbox provides a more flexible approach to label alignment with better responsive behavior

<!DOCTYPE html>
<html>
<head>
<style>
    .flex-form {
        max-width: 400px;
        margin: 20px;
    }
    .form-group {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
    }
    .flex-label {
        flex: 0 0 140px;
        text-align: right;
        padding-right: 15px;
        color: #333;
    }
    .flex-input {
        flex: 1;
        padding: 10px;
        border: 2px solid #e0e0e0;
        border-radius: 6px;
    }
</style>
</head>
<body>
    <div class="flex-form">
        <div class="form-group">
            <label class="flex-label">Full Name:</label>
            <input type="text" class="flex-input" placeholder="John Doe">
        </div>
        <div class="form-group">
            <label class="flex-label">City:</label>
            <input type="text" class="flex-input" placeholder="New York">
        </div>
        <div class="form-group">
            <label class="flex-label">Country:</label>
            <input type="text" class="flex-input" placeholder="United States">
        </div>
    </div>
</body>
</html>
A modern form layout appears with right-aligned labels in a fixed 140px width area, followed by flexible input fields that expand to fill remaining space.

Conclusion

Label alignment significantly impacts form usability and visual appeal. Use right-aligned labels for professional forms with consistent spacing, left-aligned labels for traditional layouts, or flexbox for modern, responsive designs. Choose the method that best fits your design requirements and user experience goals.

Updated on: 2026-03-15T18:19:29+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements