The explicit inline and block logical row and column keywords refer explicitly to a block (row) or inline (column) position. You can specify one keyword for the block direction and one for the inline direction to select a single specific grid tile. Unlike with generic logical keyword values, the keyword order doesn't matter. However, declaring two keywords in the same axis invalidates the value.
block-start
-
The start of the grid's block direction calculated from the containing block's writing mode.
block-end
-
The end of the grid's block direction calculated from the containing block's writing mode.
inline-start
-
The start of the grid's inline direction calculated from the containing block's writing mode.
inline-end
-
The end of the grid's inline direction calculated from the containing block's writing mode.
For example, block-start inline-end
specifies the tile at the start of the block direction and the end of the inline direction. With writing-mode: horizontal-tb
set, this would be the tile at the top-right of the anchor, whereas with writing-mode: vertical-rl
set this would be the tile at the bottom-right.
Note: The specification defines self
equivalents of these keywords — block-self-start
, block-self-end
, inline-self-start
, and inline-self-end
. However, these are not currently supported in any browser.
Explicit inline and block logical spanning keywords
The explicit logical spanning keywords — when combined with a logical row or column keyword — specify a second grid tile for the position area to expand into. When such a combination is set as a position-area
property value, a selected element is initially placed in the center of the specified row or column, based on the containing block's writing mode, and it then spans in the direction specified in the spanning keyword, spanning two grid tiles:
span-block-start
-
Span the center tile and the block-start tile of the specified inline column.
span-block-end
-
Span the center tile and the block-end tile of the specified inline column.
span-inline-start
-
Span the center tile and the inline-start tile of the specified block row.
span-inline-end
-
Span the center tile and the inline-end tile of the specified block row.
For example, block-end span-inline-start
selects the center tile of the end block row and spans across the tiles in that row that sit in the inline center and start columns. With writing-mode: horizontal-tb
set, this would span the bottom-center and bottom-left grid tiles, whereas with writing-mode: vertical-rl
set it would span the left-center and top-left grid tiles.
Note: The specification defines self
equivalents of these keywords, for example — span-self-block-start
, span-self-block-end
, span-self-inline-start
, and span-self-inline-end
. However, these are not currently supported in any browser.
Note: Trying to pair a row or column keyword with an inappropriate spanning keyword will result in an invalid property value. For example, block-end span-block-end
is invalid — you can't select the center block-end row and then try to span one tile further past the block end direction.