Border-subtitle-align¶
The border-subtitle-align style sets the horizontal alignment for the border subtitle.
Syntax¶
border-subtitle-align: <horizontal>;
The border-subtitle-align style takes a <horizontal> that determines where the border subtitle is aligned along the top edge of the border.
This means that the border corners are always visible.
Default¶
The default alignment is right.
Examples¶
Basic usage¶
This example shows three labels, each with a different border subtitle alignment:
from textual.app import App
from textual.widgets import Label
class BorderSubtitleAlignApp(App):
CSS_PATH = "border_subtitle_align.tcss"
def compose(self):
lbl = Label("My subtitle is on the left.", id="label1")
lbl.border_subtitle = "< Left"
yield lbl
lbl = Label("My subtitle is centered", id="label2")
lbl.border_subtitle = "Centered!"
yield lbl
lbl = Label("My subtitle is on the right", id="label3")
lbl.border_subtitle = "Right >"
yield lbl
if __name__ == "__main__":
app = BorderSubtitleAlignApp()
app.run()
#label1 {
border: solid $secondary;
border-subtitle-align: left;
}
#label2 {
border: dashed $secondary;
border-subtitle-align: center;
}
#label3 {
border: tall $secondary;
border-subtitle-align: right;
}
Screen > Label {
width: 100%;
height: 5;
content-align: center middle;
color: white;
margin: 1;
box-sizing: border-box;
}
Complete usage reference¶
This example shows all border title and subtitle alignments, together with some examples of how (sub)titles can have custom markup. Open the code tabs to see the details of the code examples.
from textual.app import App
from textual.containers import Container, Grid
from textual.widgets import Label
def make_label_container( # (11)!
text: str, id: str, border_title: str, border_subtitle: str
) -> Container:
lbl = Label(text, id=id)
lbl.border_title = border_title
lbl.border_subtitle = border_subtitle
return Container(lbl)
class BorderSubTitleAlignAll(App[None]):
CSS_PATH = "border_sub_title_align_all.tcss"
def compose(self):
with Grid():
yield make_label_container( # (1)!
"This is the story of",
"lbl1",