Files
textual/docs/styles/grid/grid_columns.md
Rodrigo Girão Serrão da9a481f1c Remove inclusion of old css types snippets.
Supposedly, this had been done in an earlier commit for all styles. Apparently, I forgot to open styles references that were one level deeper in the directory, so the pages about grid, links, and scrollbar colors still included the css types values directly in their reference pages.
2023-01-09 11:28:47 +00:00

1.5 KiB

Grid-columns

The grid-columns style allows to define the width of the columns of the grid.

!!! note

This style only affects widgets with `layout: grid`.

Syntax

--8<-- "docs/snippets/syntax_block_start.md" grid-columns: <scalar>+; --8<-- "docs/snippets/syntax_block_end.md"

The style grid-columns takes one or more <scalar> that specify the length of the columns of the grid.

If there are more columns in the grid than scalars specified in grid-columns, they are reused cyclically. If the number of <scalar> is in excess, the excess is ignored.

Example

The example below shows a grid with 10 labels laid out in a grid with 2 rows and 5 columns.

We set grid-columns: 1fr 16 2fr. Because there are more rows than scalars in the style rule, the scalars will be reused:

  • columns 1 and 4 have width 1fr;
  • columns 2 and 5 have width 16; and
  • column 3 has width 2fr.

=== "Output"

```{.textual path="docs/examples/styles/grid_columns.py"}
```

=== "grid_columns.py"

```py
--8<-- "docs/examples/styles/grid_columns.py"
```

=== "grid_columns.css"

```sass
--8<-- "docs/examples/styles/grid_columns.css"
```

CSS

/* Set all columns to have 50% width */
grid-columns: 50%;

/* Every other column is twice as wide as the first one */
grid-columns: 1fr 2fr;

Python

grid.styles.grid_columns = "50%"
grid.styles.grid_columns = "1fr 2fr"