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

Try: Overlay caption w. text-shadow. #63471

Merged
merged 8 commits into from
Aug 19, 2024
Merged

Conversation

jasmussen
Copy link
Contributor

@jasmussen jasmussen commented Jul 12, 2024

What?

Try to make progress on #8030 and #56587 by improving the caption style.

The current dark scrim is a very dark gradient to aid legibility for the white text on light backgrounds, however the sharpness of the gradient itself makes the legibility sub-optimal:

overlay-caption-before

This PR does a few things to keep the spirit of the same style, but improves it by:

  • Adding a small text-shadow to the text itself.
  • Applying a backdrop-blur to allow the text silhouette to avoid conflicts with complex imagery below.
  • Changes the padding to be em based, and slightly more relaxed.
  • Changes the color stops of the gradients to afford better contrast not just when it's one line of text, but multiple lines as well.

overlay-caption-after

Testing Instructions

Insert galleries with overlay captions.

@jasmussen jasmussen self-assigned this Jul 12, 2024
@jasmussen jasmussen added the [Block] Gallery Affects the Gallery Block - used to display groups of images label Jul 12, 2024
Copy link

github-actions bot commented Jul 12, 2024

Size Change: +1.68 kB (+0.09%)

Total Size: 1.77 MB

Filename Size Change
build/block-editor/content-rtl.css 4.54 kB -40 B (-0.87%)
build/block-editor/content.css 4.54 kB -40 B (-0.87%)
build/block-editor/index.min.js 256 kB +239 B (+0.09%)
build/block-editor/style-rtl.css 16.3 kB -58 B (-0.35%)
build/block-editor/style.css 16.3 kB -59 B (-0.36%)
build/block-library/blocks/comment-content/style-rtl.css 120 B +30 B (+33.33%) 🚨
build/block-library/blocks/comment-content/style.css 120 B +30 B (+33.33%) 🚨
build/block-library/blocks/gallery/style-rtl.css 1.83 kB +113 B (+6.59%) 🔍
build/block-library/blocks/gallery/style.css 1.82 kB +112 B (+6.54%) 🔍
build/block-library/blocks/navigation-link/editor-rtl.css 644 B -19 B (-2.87%)
build/block-library/blocks/navigation-link/editor.css 645 B -19 B (-2.86%)
build/block-library/blocks/navigation/editor-rtl.css 2.2 kB +15 B (+0.69%)
build/block-library/blocks/navigation/editor.css 2.2 kB +13 B (+0.59%)
build/block-library/blocks/template-part/editor-rtl.css 368 B -25 B (-6.36%)
build/block-library/blocks/template-part/editor.css 368 B -25 B (-6.36%)
build/block-library/editor-rtl.css 11.9 kB -3 B (-0.03%)
build/block-library/editor.css 11.9 kB -2 B (-0.02%)
build/block-library/index.min.js 217 kB +159 B (+0.07%)
build/block-library/style-rtl.css 14.8 kB +108 B (+0.73%)
build/block-library/style.css 14.8 kB +106 B (+0.72%)
build/components/index.min.js 224 kB +573 B (+0.26%)
build/components/style.css 12.1 kB -7 B (-0.06%)
build/edit-site/index.min.js 217 kB -51 B (-0.02%)
build/edit-site/posts-rtl.css 7.4 kB -6 B (-0.08%)
build/edit-site/posts.css 7.4 kB -7 B (-0.09%)
build/edit-site/style-rtl.css 12.7 kB -17 B (-0.13%)
build/edit-site/style.css 12.7 kB -18 B (-0.14%)
build/editor/index.min.js 101 kB +38 B (+0.04%)
build/reusable-blocks/index.min.js 2.55 kB +14 B (+0.55%)
build/style-engine/index.min.js 2.04 kB +12 B (+0.59%)
build/widgets/index.min.js 7.2 kB +13 B (+0.18%)
build/block-library/blocks/comment-author-name/style-rtl.css 72 B +72 B (new file) 🆕
build/block-library/blocks/comment-author-name/style.css 72 B +72 B (new file) 🆕
build/block-library/blocks/post-author-name/style-rtl.css 69 B +69 B (new file) 🆕
build/block-library/blocks/post-author-name/style.css 69 B +69 B (new file) 🆕
build/block-library/blocks/post-author/editor-rtl.css 107 B +107 B (new file) 🆕
build/block-library/blocks/post-author/editor.css 107 B +107 B (new file) 🆕
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 951 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.31 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.29 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 394 B
build/block-editor/default-editor-styles.css 394 B
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 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 310 B
build/block-library/blocks/button/editor.css 310 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 336 B
build/block-library/blocks/buttons/editor.css 336 B
build/block-library/blocks/buttons/style-rtl.css 328 B
build/block-library/blocks/buttons/style.css 328 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 221 B
build/block-library/blocks/comments-pagination/editor.css 211 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 668 B
build/block-library/blocks/cover/editor.css 669 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 314 B
build/block-library/blocks/embed/editor.css 314 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 342 B
build/block-library/blocks/form-input/style.css 342 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 955 B
build/block-library/blocks/gallery/editor.css 958 B
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 344 B
build/block-library/blocks/group/editor.css 344 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 894 B
build/block-library/blocks/image/editor.css 892 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 139 B
build/block-library/blocks/latest-posts/editor.css 138 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 304 B
build/block-library/blocks/media-text/editor.css 303 B
build/block-library/blocks/media-text/style-rtl.css 516 B
build/block-library/blocks/media-text/style.css 515 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-content/style-rtl.css 79 B
build/block-library/blocks/post-content/style.css 79 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 341 B
build/block-library/blocks/post-featured-image/style.css 341 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 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 399 B
build/block-library/blocks/post-template/style.css 398 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 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 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 220 B
build/block-library/blocks/query-pagination/editor.css 208 B
build/block-library/blocks/query-pagination/style-rtl.css 287 B
build/block-library/blocks/query-pagination/style.css 283 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 123 B
build/block-library/blocks/site-title/editor.css 123 B
build/block-library/blocks/site-title/style-rtl.css 90 B
build/block-library/blocks/site-title/style.css 90 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 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-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 144 B
build/block-library/blocks/tag-cloud/editor.css 144 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 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 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 541 B
build/block-library/blocks/video/editor.css 542 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.4 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/style-rtl.css 12.1 kB
build/compose/index.min.js 12.9 kB
build/core-commands/index.min.js 2.82 kB
build/core-data/index.min.js 73.1 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/index.min.js 12.6 kB
build/edit-post/style-rtl.css 2.31 kB
build/edit-post/style.css 2.31 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.2 kB
build/edit-widgets/style.css 4.2 kB
build/editor/style-rtl.css 9.36 kB
build/editor/style.css 9.35 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.09 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.54 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/interactivity/debug.min.js 16.3 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.78 kB
build/interactivity/index.min.js 13.2 kB
build/interactivity/navigation.min.js 1.16 kB
build/interactivity/query.min.js 742 B
build/interactivity/router.min.js 2.8 kB
build/interactivity/search.min.js 615 B
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.16 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.3 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.59 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.37 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 1.01 kB
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.85 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

