Skip to content

Commit 792dd17

Browse files
committed
Add vertical align
1 parent abebfff commit 792dd17

2 files changed

Lines changed: 45 additions & 21 deletions

File tree

colosseum/constants.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,29 @@ def value(self, context):
254254
# 10.8 Leading and half-leading
255255
######################################################################
256256
# line_height
257+
257258
# vertical_align
259+
BASELINE = 'baseline'
260+
SUB = 'sub'
261+
SUPER = 'super'
262+
TOP = 'top'
263+
TEXT_TOP = 'text-top'
264+
MIDDLE = 'middle'
265+
BOTTOM = 'bottom'
266+
TEXT_BOTTOM = 'text-bottom'
267+
268+
VERTICAL_ALIGN_CHOICES = Choices(
269+
BASELINE,
270+
SUB,
271+
SUPER,
272+
TOP,
273+
TEXT_TOP,
274+
MIDDLE,
275+
BOTTOM,
276+
TEXT_BOTTOM,
277+
validators=[is_percentage, is_length],
278+
explicit_defaulting_constants=[INHERIT],
279+
)
258280

259281
######################################################################
260282
# 11.1.1 Overflow

colosseum/declaration.py

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,32 @@
1-
from . import engine as css_engine
2-
from . import parser
1+
from . import engine as css_engine, parser
32
from .constants import ( # noqa
43
ALIGN_CONTENT_CHOICES, ALIGN_ITEMS_CHOICES, ALIGN_SELF_CHOICES, AUTO,
5-
BACKGROUND_COLOR_CHOICES, BORDER_COLLAPSE_CHOICES, BORDER_COLOR_CHOICES,
6-
BORDER_SPACING_CHOICES, BORDER_STYLE_CHOICES, BORDER_WIDTH_CHOICES,
7-
BOX_OFFSET_CHOICES, CAPTION_SIDE_CHOICES, CLEAR_CHOICES, CLIP_CHOICES,
8-
COLOR_CHOICES, DIRECTION_CHOICES, DISPLAY_CHOICES, EMPTY_CELLS_CHOICES,
9-
FLEX_BASIS_CHOICES, FLEX_DIRECTION_CHOICES, FLEX_GROW_CHOICES,
10-
FLEX_SHRINK_CHOICES, FLEX_START, FLEX_WRAP_CHOICES, FLOAT_CHOICES,
11-
GRID_AUTO_CHOICES, GRID_AUTO_FLOW_CHOICES, GRID_GAP_CHOICES,
12-
GRID_PLACEMENT_CHOICES, GRID_TEMPLATE_AREA_CHOICES, GRID_TEMPLATE_CHOICES,
13-
INITIAL, INLINE, INVERT, JUSTIFY_CONTENT_CHOICES, LETTER_SPACING_CHOICES,
14-
LTR, MARGIN_CHOICES, MAX_SIZE_CHOICES, MEDIUM, MIN_SIZE_CHOICES, NORMAL,
15-
NOWRAP, ORDER_CHOICES, ORPHANS_CHOICES, OUTLINE_COLOR_CHOICES,
16-
OUTLINE_STYLE_CHOICES, OUTLINE_WIDTH_CHOICES, OVERFLOW_CHOICES,
17-
PADDING_CHOICES, PAGE_BREAK_AFTER_CHOICES, PAGE_BREAK_BEFORE_CHOICES,
18-
PAGE_BREAK_INSIDE_CHOICES, POSITION_CHOICES, QUOTES_CHOICES, ROW,
19-
SEPARATE, SHOW, SIZE_CHOICES, STATIC, STRETCH, TABLE_LAYOUT_CHOICES,
4+
BACKGROUND_COLOR_CHOICES, BASELINE, BORDER_COLLAPSE_CHOICES,
5+
BORDER_COLOR_CHOICES, BORDER_SPACING_CHOICES, BORDER_STYLE_CHOICES,
6+
BORDER_WIDTH_CHOICES, BOX_OFFSET_CHOICES, CAPTION_SIDE_CHOICES,
7+
CLEAR_CHOICES, CLIP_CHOICES, COLOR_CHOICES, DIRECTION_CHOICES,
8+
DISPLAY_CHOICES, EMPTY_CELLS_CHOICES, FLEX_BASIS_CHOICES,
9+
FLEX_DIRECTION_CHOICES, FLEX_GROW_CHOICES, FLEX_SHRINK_CHOICES, FLEX_START,
10+
FLEX_WRAP_CHOICES, FLOAT_CHOICES, GRID_AUTO_CHOICES,
11+
GRID_AUTO_FLOW_CHOICES, GRID_GAP_CHOICES, GRID_PLACEMENT_CHOICES,
12+
GRID_TEMPLATE_AREA_CHOICES, GRID_TEMPLATE_CHOICES, INITIAL, INLINE, INVERT,
13+
JUSTIFY_CONTENT_CHOICES, LETTER_SPACING_CHOICES, LTR, MARGIN_CHOICES,
14+
MAX_SIZE_CHOICES, MEDIUM, MIN_SIZE_CHOICES, NORMAL, NOWRAP, ORDER_CHOICES,
15+
ORPHANS_CHOICES, OUTLINE_COLOR_CHOICES, OUTLINE_STYLE_CHOICES,
16+
OUTLINE_WIDTH_CHOICES, OVERFLOW_CHOICES, PADDING_CHOICES,
17+
PAGE_BREAK_AFTER_CHOICES, PAGE_BREAK_BEFORE_CHOICES,
18+
PAGE_BREAK_INSIDE_CHOICES, POSITION_CHOICES, QUOTES_CHOICES, ROW, SEPARATE,
19+
SHOW, SIZE_CHOICES, STATIC, STRETCH, TABLE_LAYOUT_CHOICES,
2020
TEXT_ALIGN_CHOICES, TEXT_DECORATION_CHOICES, TEXT_INDENT_CHOICES,
2121
TEXT_TRANSFORM_CHOICES, TOP, TRANSPARENT, UNICODE_BIDI_CHOICES,
22-
VISIBILITY_CHOICES, VISIBLE, WHITE_SPACE_CHOICES, WIDOWS_CHOICES,
23-
WORD_SPACING_CHOICES, Z_INDEX_CHOICES, OtherProperty,
22+
VERTICAL_ALIGN_CHOICES, VISIBILITY_CHOICES, VISIBLE, WHITE_SPACE_CHOICES,
23+
WIDOWS_CHOICES, WORD_SPACING_CHOICES, Z_INDEX_CHOICES, OtherProperty,
2424
TextAlignInitialValue, default,
2525
)
2626
from .exceptions import ValidationError
27-
from .wrappers import Border, BorderBottom, BorderLeft, BorderRight, BorderTop, Outline
27+
from .wrappers import (
28+
Border, BorderBottom, BorderLeft, BorderRight, BorderTop, Outline,
29+
)
2830

2931
_CSS_PROPERTIES = set()
3032

@@ -305,7 +307,7 @@ def __init__(self, **style):
305307

306308
# 10.8 Leading and half-leading
307309
# line_height
308-
# vertical_align
310+
vertical_align = validated_property('vertical_align', choices=VERTICAL_ALIGN_CHOICES, initial=BASELINE)
309311

310312
# 11. Visual effects #################################################
311313
# 11.1.1 Overflow

0 commit comments

Comments
 (0)