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

Cover block: add option to set opacity when background colour used #35065

Merged
merged 15 commits into from
Oct 10, 2021

Conversation

glendaviesnz
Copy link
Contributor

@glendaviesnz glendaviesnz commented Sep 23, 2021

Description

Currently it is not possible to specify opacity on a cover block when a background colour is selected, which prevents the use of some interesting design patterns as noted here.

This PR is experimenting with a slightly different approach to the one taken at #33927, as there were issues with that one with using a style="opacity... due to kses limitations.

This uses the approach suggest by
@justintadlock of using the span already used by the gradient setting and keeping the structure more consistent.

Fixes: #32339

Testing

  • Check out PR to local dev env
  • Add a cover block with an image background. Within this block nest another Cover block and set a solid background or gradient, and check that you can alter the opacity to show the underlying image without affecting the opacity of the nested blocks children, in the editor and the front end.
  • Try loading an old cover block and make sure it migrates ok. If the old block did not have an image it should migrate default dimRatio from 50 -> 100
  • Check that the js unit tests run successfully as block fixtures and deprecations updated.

Screenshots

colour

gradient

@glendaviesnz glendaviesnz added the [Block] Cover Affects the Cover Block - used to display content laid over a background image label Sep 23, 2021
@glendaviesnz glendaviesnz self-assigned this Sep 23, 2021
@glendaviesnz glendaviesnz added the [Status] In Progress Tracking issues with work in progress label Sep 23, 2021
@github-actions
Copy link

github-actions bot commented Sep 23, 2021

Size Change: -48 B (0%)

Total Size: 1.07 MB