@beafialho
Copy link

Nice! This may be perhaps out of scope but has the option of a left/right aligned overlay caption been considered?

@jasmussen
Copy link
Contributor Author

I'd love for a separate "Caption" element to be stylable, just like buttons, forms, inputs, etc. Right now that's missing, and I'd like to see that, this would also allow font size changes, alignments, color changes, etc.

@jasmussen jasmussen added the [Type] Enhancement A suggestion for improvement. label Jul 16, 2024
@jasmussen jasmussen marked this pull request as ready for review August 6, 2024 12:15
@jasmussen jasmussen requested a review from geriux as a code owner August 6, 2024 12:15
@jasmussen jasmussen requested a review from a team August 6, 2024 12:15
Copy link

github-actions bot commented Aug 6, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: beafialho <beafialho@git.wordpress.org>
Co-authored-by: paaljoachim <paaljoachim@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@jasmussen
Copy link
Contributor Author

Marking this one ready for review. The combination of background blur, a refined gradient, and the text shadow keeps contrast the same as before in most contexts, but improves it when many lines of overlay caption text is used. It's also close enough to the existing style that it is firmly in improvement territory, which is important given this is already shipping and in use. Would appreciate your reviews!

Copy link
Contributor

@t-hamano t-hamano 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 a great improvement. However, what I'm seeing seems a little different for some reason.

