In reply to Glenn.

Hi, Glenn. My hope is that most of these questions are answered by the Theme Handbook, once it has been overhauled. That project is underway (I’m always on the lookout for others to help there).

I’ll try my best to answer your questions here, but feel free to ping me on WordPress Slack anytime if you want to chat directly or even hop on a call. We can talk specific scenarios.

I must confess to having a bit of trouble adapting to block theme customization that doesn’t simply involve changing style rules in a CSS stylesheet.

The goal is for themes to primarily use theme.json to alter design elements like colors, fonts, dimensions, etc. This puts WordPress, the theme, and users all on the same page. Refer to the theme.json docs for the specific options available.

The reality is that theme.json doesn’t handle every scenario, and you sometimes need to hop back into CSS. There’s nothing wrong with doing that, either.

For example, I’m not at all sure what to do to tweak the site header and nav bar. Would I make the necessary changes in the JSON file or CSS stylesheet? After all, the navigation block is limited in regard to handling padding and margins.

As a theme author, I’m right there with you. The Navigation block is extremely limited when styling via theme.json. I almost exclusively customize it with CSS if I need anything more than color or font changes.

Overall, how much JSON vs. CSS you use is often situational, depending on how complex the design is. There is not always a right or wrong solution to every problem, which can make it tough to feel confident in what you’re doing. The most important thing is to build something and share your experience, pain points, etc. back upstream.