Filename Size Change
build/block-library/blocks/cover/style-rtl.css 1.17 kB -68 B (-5%)
build/block-library/blocks/cover/style.css 1.17 kB -68 B (-5%)
build/block-library/index.min.js 148 kB +285 B (0%)
build/block-library/style-rtl.css 10.3 kB -102 B (-1%)
build/block-library/style.css 10.4 kB -95 B (-1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 931 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.7 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.08 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.2 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/index.min.js 135 kB
build/block-editor/style-rtl.css 13.9 kB
build/block-editor/style.css 13.9 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 474 B
build/block-library/blocks/button/editor.css 474 B
build/block-library/blocks/button/style-rtl.css 600 B
build/block-library/blocks/button/style.css 600 B
build/block-library/blocks/buttons/editor-rtl.css 315 B
build/block-library/blocks/buttons/editor.css 315 B
build/block-library/blocks/buttons/style-rtl.css 370 B
build/block-library/blocks/buttons/style.css 370 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 206 B
build/block-library/blocks/columns/editor.css 205 B
build/block-library/blocks/columns/style-rtl.css 497 B
build/block-library/blocks/columns/style.css 496 B
build/block-library/blocks/cover/editor-rtl.css 666 B
build/block-library/blocks/cover/editor.css 670 B
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 977 B
build/block-library/blocks/gallery/editor.css 982 B
build/block-library/blocks/gallery/style-rtl.css 1.6 kB
build/block-library/blocks/gallery/style.css 1.59 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 491 B
build/block-library/blocks/image/style.css 494 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 568 B
build/block-library/blocks/navigation-link/editor.css 570 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 300 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/style-rtl.css 195 B
build/block-library/blocks/navigation-submenu/style.css 195 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/editor-rtl.css 1.72 kB
build/block-library/blocks/navigation/editor.css 1.72 kB
build/block-library/blocks/navigation/style-rtl.css 1.62 kB
build/block-library/blocks/navigation/style.css 1.61 kB
build/block-library/blocks/navigation/view.min.js 2.74 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 198 B
build/block-library/blocks/page-list/style.css 198 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-author/editor-rtl.css 210 B
build/block-library/blocks/post-author/editor.css 210 B
build/block-library/blocks/post-author/style-rtl.css 182 B
build/block-library/blocks/post-author/style.css 181 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 396 B
build/block-library/blocks/post-featured-image/editor.css 397 B
build/block-library/blocks/post-featured-image/style-rtl.css 146 B
build/block-library/blocks/post-featured-image/style.css 146 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 391 B
build/block-library/blocks/post-template/style.css 392 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 378 B
build/block-library/blocks/pullquote/style.css 378 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 262 B
build/block-library/blocks/query-pagination/editor.css 255 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query-title/editor-rtl.css 85 B
build/block-library/blocks/query-title/editor.css 85 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 374 B
build/block-library/blocks/search/style.css 375 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 769 B
build/block-library/blocks/site-logo/editor.css 769 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 165 B
build/block-library/blocks/social-link/editor.css 165 B
build/block-library/blocks/social-links/editor-rtl.css 812 B
build/block-library/blocks/social-links/editor.css 811 B
build/block-library/blocks/social-links/style-rtl.css 1.3 kB
build/block-library/blocks/social-links/style.css 1.3 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 636 B
build/block-library/blocks/template-part/editor.css 635 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/term-description/editor-rtl.css 90 B
build/block-library/blocks/term-description/editor.css 90 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 853 B
build/block-library/common.css 849 B
build/block-library/editor-rtl.css 9.89 kB
build/block-library/editor.css 9.89 kB
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/theme-rtl.css 665 B
build/block-library/theme.css 669 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 45.7 kB
build/components/index.min.js 217 kB
build/components/style-rtl.css 15.3 kB
build/components/style.css 15.3 kB
build/compose/index.min.js 10.3 kB
build/core-data/index.min.js 12.4 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 614 B
build/data/index.min.js 7.1 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 428 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.45 kB
build/edit-navigation/index.min.js 15.3 kB
build/edit-navigation/style-rtl.css 3.74 kB
build/edit-navigation/style.css 3.74 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/index.min.js 29.2 kB
build/edit-post/style-rtl.css 7.2 kB
build/edit-post/style.css 7.19 kB
build/edit-site/index.min.js 29.4 kB
build/edit-site/style-rtl.css 5.5 kB
build/edit-site/style.css 5.5 kB
build/edit-widgets/index.min.js 15.7 kB
build/edit-widgets/style-rtl.css 4.1 kB
build/edit-widgets/style.css 4.1 kB
build/editor/index.min.js 37.5 kB
build/editor/style-rtl.css 3.76 kB
build/editor/style.css 3.75 kB
build/element/index.min.js 3.17 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 5.93 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.6 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.72 kB
build/keycodes/index.min.js 1.3 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.92 kB
build/notices/index.min.js 845 B
build/nux/index.min.js 2.03 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.83 kB
build/primitives/index.min.js 921 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.63 kB
build/reusable-blocks/index.min.js 2.19 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.6 kB
build/server-side-render/index.min.js 1.52 kB
build/shortcode/index.min.js 1.48 kB
build/token-list/index.min.js 562 B
build/url/index.min.js 1.74 kB
build/viewport/index.min.js 1.02 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.11 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@ramonjd
Copy link
Member

ramonjd commented Sep 23, 2021

I know this is WIP, so just jotting down observations so far.

Zero opacity (at least according to the range control is darker than 10 or 20 opacity. Something to do with the default background color for .wp-block-cover__gradient-background. Still looking.

opacity-1

At least in TwentyTwentyOne, the value of var(--cover--color-background) is black, so setting the Cover Block background to black appears to have no effect:

opacity-2

The latter might be a theme thing though. Will keep testing tomorrow.

Thank you!

@glendaviesnz
Copy link
Contributor Author

glendaviesnz commented Sep 23, 2021

Zero opacity (at least according to the range control is darker than 10 or 20 opacity. Something to do with the default background color for .wp-block-cover__gradient-background. Still looking.

For some reason the opacity setting explicitly excluded setting opacity to 0 - not really sure why, so have allowed this now, but need to have a think about whether there are some unexpected gotchas to doing this that may have been the reason for not allowing 0 opacity previously.

@glendaviesnz
Copy link
Contributor Author

At least in TwentyTwentyOne, the value of var(--cover--color-background) is black, so setting the Cover Block background to black appears to have no effect:

Not sure how we could get around that, or if it is in fact an issue - open to ideas?

@ramonjd
Copy link
Member

ramonjd commented Sep 24, 2021

I found something else strange:

  1. Create a cover block with a background image
  2. See that the Opacity has a value
  3. Now clear the media
  4. The opacity field is cleared and the className is has-background-dim-NaN

Sep-24-2021 11-13-35

Is it because we set the dimRatio to undefined here?

I guess we either need to reset the opacity value to number or keep the state after we clear the media?

Not sure how we could get around that, or if it is in fact an issue - open to ideas?

Not sure if it's an issue either. I checked Twenty Twenty for example, which doesn't have this problem at all.

In relation to the deprecations, I tested out creating a new deprecation core__cover__deprecated-7.html with the content from core__cover.html, and added updated source code from this patch into core__cover.html. These passed.

But as @aaronrobertshaw pointed out in our discussions, it looks like we might have to do the same for the image/video/gradients etc unless I'm mistaken.

@glendaviesnz
Copy link
Contributor Author

glendaviesnz commented Sep 24, 2021

  1. The opacity field is cleared and the className is has-background-dim-NaN

Nice catch! I have pushed a fix for this, which is to just leave the opacity as is when image is removed - I think the idea of clearing it probably relates to the fact that previously it was irrelevant if there was no media, but now it seems to make more sense to leave it as is - but let me know if you think there is any flaw in my logic here.

@ramonjd
Copy link
Member

ramonjd commented Sep 24, 2021

which is to just leave the opacity as is when image is removed

Thanks! This sounds legit to me. My reasoning is that if we go to the trouble of setting an opacity, it seems unexpected to have that removed as a side effect of clearing an image.

@glendaviesnz glendaviesnz changed the title [WIP] Cover block: add option to set opacity when background colour used Cover block: add option to set opacity when background colour used Sep 24, 2021
@glendaviesnz glendaviesnz removed the [Status] In Progress Tracking issues with work in progress label Sep 24, 2021
@glendaviesnz glendaviesnz force-pushed the add/opacity-to-cover-bgcolor branch from 2a15af5 to 2e9386d Compare September 24, 2021 03:17
@ramonjd ramonjd added the [Type] Enhancement A suggestion for improvement. label Sep 24, 2021
@glendaviesnz glendaviesnz force-pushed the add/opacity-to-cover-bgcolor branch from 2e9386d to 5018ded Compare September 28, 2021 02:39
@apeatling apeatling self-requested a review September 28, 2021 17:09
Copy link
Contributor

@apeatling apeatling left a comment

Choose a reason for hiding this comment

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

This worked for me with solid colors, but when I switch from a solid color with an opacity set to a gradient, the opacity no longer works:

2021-09-28 10 10 46

@glendaviesnz
Copy link
Contributor Author

This worked for me with solid colors, but when I switch from a solid color with an opacity set to a gradient, the opacity no longer works:

nice catch @apeatling - I only tested custom gradients, which work, and not the preset gradients. I have pushed a fix for this if you can retest please.

@glendaviesnz glendaviesnz force-pushed the add/opacity-to-cover-bgcolor branch from ba69914 to d45216b Compare October 4, 2021 02:16
@apeatling apeatling self-requested a review October 5, 2021 19:59
Copy link
Contributor

@apeatling apeatling left a comment

Choose a reason for hiding this comment

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

Confirmed this is now working when switching between solid colors and pre-set and custom gradients. 👍

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

Nice work @glendaviesnz! The deprecations are looking good to me now.

I ran into a couple of issues while testing on some classic themes:

In TwentyTwentyOne, the theme sets a black background color on the .wp-block-cover class. So on the front end of the site, the opacity fades the color over black instead of the parent cover block with the background image. I imagine this one will need to be fixed in that theme instead?

image

On the front end of the site running TwentyTwenty and TwentyNineteen, if I choose one of the preset colors, the background color is getting overridden with a rule that's trying to use a CSS variable that doesn't appear to be present. I'm not sure if this is a theme issue or a regression elsewhere in Gutenberg? (The screenshots are a little small, but in inspect element, it says --wp--preset--color--accent or --wp--preset--color--primary is not defined). So, possibly not caused by this PR, but it'd be good for us to figure out why it isn't working 🤔

TwentyTwenty TwentyNineteen
image image

I also ran into an issue with using a custom color in the rendered markup instead of one of the preset colors. Looks like it should be a simple fix, so I've added a comment.

Happy to do more testing, too!

packages/block-library/src/cover/save.js Outdated Show resolved Hide resolved
@glendaviesnz
Copy link
Contributor Author

In TwentyTwentyOne, the theme sets a black background color on the .wp-block-cover class. So on the front end of the site, the opacity fades the color over black instead of the parent cover block with the background image.

I think we should open an issue for this in the theme repo once this PR is merged. There is a similar issue with text color in this block in TT1

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

Thanks @glendaviesnz, that's testing nicely for me now!

TT1-blocks TwentyNineteen
image image

I think we should open an issue for this in the theme repo once this PR is merged.

Agreed, both that issue and the missing CSS variables are unrelated to this PR so let's look into those separately.

LGTM!

@apeatling apeatling self-requested a review October 7, 2021 17:25
@glendaviesnz glendaviesnz force-pushed the add/opacity-to-cover-bgcolor branch from 4faf3ab to e7bc4a5 Compare October 10, 2021 22:02
Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

This is still working nicely for me after the rebase:

LGTM! 🚀

@glendaviesnz glendaviesnz merged commit b5a6329 into trunk Oct 10, 2021
@glendaviesnz glendaviesnz deleted the add/opacity-to-cover-bgcolor branch October 10, 2021 23:43
@github-actions github-actions bot added this to the Gutenberg 11.8 milestone Oct 10, 2021
@paaljoachim
Copy link
Contributor

This Gutenberg support issue showed up: https://wordpress.org/support/topic/v11-8-0-color-issues/
It seems it is related to the Cover block.
Could someone take a look at the issue?

@ramonjd
Copy link
Member

ramonjd commented Nov 2, 2021

This Gutenberg support issue showed up: https://wordpress.org/support/topic/v11-8-0-color-issues/
It seems it is related to the Cover block.

Could it be related to the change in Cover block: Only use white text when the background of the cover block is dark.

It sets some default colors, most notably, black where the background "is light".

An is-light classname is added to the block cover container.

For example, selecting a black background in Gutenberg 11.7 gives me black text in the editor, but white on the frontend:

Editor Frontend
Screen Shot 2021-11-02 at 9 28 35 pm Screen Shot 2021-11-02 at 9 28 28 pm

In Gutenberg 11.8:

Editor Frontend
Screen Shot 2021-11-02 at 9 28 35 pm Screen Shot 2021-11-02 at 9 28 54 pm

cc @scruffian

@scruffian
Copy link
Contributor

I think that's the expected behaviour. cc @glendaviesnz

@glendaviesnz
Copy link
Contributor Author

glendaviesnz commented Nov 3, 2021

I think that's the expected behaviour

@ramonjd That is correct - #33541 was designed to get around the issue of someone adding a cover block with a dark background and then typing in paragraph and not seeing anything as text colour black, so it takes a stab at setting a visible text colour based on background being dark or not:

cover-color

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Cover Affects the Cover Block - used to display content laid over a background image [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cover Block: Allow Opacity Option For Gradients/Colors
6 participants