There's space on the left and right of the scrim. After some research, it seems like this is being affected by scrollbar-gutter: stable both-edges; which is part of the style of the custom-scrollbars-on-hover mixin. This issue only appears in certain environments (Windows OS, Chrome):

Chrome Firefox
image image

I also believe that we need to address two issues.

If the caption is scrollable, the bottom position of the scrim will move:

image

This style needs to be removed when the Image block is in the "Rounded" style:

image

@jasmussen
Copy link
Contributor Author

Just wanted to note that I really appreciate your excellent feedback, and will address it! Other things got in the way first, but the review hasn't been forgotten. Thank you 🙏

@paaljoachim
Copy link
Contributor

Btw
Here is the issue related to Image caption alignments:
#12997

@jasmussen
Copy link
Contributor Author

Took a stab. This was harder to address than I thought it would've been, so it needed kind of a fresh approach. What I've done now, and I believe this actually addresses all the items you brought up (though good to test again), is this:

  • I kept the adjusted/tweaked dark scrim gradient on the figcaption element itself. This addresses issues of the scrim only ever being as tall as the caption.
  • I've moved the blur layer to be attached to the figure itself, but only when there's a figcaption. This uses :has(), which has support, but that entire layer will simply disappear for IE11, and is fine.

The combination of these two, I feel, still captures the spirit of the effort, but should work better:

Screenshot 2024-08-13 at 16 54 36

Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

Thanks for the update! It looks like it's almost complete.

After testing it again, I noticed the following.

Personally, I feel that blur(4px) has a slightly large impact depending on the content of the image. What do you think about 2px?

4px blur:

image

2px blur:

image

Another thing I noticed is that the caption height is not constrained. Should we apply max-height: 40% if we want it to match the scrim?

image

