-
Notifications
You must be signed in to change notification settings - Fork 360
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
Quadrat: add cover pattern #3676
Conversation
You may want to have a look at #3615 (comment) for a way to alter the color of the svg when loaded as a background. This method is being used on the responsive navigation PR for gutenberg |
Very cool! This seems like a perfect candidate for that method — mask-image + background-color |
Some block markup to try it with:
|
Ok, it's not super pretty, but it works. I had to use the :after pseudoelement to cover the background of the container div because I couldn't hide it or remove the background value and still use the background value on the before pseudoelement. If only the selected values where also defined as css variables... |
This is wild, and very cool. It seems like the primary headache is the need for two custom colors, one for the background, one for the square. Could we simply show the square as black/transparent to achieve mostly the same, or do they need to be able to be set separately? |
I think having the square be black/transparent would be a decent tradeoff, provided that we do the same for the squares we use elsewhere in the theme. Can we use a blend mode here, either in the SVG or the CSS? It's possible to replicate the color pretty closely if we use mix-blend mode. The downside is that it renders just a little differently depending on your browser. https://codepen.io/kjellr/pen/MWJzEKK?editors=1100 Actually... have we considered creating the entire square shape using only CSS? I'm not sure we're gaining much here by using a SVG. |
I prefer the svg over the square too for the same reasons Jeff explained. And I really like the solution with the blend mode. |
Yeah, good call. 👍 Those screenshots look great! Does it work on pure white/black backgrounds? |
Ok after some more trial and error, I think I have an approach. It even works with gradients! I ended up targeting the
|
Maybe we can add a little extra style so if the block includes |
Would it be ok to add black and white to the palette? That way we make sure those colors classes exist, else I don’t think the generated class is actually has-black-background-color |
So yeah, since the theme doesn't have a black/white color definition, picking them as custom on the editor will generate inline styles but not a white/black class that we can detect for this. Still, in light of the direction that colors will take in the future, it's safe to assume that those colors will exist in the default palette provided by Gutenberg, and adding them to the theme today shouldn't be an issue. They will show up as part of the palette today, but we can remove them once the changes to GB are done and let them be handled by the editor's default palette then. |
Until they're provided by default by Gutenberg, I think all of our themes should include black and white options in their palettes. |
b27149a
to
965f0ed
Compare
Since they're not using blend mode, can we make the black and white versions have a lower opacity? Maybe something like 25%? Also, a few other small notes:
|
@kjellr lower the opacity of the square or of the background? |
965f0ed
to
674cb6c
Compare
7fee23a
to
114be37
Compare
This one's had a lot of back and forth. I think the main points have been addressed, it's getting a bit hard to follow so going to merge and we can address any additional feedback in a follow-up. Thanks everyone! |
Sorry, I was afk! I'll give this a test soon and open a new issue if I run into anything. |
* Try using svg for block pattern. * Try mask-image instead. * move the svg to a before pseudoelement * refactored the pseudoelements * fix for the editor interaction when cover block is highlighted * Add block pattern. * Use a transparent div instead of svg. Simplify how color of the diamond is set. * Rotate closer to the design. * Use background image with svg and mix-blend-mode. * made block pattern wide aligned * created exceptions bof black and white * changes to fit the design, lowered opacity on black and white versions * Add autoprefixing to Quadrat * removed error from rebase * removed unnecessary z-index, linting * z-index added * Scope CSS to cover block. * :: for consistency. Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Ben Dwyer <ben@scruffian.com>
* Try using svg for block pattern. * Try mask-image instead. * move the svg to a before pseudoelement * refactored the pseudoelements * fix for the editor interaction when cover block is highlighted * Add block pattern. * Use a transparent div instead of svg. Simplify how color of the diamond is set. * Rotate closer to the design. * Use background image with svg and mix-blend-mode. * made block pattern wide aligned * created exceptions bof black and white * changes to fit the design, lowered opacity on black and white versions * Add autoprefixing to Quadrat * removed error from rebase * removed unnecessary z-index, linting * z-index added * Scope CSS to cover block. * :: for consistency. Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Ben Dwyer <ben@scruffian.com>
* Try using svg for block pattern. * Try mask-image instead. * move the svg to a before pseudoelement * refactored the pseudoelements * fix for the editor interaction when cover block is highlighted * Add block pattern. * Use a transparent div instead of svg. Simplify how color of the diamond is set. * Rotate closer to the design. * Use background image with svg and mix-blend-mode. * made block pattern wide aligned * created exceptions bof black and white * changes to fit the design, lowered opacity on black and white versions * Add autoprefixing to Quadrat * removed error from rebase * removed unnecessary z-index, linting * z-index added * Scope CSS to cover block. * :: for consistency. Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Ben Dwyer <ben@scruffian.com>
* Try using svg for block pattern. * Try mask-image instead. * move the svg to a before pseudoelement * refactored the pseudoelements * fix for the editor interaction when cover block is highlighted * Add block pattern. * Use a transparent div instead of svg. Simplify how color of the diamond is set. * Rotate closer to the design. * Use background image with svg and mix-blend-mode. * made block pattern wide aligned * created exceptions bof black and white * changes to fit the design, lowered opacity on black and white versions * Add autoprefixing to Quadrat * removed error from rebase * removed unnecessary z-index, linting * z-index added * Scope CSS to cover block. * :: for consistency. Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Ben Dwyer <ben@scruffian.com>
* Scaffolding a universal theme plus basic typography and color palette. * fixed do_blocks routes and override index.html from BCB * added header and footer templates * changed query to post content block * commented with the GB issue * Quadrat: Add new heading sizes and other small misc changes (#3649) * Quadrat: Add new heading sizes * Quadrat: Further work on Lists and Quotes * Quadrat: Remove whitespace * Quadrat: Add responsive Heading font-sizes * Fix typo. * Recompile. * remove older deploy actions and adding quadrat deploy action (#3655) * Add the hosts block pattern. (#3662) * Add the hosts block pattern. * Fix categories. * Update img refs. * Add alt text to media text pattern. * Revise block pattern names. * Add text domain. * Quadrat: override BCB's templates with php ones (#3667) * override BCB's templates with php ones * Revert unrelated changes to Seedlet Blocks that are not in trunk. * Quadrat: Add responsive Paragraph styles and start styling the Code b… (#3663) * Quadrat: Add responsive Paragraph styles and start styling the Code block * Quadrat: Remove Code block styling * Revise heading max vw. Co-authored-by: Jeff Ong <jonger4@gmail.com> * Quadrat: Add Latest episodes block pattern (#3665) * added Latest episodes block pattern * translatable strings * staging url for media * rebased, updated texts and adjusted paddings * added a group with padding to the blocks * Body line-height to 1.7. Co-authored-by: Jeff Ong <jonger4@gmail.com> * Add menu locations to quadrat * Remove disconnected changes * Remove footer menu location * rebuild theme.json * Quadrat: Add Quote block styles * Tightened up the line-height and lessened the space between quote and citation. * Remove properties that already exist in the parent theme * Remove quote sass include and rebuild. * Quadrat: Add list styles * Removed variable usage for list item style * Updated list styles to be more correcter * Try/header template part wrapped (#3714) * Modified site-title styles to match comps * Added a navigation rendering function to render the navigation block based on a classic data source, wrap the output in an HTML block to be inserted anywhere blocks are do_block()'ed * Added a header template part that leverages the rendered navigation block markup * Replaced usage of navigation block template with new template-part * Added styles for header for proper layout unachievable with blocks. * Quadrat: Style the Code block * Remove unneeded declarations * Removed font-changing settings on code block * Quadrat: add cover pattern (#3676) * Try using svg for block pattern. * Try mask-image instead. * move the svg to a before pseudoelement * refactored the pseudoelements * fix for the editor interaction when cover block is highlighted * Add block pattern. * Use a transparent div instead of svg. Simplify how color of the diamond is set. * Rotate closer to the design. * Use background image with svg and mix-blend-mode. * made block pattern wide aligned * created exceptions bof black and white * changes to fit the design, lowered opacity on black and white versions * Add autoprefixing to Quadrat * removed error from rebase * removed unnecessary z-index, linting * z-index added * Scope CSS to cover block. * :: for consistency. Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Ben Dwyer <ben@scruffian.com> * removes template hack * Quadrat: Add Episode block pattern (#3695) * create episode pattern * added group wrapper for padding * correct url for image * typo * update to use media and text * changed the url of the image, added alt content and em tag * remove unneeded class, added wrapper for bottom padding * Scope the 0 padding to text content without a background. * Remove group, add spacer. Fix local image ref. Co-authored-by: Ben Dwyer <ben@scruffian.com> Co-authored-by: Jeff Ong <jonger4@gmail.com> * Change colors used in theme.json from descreptive to semantic (#3725) * Change colors used in theme.json from descreptive to semantic * semanticizing the color * formatting * also changed the child theme.json * Quadrat: Add table styles (#3719) * Quadrat: Add styles for tables * Add tbody for extra specificity * Add a border to the top of the first row * Remove text-align. Co-authored-by: Jeff Ong <jonger4@gmail.com> * Allowing overflow of group-wrapped navigation (#3732) * Update screenshot.png (#3735) * Quadrat: Add page templates (#3721) * Rebase trunk. * Revise footer. * Add CSS for the next/prev links * Continue rebase. * remove test code * used gutenberg_block_template_part to load template parts on php templates * Remove testing text * alignment tweaks * Add separate templates for page and post. * Restore header wrapper that was accidentally removed in rebase. * Template tweaks. * Add page block template. Co-authored-by: Jeff Ong <jonger4@gmail.com> Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> * Make index query inherit query string. * Update screenshot.png (#3742) * Quadrat: Add CSS for a featured image * Quadrat: Headlines and Buttons Block Pattern (#3744) * created block pattern * padding rules for mobile * added new class to all the group blocks * Remove all padding from text content on mobile. Co-authored-by: Jeff Ong <jonger4@gmail.com> * Change hover rules for buttons * Add hover styles for buttons and links * Remove background color from buttons. (#3752) * Quadrat: Add the listen pattern * refactor patterns to single files * move utility classes to BCB * refactor listen to the podcast * Quadrat: Add a join pattern * Make the pattern wide * Check the class exists before calling it * Make sure the plugin is loaded before adding the pattern * Move the block pattern CSS to a new file Co-authored-by: Maggie Cabrera <maggie.cabrera@automattic.com> Co-authored-by: Daniel Dudzic <daniel.dudzic@automattic.com> Co-authored-by: Jason Crist <jcrist@pbking.com> Co-authored-by: Ben Dwyer <ben@scruffian.com> Co-authored-by: Kjell Reigstad <kjell.reigstad@automattic.com>
This PR adds the following block pattern (part of #3642) that leverages a new block style variation on the cover block.
h/t @MaggieCabrera for the implementation 🙌 . Doing it this way means users can control the color using the cover blocks built in overlay. Unfortunately it doesn't seem to be working with gradients but maybe we can look into that as a next step.
Demo