Nested group and cover blocks are the solution, and since you created your question the block editor has improved enough that your design can be created with group and cover blocks, with spacing rules via global styles. No code is necessary.
E.g. I was able to create this using just the editor, and no CSS or code:
I used a cover block for the background, then used a group block for layout, giving it a maximum width, a white background, and black text.
You could copy paste those blocks and use them to register a block pattern so that users would never have to create it themselves.
Likewise you could set it as a template for the inner block, but the solution is still the same, you do what you’d do in HTML and nest tags/blocks. Having a block with more than one internal area is just as incomprehensible as having a tag that has multiple separate insides without using <div>
or other tags to create them.
Related Posts:
- Custom Blocks as part of a theme
- When to use is_home() vs is_front_page()?
- Proper, exhaustive documentation for wp.editor etc
- Best practices – Should I create a child theme vs. customizing a framework theme? (such as HTML5 reset)
- How to disable 3.1 “Admin Bar” via script for the admin user?
- How the WordPress sidebar works
- WP Gutenberg custom block – generate theme colors from SASS and use them in the inspector and php callback
- Should we localize custom-made themes / plugins?
- Extend walker – navigation, adding data attribute to a tag
- How can I remove the Static Front Page option from the Customizer
- How can i customize the comment list
- How to handle theme customization and sass variables
- wp_enqueue_scripts not called on search page?
- wp_head() not inserting the default stylesheet style.css
- First completely customized theme, where should I start?
- WordPress how to override function adjacent_posts_rel_link_wp_head() in link-template.php the correct way
- Theme Customizer not loading
- How to support Lazy Loading Assets in a WordPress Theme?
- How to retrieve an image from a post and display it before excerpt of a post? [duplicate]
- Best practices: Custom theme sidebar menu – hardcode or widget?
- Best approach to create sites with Modular Content? [closed]
- What’s the best action to use when you want to do something only once per theme setup?
- Gutenberg Reusable Block as part of WordPress Theme page
- Customizer API and add_panel(). Panel doesn’t show
- How to correctly add JQuery in a WP theme?
- Creating multiple hooks for theme
- What is the best way to handle multiple calls to get_template_directory_uri() and similar functions?
- How to float an image in Gutenberg
- Gutenberg – editor-font-sizes in functions not working
- How to add a second stylesheet to the editor
- Removing non native customizer settings from a child theme
- How to reorganize the items returned by wp_list_comments()?
- which is the best way to customize nav-menu-template.php?
- How to use get_theme_mod in gutenberg editor wordpress?
- Which file handles the block latest posts, I want to examine excerpt handling
- Conditional statement to show pagination
- How to create a custom template to admin dashboard
- How do I Add images uploaded in the post to a default custom field
- How to add a button which saves the post then executes a function
- Limitations when modifying wp_title with a filter
- How to edit theme functions file to modify pagination?
- Not able to select width of blocks inside of cover block
- gutenberg add classes to list items
- Getting custom posts by post id from cutomizer text input
- Disabling Customizer Selective Refresh shortcut icons for selected controls
- “Add A Widget” button in the Customizer
- Zoom on custom theme without child
- Q: How to pull data from custom table to populate zustomizer setting/control select options
- Move default page templates to sub directory
- Changing a slider to a grid [closed]
- Custom Navigation build using wp_nav_menu and walker
- Using My Own Classes On Wp Unit Tests
- WooCommerce: multiple input field for multiple product variations
- Integrate WooCommerce theme with a WordPress theme [closed]
- How do you use WordPress for a website that’s not in a blog format?
- How to wrap all titles generated by Gutenberg “Heading” block with tag
- Child Theme header1.php file not overwriting parent theme’s header1.php file
- Replace site title with logo when logo is uploaded in customizer using
- Extending Twenty Eleven Theme
- Moving post title down the page / Removing a block from a post
- HTML block gutenberg templates
- Templates without a loop, best practice?
- Gutenberg theme development: how to add “headers” option under styles > colors > elements?
- searchform.php doesn’t work properly
- CSS added through customizer neglects the need of a child theme?
- Customizer: get_preview_url() inside customize_save_after hook
- How to add custom meta box when you have a custom page template file
- Clearing dummy data before launch
- How to call a widget in a loop at a specific iteration value?
- Right procedure when you develop a WP Website for a client
- New to WordPress – Read the Codex, Other Docs; Still Confused
- How to add custom page elements to the WYSIWYG editor?
- My contact form – I’ve changed the source code but the changes are not being applied
- How to custom category template based on category?
- How to update mark-up of a gallery block in a custom theme?
- Auto focus RichText field
- How to create nested array attribute
- How to diagnose wp-env environment problem
- WP Gutenberg custom block – generate theme colors from SASS and use them in the inspector and php callback
- How can I include custom Gutenberg Blocks in a theme?
- Block validation failed for `core/pullquote` after adding theme support for editor-color-palette
- Is there a way to add classes to a page when using a Gutenberg reusable block as page layout?
- Text View (Code View) in WordPress Customizer TinyMCE Editor
- What is the best practice workflow for new website overhaul and keeping current SEO ranking? [closed]
- Add a customize control depending wich radio setting is checked
- Any way to permanently translate themes?
- Undefined index: custom_sidebars
- How to share posts (and plugins) between existing site and new, separate dev/test installation?
- How to prevent XSS attack in wordpress theme?
- page.php is not called when I load a Page
- WordPress 3.5 + Foundation 5 not working on IE9
- Theme Option’s Save Button is not working
- Best practice to create required pages
- Permalinks problem with custom theme
- How to split the site’s layout without damaging this layout? [closed]
- Correct way to make a custom block theme responsive
- Insert gutenberg blocks into template
- Is there any filter or action hook to remove layout classes from appearing in my templates?
- When trying to run build script with gutenberg (with SVG import) – Error: Plugin name should be specified
- Block to show posts from same category