By the end of this lesson you’ll have the full layout of a hero section standing up in Webflow — no styling yet, just a clean, well-organized structure. And along the way you’ll pick up the concepts almost every future section leans on: sections, containers, div blocks, classes, the box model, Flexbox, and inheritance.
We’re intentionally separating layout from styling. First we get every element into the right place and the right box; the visual polish comes in the next lesson. That order isn’t an accident — it’s the habit that keeps complex pages from turning into a mess.
The big mental shift here is decomposition. A page looks intimidating until you break it into sections, break each section into groups, and keep splitting until each piece is trivially simple. Do that, and even a busy layout feels like a breeze.
How it works
Almost every section you’ll ever build starts from the same skeleton: a section (a full-width band, like a chapter of the page, that also adds semantic value for accessibility and SEO), a main container inside it (which caps the width and keeps content centered), and a content wrapper div block inside that (which holds the actual content). Memorize that trio — section → main container → content wrapper — and you’ve got a reliable starting point every time.
The word that ties it all together is class. A class is a label with a list of instructions attached. Assign the same class to several elements and they all obey the same rules; change one rule and they all update at once. That’s the whole reason Webflow sites stay consistent and fast to edit. Webflow even color-codes the style selector to help: orange means a value is inherited from somewhere else, blue means you’ve set it directly on this class.
Two more ideas do a lot of heavy lifting. The first is the box model: select any element and you’ll see a blue outline — that’s its box. The entire web is boxes stacking on top of each other or sitting side by side, and the properties you set decide how. The second is Flexbox, the tool that tells those boxes how to arrange themselves — row or column — and how to share the available space. Set a wrapper to display: flex, choose a direction, and align its children; that single move solves a huge share of everyday layout problems.
Finally there’s inheritance: set text alignment on a wrapper and the paragraph inside it inherits the value without you touching the paragraph at all. Knowing which properties inherit saves you from styling the same thing over and over.
How to use it
- Add the base structure. Drop in a section (shortcut:
A, or⌘/Ctrl + E→ “section”) and give it the classsection. Inside, add a container with the classmain-container. Inside that, add a div block with the classsection_content-wrapper. - Cap and pad the container. On
main-container, set amax-width(around1920pxworks). For padding, use themin()function so it scales: set left/right padding tomin(64px, 4.5vw)and top/bottom tomin(128px, 9vw). The browser always picks the smaller of the two, which keeps spacing sensible from huge screens down to phones. - Split the content into three groups. Add three div blocks inside the content wrapper: a heading wrapper, an image wrapper, and a social-proof wrapper.
- Build the heading wrapper. Inside
hero-section_heading-wrapper, add a text label, an H1 heading, a paragraph, and a buttons wrapper holding two buttons. Set the wrapper todisplay: flex, direction vertical, aligned center. Set its text alignment to center (the children inherit it), and give the buttons wrapperdisplay: flexwith agapof16px. - Build the image wrapper. Add an image, upload your asset, and either write descriptive alt text or mark it decorative. Compress your assets from the Assets panel (AVIF is the recommended format) so the page loads fast.
- Build the social-proof wrapper. Mirror the heading wrapper (flex, vertical, centered) with a text block plus a logo list. Give the logo list
display: flexand agapof64px, then drop in the client logos. - Add breathing room. Give the heading wrapper and image wrapper a bottom
margin(around80px) to evenly space the three groups. Remember: padding is space inside an element’s boundary, margin is space outside it.
That’s the whole layout in place. In the next lesson we start styling — beginning with those logos that are currently white on white and completely invisible.