-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't force <details> to be a block. #9830
Comments
This comment was marked as spam.
This comment was marked as spam.
I am interested in working on fixing this, as discussed in the CSS WG meeting in July -- as part of trying to make the |
Here's an example of something I just tried to do and failed due to this (surprising) property: https://developer.mozilla.org/en-US/play?id=qbeKgiwJ2WxDjsbUmJNfYhVslwx4xw4CMyqPgebp2%2BICmuMP9DjzHQ0UcN344sA34UImTFR%2Bhg9YsIYY It would make me happy if @dbaron was able to fix this. |
I'd like to slightly broaden this issue to cover both the I need to do some further investigation on whether those restrictions are supported by statements in the HTML spec... but if they are I'd like to remove such statements along with the statements restricting |
|
This makes a number of related changes to specify the rendering of the <details> element: * It specifies the structure of the user agent shadow tree. This appears largely interoperable between implementations with the exception of the style or link element for the default summary styles: Gecko uses a link element as the first child, Chromium uses a style element as the last child, and WebKit does not use a style element (see below). This specifies a style or link as the first child. * It specifies the existence of the default summary and the presence of UA dependent text inside of it. This is present in all of Chromium, Gecko, and WebKit. * It specifies the styles needed for the default summary. These match Chromium and Gecko. (These are not present in WebKit because WebKit's mechanism for styling the marker does not match the existing spec.) * It removes the restriction that <details> is a block and cannot be changed. This is prototyped in Chromium and Gecko. This fixes whatwg#9830. * It specifies that the summary element is display: block by default. This matches all of Chromium, Gecko, and WebKit. * It specifies which element matches the ::details-content pseudo-element. (TODO: This needs to be specified in CSS) This is prototyped in Chromium. See w3c/csswg-drafts#9879 and w3c/csswg-drafts#9951 for more background.
What is the issue with the HTML Standard?
https://html.spec.whatwg.org/multipage/rendering.html#the-details-and-summary-elements says:
This effectively ignores
display
set on the details element, so if you want to setdisplay: flex
, for example, you're out of luck.This bites authors, even very experienced ones. The last one I'm aware of in bug 1856374.
There's no particular reason that this has to be the case. Probably it had to be the case before
<details>
was specified in terms of Shadow DOM, but now I'm not aware of any reason for this.This was discussed in the CSSWG when @dbaron brought up https://github.com/dbaron/details-styling. He probably has a bunch more context on this stuff, but I think lifting this restriction should be uncontroversially better, if we can get away with it.
The text was updated successfully, but these errors were encountered: