Fixing Responsive Layouts
A block's ability to scale appropriately to screen size, also known as its responsiveness, helps improve user experience, or UX. If your layout is responding counter to your intention, check this article for the most common helpful tips.
Every project is unique and when one needs help, it's best to make adjustments with a few guidelines in mind:
- Work methodically and consider working in a duplicate page if experimenting might significantly change the project.
- Read The Box Model. This doc lays out the fundamentals of layout and shares helpful pointers.
- If a block is overflowing the boundaries of its parent container, consider adjusting the layout so that all elements naturally stay within their own containers, as this makes building responsively faster and requires fewer tweaks and less maintenance. Make sure a containing block doesn't have a fixed width that's smaller than the width of the nested block. Read How Width Affects Layout for valuable information on how this can happen.
- Check widths and remove any fixed widths. If you're new to CSS, reset widths to their block default, working from the most obviously in-need-of-help block followed by its parent container and any containers close by or that are overlapping.
- Use absolute positioning sparingly or avoid it if possible. Position absolute pulls a block out of the flow of the page and can have surprising results for those new to CSS. If you decide to use absolute positioning, use position relative on the nearest possible containing block so that the positioning of the nested block is relative to the containing block rather than to the entire layout.
- If there's an absolute positioned block in the Layers tab but not in the Visual Editor work area or preview, select the layer and then check the Style tab Visibility section as well as the CSS Properties section. Position absolute can potentially place a block off the screen. To find the Block, remove positioning and any margins or padding that might be pushing it out of the viewport.