// Create a background blur layer.
&:has(figcaption)::before {
content: "";
z-index: 0;
Copy link
Contributor

Choose a reason for hiding this comment

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

There doesn't seem to be any visual difference without z-index: 0, but is it necessary?


// Place the caption at the bottom.
figcaption {
z-index: 1;
Copy link
Contributor

Choose a reason for hiding this comment

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

There doesn't seem to be any visual difference without z-index: 1, but is it necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch on both z-indexes. They were briefly necessary in one of the versions I was testing, but in this final version they are not.

color: $white;
text-shadow: 0 0 1.5px rgba($color: $black, $alpha: 1);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
text-shadow: 0 0 1.5px rgba($color: $black, $alpha: 1);
text-shadow: 0 0 1.5px $black;

Since rgba($color: $black, $alpha: 1) is the same as black, I think it can be made simpler.

box-sizing: border-box;
@include custom-scrollbars-on-hover(transparent, rgba($white, 0.8));

// Dark gradient scrim.
background: linear-gradient(0deg, rgba($color: $black, $alpha: 0.4) 0%, rgba($color: $black, $alpha: 0) 100%, transparent);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
background: linear-gradient(0deg, rgba($color: $black, $alpha: 0.4) 0%, rgba($color: $black, $alpha: 0) 100%, transparent);
background: linear-gradient(0deg, rgba($color: $black, $alpha: 0.4) 0%, transparent 100%);

The gradient style should remain the same.

@jasmussen
Copy link
Contributor Author

Great feedback as always, thank you.

Personally, I feel that blur(4px) has a slightly large impact depending on the content of the image. What do you think about 2px?

Can we meet at 3px?

Screenshot 2024-08-16 at 09 42 05

2px feels so small to me that it might as well not be there:

Screenshot 2024-08-16 at 09 41 56

And by that I mean, if we're going to do it, it should be perceptible, otherwise best to not do it.

I'll go through your other pieces one by one now!

@jasmussen
Copy link
Contributor Author

Another thing I noticed is that the caption height is not constrained. Should we apply max-height: 40% if we want it to match the scrim?

I intentionally let it be unconstrained, what I found as I tinkered was that when constrained like we do now, the scrollbar behaves somewhat curiously since it only scrolls the caption. That also means that the caption itself can be cropped, which can look awkward, like so:

Screenshot 2024-08-16 at 09 47 08

Finally for really small images with captions, if we constrain the height, there might not be space to show anything at all.

That said, I'm happy to restore it to keep this PR smaller: it's mainly about elevating the quality and clarity of the scrim, than changing the behavior, so no strong opinion from my end. Let me know if I should restore it!

Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

LGTM! I left just a few suggestions at the end, but it all seems to work fine.

Finally for really small images with captions, if we constrain the height, there might not be space to show anything at all.

I had overlooked this scenario. It certainly seems like it would be better to leave the height unconstrained.

I was concerned that the lightbox toggle button would become unclickable when the caption reached 100% height, but that doesn't seem to be an issue:

image

packages/block-library/src/gallery/style.scss Outdated Show resolved Hide resolved
packages/block-library/src/gallery/style.scss Outdated Show resolved Hide resolved
overflow: auto;
padding: 0 8px 8px;
position: absolute;
padding: 1em;
Copy link
Contributor

@t-hamano t-hamano Aug 17, 2024

Choose a reason for hiding this comment

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

This is a non-blocker suggestion.

Because scrollbar-gutter: stable both-edges has been applied to the figcaption, the padding on the left and right looks wider, we may want to make it a little smaller.

Below is what it looks like on my environment, but how does it look on yours?

padding: 1em:

image

padding: 1em 0.5em:

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't disagree, though since this PR already touches a fair bit of CSS, I wonder if it's not best to do this separately?

Thank you again for the thorough reviews!

jasmussen and others added 2 commits August 19, 2024 08:44
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
@jasmussen
Copy link
Contributor Author

Just checking, is this good to merge?

@jasmussen
Copy link
Contributor Author

I'm going to merge, but happy to follow up!

@jasmussen jasmussen merged commit c1517ed into trunk Aug 19, 2024
62 checks passed
@jasmussen jasmussen deleted the try/overlay-caption-polish branch August 19, 2024 07:44
@github-actions github-actions bot added this to the Gutenberg 19.1 milestone Aug 19, 2024
@t-hamano
Copy link
Contributor

Sorry for the late reply. Of course, my suggestion regarding padding could be tried in another PR 👍

bph pushed a commit to bph/gutenberg that referenced this pull request Aug 31, 2024
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: beafialho <beafialho@git.wordpress.org>
Co-authored-by: paaljoachim <paaljoachim@git.wordpress.org>
@paaljoachim
Copy link
Contributor

paaljoachim commented Sep 3, 2024

Hei Joen.

I have a comment here...

In Gutenberg plugin 19.1 Gallery Image captions now look like this:

Screenshot 2024-09-03 at 21 30 59

The artist web site I am creating the artist does not want the caption on the images inside galleries so I moved these below with the following code.

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: 0 0;
    color: #C0BBBB;	
    position: initial;
    text-align: left;
}

The result looks like this:
Screenshot 2024-09-03 at 21 33 02

I should have tested this PR before it was merged with the setup I have for the web site, but I did not think about it.
This means when the caption is on the images the text looks nice and sharp if the caption is moved below the image it becomes blurry.

I am now having a difficult time using an important to remove the text shadow in the custom code.
text-shadow: 0 0 1.5px #000;

I added this text shadow code which seemed to work out alright with the rest of the code. So that it now becomes like so:

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: 0 0;
    color: #C0BBBB;	
    position: initial;
    text-align: left;
    font: 14px;
    text-shadow: 0 0 1px #C0BBBB !important;
}

