1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 19:45:08 +00:00

LibHTML: Implement the "margin" shorthand property

This is a very bulky way of doing this, and doesn't seem sustainable to
implement every shorthand property this way, but it's a place to start.

The "margin" CSS property now expands into its four longhands as far as
my understanding of the specs.

Note that shorthand expansion happens when we *resolve* style, not when
we parse CSS. I'm not sure this is correct anymore, I think other UA's
may actually expand shorthands into the declaration directly at parse
these days. If so, we should do this at parsing as well.
This commit is contained in:
Andreas Kling 2019-11-18 11:49:19 +01:00
parent e6e41e4fb8
commit 00d171e4d6
4 changed files with 82 additions and 6 deletions

View file

@ -46,6 +46,8 @@ public:
bool is_color() const { return type() == Type::Color; }
bool is_identifier() const { return type() == Type::Identifier; }
bool is_image() const { return type() == Type::Image; }
bool is_string() const { return type() == Type::String; }
bool is_length() const { return type() == Type::Length; }
virtual String to_string() const = 0;
virtual Length to_length() const { return {}; }