← CSS text-overflow 属性 CSS text-orientation 属性 →

CSS text-align 属性

原创 2025-09-07 CSS 已有人查阅

CSS text-align 属性详细介绍

前言

在网页设计中,文本对齐是影响内容可读性和视觉美观的关键因素。CSS 的 text-align 属性为开发者提供了控制文本水平对齐方式的强大能力。本文将深入探讨 text-align 属性的各种取值、应用场景和较佳实践,帮助您掌握这一基础但重要的 CSS 属性。

text-align 属性概述

text-align 属性用于设置块级元素或表格单元格中内容的水平对齐方式。它会影响元素内所有行内内容(包括文本、图像和其他行内元素)的对齐方式。

基本语法

selector {
  text-align: left | right | center | justify | start | end | match-parent;
}

属性值详解

1. left(左对齐)

将内容对齐到容器的左侧边缘,这是大多数语言的默认文本对齐方式。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>左对齐示例 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
            line-height: 1.6;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .left-align {
            text-align: left;
            background-color: #e3f2fd;
            padding: 20px;
            border-left: 4px solid #2196f3;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
            overflow-x: auto;
        }
    </style>
</head>
<body>
    <h1>CSS text-align: left 示例</h1>
    
    <div class="example-container">
        <h2>左对齐效果</h2>
        <div class="left-align">
            <p>这是左对齐文本的示例。在大多数从左到右阅读的语言中,这是默认的文本对齐方式。</p>
            <p>左对齐文本创建了一个不规则的右边缘,这有助于保持单词间的自然间距,提高阅读流畅性。</p>
        </div>
        
        <div class="code-sample">
.left-align {
  text-align: left;
  background-color: #e3f2fd;
  padding: 20px;
  border-left: 4px solid #2196f3;
}
        </div>
    </div>
</body>
</html>

2. right(右对齐)

将内容对齐到容器的右侧边缘,常用于特殊设计需求或从右到左阅读的语言。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>右对齐示例 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .right-align {
            text-align: right;
            background-color: #ffebee;
            padding: 20px;
            border-right: 4px solid #f44336;
        }
        
        .invoice-example {
            width: 300px;
            margin: 20px 0;
            border: 1px solid #ddd;
            padding: 15px;
        }
        
        .invoice-item {
            display: flex;
            justify-content: space-between;
            margin-bottom: 10px;
        }
        
        .invoice-total {
            border-top: 2px solid #333;
            padding-top: 10px;
            font-weight: bold;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
        }
    </style>
</head>
<body>
    <h1>CSS text-align: right 示例</h1>
    
    <div class="example-container">
        <h2>右对齐效果</h2>
        <div class="right-align">
            <p>这是右对齐文本的示例。右对齐创建了一个不规则的左边缘,常用于特殊设计场景。</p>
        </div>
        
        <h3>实际应用:发票或收据</h3>
        <div class="invoice-example">
            <div class="invoice-item">
                <span>商品A</span>
                <span>¥120.00</span>
            </div>
            <div class="invoice-item">
                <span>商品B</span>
                <span>¥85.50</span>
            </div>
            <div class="invoice-item">
                <span>运费</span>
                <span>¥15.00</span>
            </div>
            <div class="invoice-item invoice-total">
                <span>总计</span>
                <span>¥220.50</span>
            </div>
        </div>
        
        <div class="code-sample">
.invoice-item {
  display: flex;
  justify-content: space-between;
}

.invoice-item span:last-child {
  text-align: right;
}
        </div>
    </div>
</body>
</html>

3. center(居中对齐)

将内容在容器中水平居中对齐,常用于标题、引用和强调文本。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>居中对齐示例 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .center-align {
            text-align: center;
            background-color: #e8f5e9;
            padding: 30px;
            border: 2px dashed #4caf50;
        }
        
        .testimonial {
            font-style: italic;
            color: #555;
            margin: 20px 0;
            padding: 20px;
            background-color: #f1f8e9;
            border-radius: 5px;
        }
        
        .author {
            font-weight: bold;
            color: #388e3c;
            margin-top: 15px;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
        }
    </style>
</head>
<body>
    <h1>CSS text-align: center 示例</h1>
    
    <div class="example-container">
        <h2>居中对齐效果</h2>
        <div class="center-align">
            <h3>代码号编程学习平台</h3>
            <p>专注于提供高质量的前端开发教程和实践指南</p>
        </div>
        
        <h3>实际应用:用户评价</h3>
        <div class="testimonial">
            <p>"代码号编程的教程非常实用,帮助我快速掌握了CSS文本对齐技巧,大大提升了我的网页设计能力。"</p>
            <p class="author">- 张同学,前端开发者</p>
        </div>
        
        <div class="code-sample">
.testimonial {
  text-align: center;
  font-style: italic;
  padding: 20px;
  background-color: #f1f8e9;
}

.author {
  font-weight: bold;
  margin-top: 15px;
}
        </div>
    </div>
</body>
</html>

4. justify(两端对齐)

使文本同时对齐容器的左右边缘,通过调整单词和字母间距实现整齐的边缘。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>两端对齐示例 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
            line-height: 1.6;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .justify-align {
            text-align: justify;
            background-color: #fff3e0;
            padding: 25px;
            border: 1px solid #ffb74d;
            hyphens: auto;
        }
        
        .newspaper-column {
            column-count: 2;
            column-gap: 30px;
            text-align: justify;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
        }
        
        .note {
            background-color: #e3f2fd;
            padding: 15px;
            border-radius: 5px;
            border-left: 4px solid #2196f3;
            margin: 20px 0;
        }
    </style>
</head>
<body>
    <h1>CSS text-align: justify 示例</h1>
    
    <div class="example-container">
        <h2>两端对齐效果</h2>
        <div class="justify-align">
            <p>两端对齐文本同时对齐容器的左右边缘,通过调整单词和字母间的间距创建整齐的左右边缘。这种对齐方式常见于报纸、杂志和书籍排版中,能够创建专业、整洁的外观。</p>
            <p>两端对齐可能导致文本中出现不均匀的间距,特别是在窄容器中或当一行中只有少量单词时。使用hyphens属性可以改善这种情况。</p>
        </div>
        
        <div class="note">
            <strong>注意:</strong> 使用两端对齐时,考虑添加<code>hyphens: auto;</code>来自动添加连字符,改善文本外观。
        </div>
        
        <h3>实际应用:报纸样式排版</h3>
        <div class="newspaper-column">
            <p>前端开发是创建网站和Web应用程序的过程,涉及HTML、CSS和JavaScript等技术。CSS的text-align属性在网页排版中扮演着重要角色,帮助开发者控制文本的对齐方式。</p>
            <p>两端对齐文本在印刷媒体中广泛使用,因为它创建了整洁、专业的外观。在Web上,这种对齐方式适用于较宽的文本容器,如文章正文和博客内容。</p>
        </div>
        
        <div class="code-sample">
.justify-align {
  text-align: justify;
  hyphens: auto; /* 自动连字符 */
  padding: 25px;
}

.newspaper-column {
  column-count: 2;
  column-gap: 30px;
  text-align: justify;
}
        </div>
    </div>
</body>
</html>

5. start 和 end 值(逻辑值)

根据文本方向自动适配对齐方式,适用于多语言网站。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>逻辑值对齐示例 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .start-align {
            text-align: start;
            background-color: #e8eaf6;
            padding: 20px;
            margin: 15px 0;
        }
        
        .end-align {
            text-align: end;
            background-color: #fce4ec;
            padding: 20px;
            margin: 15px 0;
        }
        
        .rtl-example {
            direction: rtl;
            text-align: start;
            background-color: #fff8e1;
            padding: 20px;
            margin: 15px 0;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
        }
        
        .info-box {
            background-color: #e1f5fe;
            padding: 15px;
            border-radius: 5px;
            border-left: 4px solid #03a9f4;
            margin: 20px 0;
        }
    </style>
</head>
<body>
    <h1>CSS text-align: start 和 end 示例</h1>
    
    <div class="example-container">
        <h2>逻辑值对齐效果</h2>
        
        <div class="info-box">
            <p><strong>text-align: start</strong> 和 <strong>text-align: end</strong> 是逻辑值,它们根据文本方向自动适配对齐方式。</p>
        </div>
        
        <h3>从左到右文本 (默认)</h3>
        <div class="start-align">
            <p>text-align: start - 在从左到右文本中,start等同于left。</p>
        </div>
        <div class="end-align">
            <p>text-align: end - 在从左到右文本中,end等同于right。</p>
        </div>
        
        <h3>从右到左文本</h3>
        <div class="rtl-example">
            <p>هذا مثال على النص من اليمين إلى اليسار. text-align: start - 在从右到左文本中,start等同于right。</p>
        </div>
        
        <div class="code-sample">
