Skip to content
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

Add html to reset styles for the .editor-styles-wrapper container #62350

Merged
merged 2 commits into from
Jun 24, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions packages/block-library/src/reset.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,18 @@
// We use :where to keep specificity minimal.
// https://css-tricks.com/almanac/selectors/w/where/
:where(.editor-styles-wrapper) {
/**
* The following styles revert to the browser defaults overriding the WPAdmin styles.
* This is only needed while the block editor is not being loaded in an iframe.
*/
font-family: serif; // unfortunately initial doesn't work for font-family.
font-size: initial;
line-height: initial;
color: initial;
// The following styles revert to the browser defaults overriding the WPAdmin styles.
html & {
font-family: serif; // unfortunately initial doesn't work for font-family.
font-size: initial;
line-height: initial;
color: initial;

// Many themes with white backgrounds load editor styles but fail to also provide
// an explicit white background color, assuming a white editing canvas.
// So to match browser defaults, we provide a white default here as well.
background: #fff;
// Many themes with white backgrounds load editor styles but fail to also provide
// an explicit white background color, assuming a white editing canvas.
// So to match browser defaults, we provide a white default here as well.
background: #fff;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The admin styles seem to specifically target the body. Could we move these particular styles out of the here(.editor-styles-wrapper) block and under body, maybe with a link to which styles are being reset?

Also when did this break? Where you able to pinpoint the specific commit or release?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cc @aaronrobertshaw in case it rings a bell

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The selector needs at least 0-0-1 specificity to override body, which it had before removing html in 46752.

I made #61959 to restore that selector exactly as it was for the whole set, and Aaron already suggested to isolate the change to only the first selector of the stylesheet.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case, we should probably change the selector to:

div:where(.editor-styles-wrapper),
body:where(.editor-styles-wrapper)

So that it overrides the admin styles for both an iframed and non-iframe editor.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

html :where(.editor-styles-wrapper) applied to either element in WordPress 6.3, and I just made a quick edit directly in wp-includes\css\dist\block-library\reset.css with 6.6 beta to confirm that it still covers both elements.

iframe:

iframe editor with corrected background and font size

non-iframe:

non-framed editor with element inspector open

(the theme for these screenshots is Twenty Thirteen)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restoring is what I tried first :) #61959

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, so we only want it to affect the top level styles. I guess I meant, why not take out that section and do it in a separate block? I find that a bit more readable than html &.


.wp-align-wrapper {
max-width: $content-width;
Expand Down
Loading