top of page

Building a proportionally scaling design

Follow along with Technical Designer Ido Hershkovits as he explains how to create a design that keeps its relative size and position as the browser size changes.

What do you think about the course so far?

Thank you for your feedback!

How can we improve?

Thanks for submitting!

Explore more topics

Additional resources

Visit our help center

Ask the community

Hire an expert

Contact customer care

Ido Hershkovits

Technical Designer

I’m a web developer and Editor X specialist based in Tel Aviv. I work closely alongside the Editor X marketing team as a coding and responsive design expert. In my spare time, I’m a passionate musician and producer.

How to create a proportionally scaling design

Understanding sizing properties

Elements can be set to Fixed, Fluid or Scale proportionally from the Inspector panel.

Fixed sizing means an element’s width remains the same, no matter how the browser width changes.

Fluid sizing means an element’s width (and sometimes height) changes depending on the screen size. Elements such as images can be set to Scale proportionally, so they keep their relative width and height.

For your design to scale proportionally, make sure your elements are set to Fluid and Scale proportionally.

Understanding fixed versus fluid units

The units you use give you control over the way elements resize. You can find these units of measure under Sizing in the Inspector panel.

Pixels (px) are a fixed unit. Elements with a width or height set to pixels keep their size no matter how the viewport changes. If we use a fluid unit like percentage (%), the element’s size changes relative to the width of its parent container.

Other relative units in responsive design include viewport height (vh), viewport width (vw) and fractional units (fr), which you can learn more about here.

For a design to scale proportionally, elements should be in fluid units.

How to position elements

Under Position in the Inspector panel, we can set docking and margins to control the positioning of elements while they scale up or down.

Docking lets us define how an element is positioned relative to its parent. Elements automatically dock to the nearest edges of their parent container, but you can override this and dock to the top, left, right, bottom, or a combination of each.

Adding margins creates a buffer between an element and what’s around it. After docking an element, use margins to maintain a set distance between it and the edges of the parent container. You can also add margins to the sides of an element that aren’t docked. Margins can be set to a fixed number of pixels, but to scale proportionally, they should be set to a percentage.

How to set your section height to scale proportionally

Sections automatically fill the browser width, but you can adjust height settings however you need to.

If a section has a minimum height, it will reach that value and no longer become shorter—even if the elements inside continue to scale down. We can remove the minimum height by setting it to None.

When the minimum height is removed and the section height is set to Auto, the section height is determined by the content within the section. Add margins around the section content, so the section grows and shrinks proportionally.

How to add text that scales proportionally

When adding text, follow the same position rules as above and dock text elements with margins set to %.

You’ll also want to change the text from a fixed font size. Using the text editor, turn on Scale text and set a minimum and maximum font size. It takes some trial and error to determine the best values, but once you find the sizes that work, your text will scale smoothly as you resize the screen.

Result: With these concepts in mind, you can adjust your element properties to create designs that scale beautifully to fit any viewport size. Remember you can also readjust properties such as position, docking and margins, section height and text scale at different breakpoints.



How scale text works




Designing a Brick Layouter with max content

bottom of page