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
Related widgets
-
Frame - base container without card styling
-
LabelFrame - container with a titled border
-
Expander - collapsible container