diff options
-rw-r--r-- | Userland/Libraries/LibWeb/CSS/StyleComputer.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index a77b9ef4da..83fea3dc0d 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -1132,8 +1132,15 @@ void StyleComputer::transform_box_type_if_needed(StyleProperties& style, DOM::El case BoxTypeTransformation::None: break; case BoxTypeTransformation::Blockify: - if (!display.is_block_outside()) - style.set_property(CSS::PropertyID::Display, IdentifierStyleValue::create(CSS::ValueID::Block)); + if (!display.is_block_outside()) { + // FIXME: We only want to change the outer display type here, but we don't have a nice API + // to do that specifically. For now, we simply check for "inline-flex" and convert + // that to "flex". + if (display.is_flex_inside()) + style.set_property(CSS::PropertyID::Display, IdentifierStyleValue::create(CSS::ValueID::Flex)); + else + style.set_property(CSS::PropertyID::Display, IdentifierStyleValue::create(CSS::ValueID::Block)); + } break; case BoxTypeTransformation::Inlinify: if (!display.is_inline_outside()) |