@paaljoachim
Copy link
Contributor

One more thing. I noticed the bottom part of the Gallery images are blurred where the caption was earlier.

Gutenberg 19.1 active.
Screenshot 2024-09-03 at 21 52 56

Gutenberg 19.1 not active.
Screenshot 2024-09-03 at 21 52 37

@jasmussen
Copy link
Contributor Author

Can you try adding this CSS to your custom override?

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

That said, it's not clear to me this is necessarily an issue with the CSS as written, since it's meant to be an overlay.

One thing we found out is that, although there's no official support for captions below the image in a gallery, there's a little trick. If you apply a border-radius to the image in the gallery, the caption gets pushed below:
2024-09-04 09 36 04 tt5 local e451ed5fea24

CC: @aaronrobertshaw I noticed that this trick to move the caption below the image only works when the radius is applied locally. If you apply a border radius to the Image block in global styles, it does not change the galleries. Could it? Should it? It seems like if the behavior is in place locally, it should be in place globally as well, no?

@aaronrobertshaw
Copy link
Contributor

Thanks for the ping 👍

CC: @aaronrobertshaw I noticed that this trick to move the caption below the image only works when the radius is applied locally.

That's my understanding as well. It was introduced via #27869 into the overall refactor of the Gallery block to use inner image blocks.

The way it works is the image block will add a .has-custom-border class when the border styles are added to the block instance. The gallery block hooks onto that class to reposition the caption.

If you apply a border radius to the Image block in global styles, it does not change the galleries

I believe this was due to there being nothing for the block's styles to hook onto to apply the CSS to reposition the caption conditionally.

Could it? Should it? It seems like if the behavior is in place locally, it should be in place globally as well, no?

Could it, or should it? I'm not sure on either count.

Whether captions should be overlayed or not seems to me like it should be a block setting or perhaps a block style variation. Better yet, I'm still a fan of a dedicated Caption block which could encapsulate this sort of behaviour and styling.

Since the Gallery block refactor, support for custom CSS in Global Styles was added. That could be leveraged to reposition a caption if desired.

We now have other blocks adopting border-radius support that can result in clipped content e.g. Group, Column etc. They are left up to the user or theme author to handle whether that's via extra padding, custom CSS etc.

From memory, the caption repositioning was a compromise during the Gallery refactoring between the pre-existing overlaid captions and the capabilities of the image block. To maintain backward compatibility now, we might be stuck with block instances repositioning the caption.

To then bring the Global Styles side of things in line with the block instance behaviour, all I can think of are hacks to the Global Styles border panel for a single block type (bit of a non-starter), or defining a Gallery block style variation including custom CSS to handle the repositioning.

@paaljoachim
Copy link
Contributor

paaljoachim commented Sep 10, 2024

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

Thank you Joen!
The above code removes the blurred overlay in the bottom of the images inside a gallery where the caption is moved below the image.

The ideal would be go with....

Whether captions should be overlayed or not seems to me like it should be a block setting or perhaps a block style variation. Better yet, I'm still a fan of a #31823 which could encapsulate this sort of behaviour and styling.

As @aaronrobertshaw mentioned. As it would hopefully make it openly possible for a user to choose the location (and have editing tools) of the caption in relation to the image in an Image block and a Gallery block.


A summery:
I am now using this code to move the caption below the images and remove the blurred background at the bottom of the images inside a gallery.

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: 0 0;
    color: #C0BBBB;
    position: initial;
    text-align: left;
    font: 14px;
    text-shadow: 0 0 1px #C0BBBB !important;
}

/* Removes blur in bottom of Image blocks inside galleries. */
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Gallery Affects the Gallery Block - used to display groups of images [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants