Skip to content

Text-align

The text-align rule aligns text within a widget.

Syntax

text-align: [left|start|center|right|end|justify];

Values

Value Description
left Left aligns text in the widget
start Left aligns text in the widget
center Center aligns text in the widget
right Right aligns text in the widget
end Right aligns text in the widget
justify Justifies text in the widget

Example

This example shows, from top to bottom: left, center, right, and justify text alignments.

from __future__ import annotations

from textual.app import App, ComposeResult
from textual.widgets import Static

TEXT = (
    "I must not fear. Fear is the mind-killer. Fear is the little-death that "
    "brings total obliteration. I will face my fear. I will permit it to pass over "
    "me and through me."
)


class TextAlign(App):
    def compose(self) -> ComposeResult:
        left = Static("[b]Left aligned[/]\n" + TEXT, id="one")
        yield left

        right = Static("[b]Center aligned[/]\n" + TEXT, id="two")
        yield right

        center = Static("[b]Right aligned[/]\n" + TEXT, id="three")
        yield center

        full = Static("[b]Justified[/]\n" + TEXT, id="four")
        yield full


app = TextAlign(css_path="text_align.css")
#one {
  text-align: left;
  background: lightblue;

}

#two {
  text-align: center;
  background: indianred;
}

#three {
  text-align: right;
  background: palegreen;
}

#four {
  text-align: justify;
  background: palevioletred;
}

Static {
  padding: 1;
}

TextAlign Left aligned I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and  through me.                                                                    Center aligned I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and                                   through me.                                   Right aligned I must not fear. Fear is the mind-killer. Fear is the little-death that brings  total obliteration. I will face my fear. I will permit it to pass over me and                                                                    through me. Justified I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me  and through me.

CSS

/* Set text in all Widgets to be right aligned */
Widget {
    text-align: right;
}

Python

# Set text in the widget to be right aligned
widget.styles.text_align = "right"