In Figma, images can be edited on the fly after importing. You can control settings like Exposure, Contrast and Saturation without having to leave the design tool. Styles in Text Layer. In Figma, you can actually customize the Text layer to have multiple colors, fonts and other type options. In the Layout grid section of the Properties panel, click the icon. Click the icon to create a new style. Give the style a name and description and click Create style. Descriptions display when hovering over the style in the style picker. 2 days ago A Figma grid can be used to define the main structure of a design and to measure, align or easily create pixel perfect objects. Using the dropdown menu, you can choose between: Grid, Columns or Rows. Depending on the type of grid that you select you will get different editing options.
As an aspiring designer, one of the first proper books I purchased was Josef Müller-Brockmann's Grid Systems in Graphic Design. The book was fascinating to me because it helped codify the many ways a grid could provide structure and consistency, improve readability, and create emphasis and hierarchy in design. It's the first text to formalize many of these concepts into such concise words, and it's probably one of the most important tomes on the topic. In the design world, there's a common joke that you can tell how long someone has been a designer by the color of the spine of their Müller-Brockmann copy.
By carefully constructing a grid that's suitable to your content, you can define structure, hierarchy, and rhythm in your design. When done right, the scaffolding of grids can remove the guess work from many aspects of your process. Different types of grids can also help you establish a rational approach to type scales, positioning, sizing and spacing.
Although these principles originated in the relatively 'rigid' medium of print, I remain convinced now more than ever of their importance. In the era of screen design, grids can be instrumental in establishing consistency across a wide variety of device and viewport sizes, especially for teams that need to create a cohesive design experience for multiple products and platforms.
Despite all the benefits of grid systems, for a long time I struggled to configure grids effectively in my own design process—they often didn't provide me with the flexibility I wanted (in other design tools). So you can imagine my happiness when I discovered how layout grids worked in Figma. Figma offered added functionality like styles that removed much of the friction I had previously experienced.
In Figma, you can apply more than one grid as a property to any frame (and independently toggle its visibility). That was a game changer, and quickly became an essential part of my workflow. In speaking with other Figma users, I learned that many still hadn't had the lightbulb moment I did in uncovering the useful capabilities of this feature. So, I thought I'd share a few ways that I use layout grids to speed up my design process, from resizing frames to visualizing spacing and padding.
Consider this post a little grid quo pro...in return, all I want is for you to spread the word to other Grid Newbies out there! (Excuse the dad joke...could not help myself 🤣.)
Layout grid basics
Before I dive into the more advanced use cases, let's cover the basics of where and how you apply grids. If you're a grid pro, skip ahead to the next section.
Apply a layout grid to any frame - Layout grids can only be applied to frames; this means you can apply them to any top level frames sized for a device (desktop, mobile, tablet), frames nested within your design, or even frames inside your components.
Multiple grids on a frame - You can add as many different layout grids to a frame. This means you could stack different types of grids on a single frame. Each of those grids can also be selected and pasted onto other frames since they are applied like other properties in the right hand sidebar.
Grid appearance - You can control the appearance (color and opacity) of each grid so they are easily differentiated.
Types of grids
There are three different forms of grids to choose from: grid (uniform grid), column, and row. Uniform grids create a series of uniformly spaced fields across your frame (imagine a sheet grid paper) at whatever size you specify. The others have a few more options to create columns and rows. Within column and row grids you can also control their position and scaling behavior. We cover most of this in our help center article, so we won't go into all the details, but here is quick cheatsheet to highlight some of the key differences.
A baseline grid is one that's established from the baselines your typography sits on. These appear as visual aids in your design spanning the width of your design and repeating vertically at an even internal. What that interval is, is largely dependent on your typography scales and line-heights. In many 8pt grid systems, a 4pt baseline is used. This basic unit makes the math easy and scalable as you start to setup different type sizes and line-height combinations.
Using one can help you align one piece of type to another while giving you a unit of measure to help establish the sizing and spacing of other elements. In many design systems, such as Google's Material Design, the baseline grid is a foundational part of defining type size and line-height parings, as well as spacing for margins and padding.
If you've ever wanted to create a baseline grid in Figma, there are a couple of different ways to do so using a row grid.
- A grid that is built around line-heights
- A grid that is built around the actual baseline that text sits on
Since you have some control over the appearance of your grids, you can create the right kind of grid for either approach. By using a row grid, with the type set to 'Top', we can create the foundation for a baseline grid. Usually it's a good idea to set the row count to a high number that will allow you to accommodate longer scrolling frames. From there you can choose to highlight alternating rows, or thin lines using a combination of the height, gutter, and color properties as illustrated below.
Now that we've covered the basics, let's take a look at how we can combine them, share them, and use them in a variety of ways.
Unlike other tools, you won't be limited to a single grid at the 'artboard' level. Since you can apply a grid to any frame, this means you can apply them to frames that are nested within your design. So feel free to get all Matryoshka on your design and create grids within grids within grids to your hearts content.
Once you begin to leverage this, there are infinite ways to use grids as visual aids within particular areas of your design. You can help differentiate among them by specifying the color and opacity of each grid.
Using constraints with layout grids
When you apply constraints in Figma, they help you define the resizing behavior of elements in relationship to their parent frame. So if you wanted an element to stay pinned to the top right of a frame (like a close button), applying constraints will ensure that the element maintains its distance from the top and right without changing its size as the frame grows or contracts.
In contrast, when you apply constraints to an element inside a frame that has a layout grid, your constraints will be relative to their nearest column (instead of the boundaries of the parent frame). When used with stretch grids, this will allow your elements to stay fixed to columns or rows and maintain a fixed space (gutter) between them. It results in much more realistic scaling behavior, as you can see in the gif below.
By setting constraints appropriately, you can resize items relative to the layout grid, which helps you maintain fixed column gutters and margins.
Using the same method, we can add constraints to our previous example that highlighting nested frames (each with their own grids). This allows you to independently define the resizing behavior of specific areas within your design.
Once the grids and frames are set up, we can add elements to our design that can also resize relative to the grids on the parent frames.
Using grids to visualize padding
Figma Snap To Grid
Sometimes you need to visualize padding to ensure content stays equidistant from the boundaries of an element. You can create grids to help with that by styling a column and a row grid with a single row/column, setting the gutters to 0 and the margin to your preferred spacing. If your design system has standardized spacing values for padding, you can quickly add these and apply them to frames or components within your design.
Sharing grids with styles
As you're creating grids, you might want to make different variations for layouts on different device sizes or other common use cases. To make it easier to apply those grids across frames, files and projects, you can combine several of them into a single grid style. That style, like other styles and components, can then be shared from a team library. Easy peasy.
Get griddy with it
That's all for today's quick hit on grids. I hope these tips uncover some of the lesser known ways to leverage layout grids in Figma, and I would love to see how you're using them. Time to channel your inner Müller-Brockmann and be sure to share your experiences with the Figma community on Spectrum.
P.S. If you want to see all of this in action, tune into Multiplayer Live tomorrow at 10:00 am PST / 1pm EST.
The key to every great design is the organization of its information. Spacing methods and layout grids define structure, hierarchy, and rhythm in your design. When correctly used, they reduce decision making and help establish a rational approach to type scales, positioning, sizing and spacing.
This guide will walk though spacing and layout grid best practices based on Material Design, Bootstrap, and Figma.
Keep an eye out for the free layout grids UI kit at the end of the article 👀. It contains layout grid styles, responsive behavior, and constraint examples to help you learn and jump start your design process. ⚡️⚡️⚡️
Before we dive into layout grids, let’s review some of the spacing basics that impact all sizing, measuring, and spacing decisions (including grid configuration).
The base unit defines what every measurement will be a multiple of. This keeps designs consistent, improves communication with developers, and reduces the number of decisions a designer has to make. The most recommended base unit is 8px because it makes scaling for a wide variety of devices easy and consistent. This is because most screen sizes are divisible by 8 and because 8 is itself an easily divisible number (8/2=4, 8/4=2).
Tip: Icons, text and some elements within components can align to a 4px grid to improve spacing in small areas and make implementation easier.
The height and width of UI elements should be measured in increments of the base unit (ie. 8, 16, 24) when possible. This creates clear hierarchy, aligns elements neatly, and provides a consistent visual rhythm. For example, line height, buttons, and form inputs can be expected to have the same incremental heights across all your designs.
Padding refers to the space between UI elements and is also measured in increments of the base unit. Consistent, predicable padding is aesthetically pleasing, clarifies the relationship between elements, and improves readability. For example, the padding inside a component should create a holistic spacing pattern between all its elements.
Tip: In Figma you can save yourself some headaches by updating the “nudge” amount from 10 to 8 (Menu > Preferences > Nudge amount > 8).
Layout Grid Basics
Layout grids originated in early print design to define text and image blocks, and their basic principles still apply to how we organize two dimensional information on the web today. With the growing number of devices and screen sizes, grids are vital to maintain consistency and create a cohesive design experience.
Recently, grids have become more flexible and powerful in tools like Figma with advanced functionality like styles, sizing constraints, and nested frames (more on that later).
All grids are made up of three elements: columns, gutters, and margins. Columns are the building blocks of a grid and mark where elements should be placed. Gutters are the negative space between columns and their width should be a multiple of the base unit. Margins are the negative space between the edge of the outside column and the frame.
There are many ways to combine columns, gutters, and margins to create different grid layouts. Below are a few standard grid types.
This is simplest layout with only one column spanning the width the entire content area. The manuscript grid can be useful when defining the margins on a block of text (like in a manuscript).
Column grids are the most common layout used for web applications. The grid splits the frame into evenly spaced vertical fields which objects are aligned to. These grids are typically made of 12 columns which can then be divided into halves, thirds, fourths, and sixths, when designing responsive screen sizes (more on that later).
This is a variation of the column grid. Modular grids have both vertical columns and horizontal rows which intersect and create a matrix of cells, or modules. These modules provide additional layout guidelines as single units or as larger blocks when combined.
Baseline grids consist of dense horizontal rows that provides alignment and spacing guidelines for text, similar to how you would write on sheet of ruled paper. In the example below, each 8px row alternates between red and white.
Tip: It’s important to set all line heights to an increment of your base unit (8x or 4px) so your text will align perfectly with the baseline grid.
Responsive Layout Grids
Layout grids are required to be responsive, scale up and down, to display information on a wide range of screen sizes in order to maintain usability. This is accomplished by establishing a consistent layout grid behavior and setting determined breakpoints to support across your designs.
This behavior has a “fixed” container width and position. As the screen size changes the container maintains all of its exact measurements while the margin size increases or decreases. This allows all elements to stay proportional but can result in too much empty space in margins on extra large device sizes.
Fluid layouts are measured in percentages rather than pixels so the container width increases and decreases as the screen size changes. The container width adjusts by having the margin and gutter widths remain constant while the column size increases or decreases. This behavior utilizes available screen space but can cause elements to appear stretched out.
Breakpoints give designers and developers an easy way to control the layout of a design as it scales up from mobile to desktop. This helps us cater our designs to all types of device sizes without compromising on the UX. Establishing a set of breakpoints makes it easier to communicate the correct behavior of designs across devices sizes.
Breakpoints are typically represented in “px” units and come in ranges. While there’s no “must-have” set of breakpoints, here’s a set of breakpoints to get you started.
• Small (0px-599px)
• Medium (600px-899px)
• Large (900px-1199px)
• Extra large (1200px and up)
Tip: these breakpoints are based on David Gilbertson’s article “The 100% correct way to do CSS breakpoints” if you want to dive in and learn more.
What does this mean for you? When you need to show how a design scales up and is responsive, use the following frame sizes in Figma:
• 375px to show “Small” breakpoint behavior
• 600px to show “Medium” breakpoint behavior
• 900px to show “Large” breakpoint behavior
• 1200px to show “Extra Large” breakpoint behavior
Other than the “Small” breakpoint, we default to using the smallest device size in a given breakpoint’s range when showing responsive design behavior.
Modified layouts for each breakpoint can change slightly (ie. increasing gutter size), or more dramatically (ie. changing column count, content layout, and UI elements used).
Below is a responsive interface using fluid behavior. Each layout expands until it hits a breakpoint, at which point the layout updates to the next breakpoint size. For example, when the small layout reaches 600px it updates to the medium layout.
Designing with Grids in Figma
Figma is one the most powerful and flexible tools for designing with layout grids because of their use of nested frames, styles, constraints, and customizability.
Apply layout grids to any frame
In Figma, grids can be applied to any frame, rather than only at the artboard level. This means grids can be applied to top level frames (desktop, tablet, mobile) as well as nested frames (ie. framed content areas or components within your design).
Apply Constraints for Responsive Designs
Constraints allow you to control the resizing behavior of any element in relation to their parent frame. For example, you can pin an element (like a button) to the corner of a frame and maintain the exact size and padding when the frame is expanded or contracted.
When used with a stretch layout grid, constraints will be relative to their nearest column to maintain a fixed space (gutter) between elements. This is especially useful when designing for multiple device sizes.
Save Grid Styles
Create and save multiple custom grid styles. This is extremely useful for maintaining consistent sizing across related content areas, component types, and devise sizes.
Customize Grid Appearance
Make grid layouts easer to view and differentiate by updating their color and opacity.
Spacial methods and layout grids are necessary for all web design projects. They should be defined early on in the design process with buy in from everyone on the team. This will ensure designs stay consistent, development has clear requirements, and products are delivered faster.
Want to apply these best practices to your designs? 🙌 Jump start your design process with prepared layout grid styles, responsive behavior documentation, and constraint examples with our free Layout Grids UI Kit built exclusively for Figma. 👩💻🎉
👩💻 When I’m not writing about designing layout grids, I’m helping designers work faster and smarter with Figma design tools at UI Prep.
Figma Repeat Grid
Follow UI Prep on Twitter
See UI Prep in action