/* 从左到右文本 */
.start-align {
  text-align: start; /* 等同于 left */
}

.end-align {
  text-align: end; /* 等同于 right */
}

/* 从右到左文本 */
.rtl-example {
  direction: rtl;
  text-align: start; /* 等同于 right */
}
        </div>
        
        <div class="info-box">
            <p><strong>较佳实践:</strong> 在开发多语言网站时,使用start和end值而不是left和right,确保在不同文本方向下的正确对齐。</p>
        </div>
    </div>
</body>
</html>

响应式文本对齐技巧

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>响应式文本对齐 - 代码号编程</title>
    <style>
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            max-width: 1000px;
            margin: 0 auto;
            padding: 40px 20px;
            background-color: #f8f9fa;
            color: #333;
            line-height: 1.6;
        }
        
        .example-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
            margin-bottom: 30px;
        }
        
        .responsive-text {
            text-align: left;
            padding: 20px;
            background-color: #f3e5f5;
            border: 1px solid #9c27b0;
        }
        
        .card-container {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin: 20px 0;
        }
        
        .card {
            flex: 1;
            min-width: 250px;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }
        
        .card h3 {
            text-align: center;
            color: #3f51b5;
            border-bottom: 2px solid #3f51b5;
            padding-bottom: 10px;
        }
        
        .code-sample {
            background: #2d3436;
            color: #fdcb6e;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            font-family: 'Consolas', monospace;
        }
        
        /* 媒体查询 */
        @media (max-width: 768px) {
            .responsive-text {
                text-align: justify;
            }
            
            .card {
                text-align: center;
            }
        }
        
        @media (max-width: 480px) {
            .responsive-text {
                text-align: left;
                hyphens: auto;
            }
        }
    </style>
</head>
<body>
    <h1>响应式文本对齐技巧</h1>
    
    <div class="example-container">
        <h2>根据屏幕尺寸调整文本对齐</h2>
        
        <div class="responsive-text">
            <p>在响应式网页设计中,文本对齐方式可以根据屏幕尺寸进行调整,以优化阅读体验。在大屏幕上,可以使用两端对齐创建整洁的外观;在中等屏幕上,可以调整为居中对齐;在小屏幕上,左对齐通常提供较佳的可读性。</p>
        </div>
        
        <h3>响应式卡片布局</h3>
        <div class="card-container">
            <div class="card">
                <h3>桌面设备</h3>
                <p>在大屏幕上,文本通常使用左对齐或两端对齐,以利用充足的横向空间。</p>
            </div>
            <div class="card">
                <h3>平板设备</h3>
                <p>在中等尺寸屏幕上,可以考虑居中对齐或保持左对齐,根据内容类型调整。</p>
            </div>
            <div class="card">
                <h3>手机设备</h3>
                <p>在小屏幕上,左对齐通常是较佳选择,确保文本易于阅读且不会出现奇怪的间距。</p>
            </div>
        </div>
        
        <div class="code-sample">
/* 基础样式 */
.responsive-text {
  text-align: left;
}

/* 中等屏幕:平板设备 */
@media (max-width: 768px) {
  .responsive-text {
    text-align: justify;
  }
  
  .card {
    text-align: center;
  }
}

/* 小屏幕:手机设备 */
@media (max-width: 480px) {
  .responsive-text {
    text-align: left;
    hyphens: auto;
  }
}
        </div>
    </div>
</body>
</html>

本节课程知识要点

  1. text-align 基础:掌握 text-align 属性的基本语法和常用值

  2. 对齐方式选择:理解不同对齐方式的适用场景和视觉效果

  3. 逻辑值应用:学会使用 start 和 end 值处理多语言文本方向

  4. 响应式设计:掌握根据屏幕尺寸调整文本对齐的技巧

  5. 实际应用:了解文本对齐在各类网页元素中的实际应用

CSS 的 text-align 属性是网页排版的基础工具,正确使用它可以显著提升内容的可读性和视觉吸引力。通过本教程的学习,您应该已经掌握了各种文本对齐方式的特性和应用场景。

记住,良好的排版不仅关乎美观,更重要的是提升用户的阅读体验。在实际项目中,应根据内容类型、受众需求和设计目标选择最合适的文本对齐方式。

← CSS text-overflow 属性 CSS text-orientation 属性 →
分享笔记 (共有 篇笔记)
验证码:
微信公众号