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()?
- Using classes instead of global functions in functions.php
- What are the ADVANTAGES of ORIGINAL wordpress template structure?
- Change admin bar to default:off
- Proper, exhaustive documentation for wp.editor etc
- Edit srcset and sizes attributes in Gutenberg image, cover and gallery – blocks
- How to change admin bar color scheme in MP6 / WP 3.8 front end?
- Template for individual post designs
- When to use esc_url, esc_html, esc_attr, and friends?
- Best practices – Should I create a child theme vs. customizing a framework theme? (such as HTML5 reset)
- How can you develop on a live WordPress installation that is using W3 Total Cache? [closed]
- Add colors to existing color palette without replacing it
- How to disable 3.1 “Admin Bar” via script for the admin user?
- What is the best practice for customizing a plugin’s JavaScript/jQuery?
- Front End Post Submit Form
- Can you filter posts by meta key with the getEntitityRecords selector?
- Feature Survey – What would you want in a resume theme?
- 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?
- Change loop order via form or link (jquery, not URL)
- Extend walker – navigation, adding data attribute to a tag
- How can I remove the Static Front Page option from the Customizer
- create blocks programmtically on theme activation
- Set front page as static page [closed]
- How to programmatically bring back “excerpts” field in post editor in WP 3.1+
- How can i customize the comment list
- How to add custom template tag in wordpress theme?
- How should I store global information such as a phone number so that it is editable through the CMS?
- When developing a distributable Theme, does it HAVE to be “inheritable”?
- 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
- Upgrading a custom theme through the Dashboard
- 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
- Can I customize any WordPress parent block-based theme template files by child theme like a parent classic theme?
- How to support Lazy Loading Assets in a WordPress Theme?
- Responsive Images – Generating multiple images from Theme Customizer control upload?
- How to retrieve an image from a post and display it before excerpt of a post? [duplicate]
- Modify Javascript Configuration Options for Theme Customizer Colour Picker
- Best practices: Custom theme sidebar menu – hardcode or widget?
- Best approach to create sites with Modular Content? [closed]
- Modify the Additional CSS section (adding a disclaimer)
- What’s the best action to use when you want to do something only once per theme setup?
- WordPress Gutenberg Theme: Structure, Hierarchy and Custom Templates
- Gutenberg Reusable Block as part of WordPress Theme page
- Version control for both Vagrant config and themes being developed [closed]
- 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?
- Why is the Links Manager visible?
- Custom button block doesn’t work
- How to float an image in Gutenberg
- Gutenberg – editor-font-sizes in functions not working
- Best way to start becoming a wordpress developer
- 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?
- Where should I update_options in a theme?
- WP 3.1 upgrade breaks AutoFocus+ theme
- Can’t select my block by clicking on it
- How to use get_theme_mod in gutenberg editor wordpress?
- Which file handles the block latest posts, I want to examine excerpt handling
- create-guten-block in wordpress theme?
- Displaying recent post excerpts on static front page
- Customizer: Unique identifier that distinguishes which image upload control is uploading an image
- Conditional statement to show pagination
- How to make theme elements customizable in wordpress?
- 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
- What VSCode extensions are there for working with block themes? [closed]
- How to make animated intro?
- What is the “correct” way to add hooks or similar PHP behavior to a blocktheme?
- How to edit theme functions file to modify pagination?
- Not able to select width of blocks inside of cover block
- How to check if a WordPress core block is active in sidebar
- gutenberg add classes to list items
- How do you replace content generated by custom fields with custom blocks in Block Editor?
- How to display all subpages and short by year
- Getting custom posts by post id from cutomizer text input
- Disabling Customizer Selective Refresh shortcut icons for selected controls
- JavaScript stops working on selectively refreshed sections one inside the other
- StoreFront product pages: Turn the Short Description section into a kindred tab section [closed]
- “Add A Widget” button in the Customizer
- Zoom on custom theme without child
- Customizer: save setting/control content to post/page
- 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
- Is it possible to visually group items on the theme customizer?
- Customize how a WordPress theme looks like in the Theme Selector