Re: <details> and hard-coding of display:block

Hey David,

On 8/1/23 21:16, David Baron wrote:
> Is that what you were talking about as something being hardcoded to 
> display:block, and does that conclusion make sense to you?

That style attribute bit seems fine to me. In fact we might not need a 
UA sheet, I think even with the style attribute styles from ::part() 
would override it (unless !important), so you wouldn't need the UA sheet.

The concerning bit is a bit earlier in the rendering section. In 
particular "The details element is expected to render as a block box.".

Right now, if you set `details { display: flex }`, that does nothing. 
That is, details never honors the display property. I think that needs 
fixing as part of your work on details styling.

For reference, this is where it happens in engines right now:

  * 
https://searchfox.org/mozilla-central/rev/85269d4444c2553e7f4c669fe4de72d64f4fe438/layout/base/nsCSSFrameConstructor.cpp#3257
  * 
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/html_details_element.cc;l=68;drc=a0ae2623dc2e4ebd136270afaa5b53eeec21df49
  * 
https://searchfox.org/wubkat/rev/95275b6303a95e64547d39b4462946a4df9103c9/Source/WebCore/html/HTMLDetailsElement.cpp#97-100

Even if we expose the internal parts, there's no good way to lay them 
out using flexbox / grid / etc if we don't fix that.

Cheers,

  -- Emilio

Received on Wednesday, 2 August 2023 09:44:31 UTC