Skip to content

Card

Card is a bordered, elevated container for grouping related content.

It is a convenience wrapper around Frame with surface='card' and show_border=True by default.


Quick start

import bootstack as bs

app = bs.App()

card = bs.Card(app, padding=20)
card.pack(padx=20, pady=20, fill="x")

bs.Label(card, text="Card Title", font="heading-md").pack(anchor="w")
bs.Label(card, text="Card content goes here.").pack(anchor="w", pady=(4, 0))

app.mainloop()

When to use

Use Card when:

  • you want to visually group related content with a border

  • you need an elevated container that stands out from the background

Consider a different control when:

  • you need a collapsible container - use Expander

  • you need a titled border - use LabelFrame


Examples and patterns

Basic card

card = bs.Card(app, padding=20)
card.pack(fill="x", padx=10, pady=10)
bs.Label(card, text="Hello from a Card!").pack()

Custom padding

card = bs.Card(app, padding=(16, 24))

Side-by-side cards

row = bs.Frame(app)
row.pack(fill="x", padx=10)

card1 = bs.Card(row, padding=16)
card1.pack(side="left", fill="both", expand=True, padx=(0, 5))

card2 = bs.Card(row, padding=16)
card2.pack(side="left", fill="both", expand=True, padx=(5, 0))

Additional resources

  • Frame - base container without card styling

  • LabelFrame - container with a titled border

  • Expander - collapsible container

API reference