Canvas Documentation
Bubble Best Practices
v3.7
v3.7
  • Introduction
  • Key Features
  • What's New
  • For Designers
  • CANVAS FUNCTIONALITY
    • Getting Started
    • Branding & Design
    • Marketing Pages
    • Bubble Pages & Blocks
    • Roles & Permissions
    • Menus & Navigation
    • Data & Workflows
    • Emails & Alerts
    • Miscellaneous
      • Setting up two factor authentication
      • Cookie and consent banner
      • Setting your password policy
      • Set up Payment info on Account page
      • Loading screen
      • Configuring multiple languages
      • Customizing your app's portal page colors
    • Reference
      • Pages
        • Index
        • Admin Portal
        • Account
        • Login
        • Legal
        • Reset Password
        • 404
      • Reusable elements
        • Header
        • Footer
        • Signup & Login
        • Cookies Permission
        • Widgets
          • App security
          • Header Widgets
          • Workflow Widgets
        • Admin Portal
          • Admin analytics
          • Admin email & templates
          • Admin header & footer
          • Admin legal popups
          • Admin branding, launch, and settings
          • Admin marketing pages
          • Admin portal canvas logic
          • Admin options settings
        • Menu Focus Elements
      • Data types
      • Option Sets
      • Backend Workflows
      • Design standards
        • Manually Building UI
  • Bubble Best Practices
    • Learning Bubble Basics
    • Principles
    • Database
    • Design
    • Security
    • SEO
    • Speed
    • Modularity
      • Data triggers
  • Canvas library
    • Page templates
      • Free Bubble Marketing Page
      • Premium Bubble Marketing Page
      • Centered Profile Page
      • Left-Justified Profile Page
      • Standard page
      • Toggle Tabs Page
      • Menu Page
      • Mobile Menu Page
      • Video List Page
      • Standard Portal / Dashboard Page
      • Simple Portal / Dashboard Page with Icons
      • Double Sidebar Portal Page Template
      • Search Page
      • Map Search Page with Toggle and Filters
      • Floating Map Search Page
      • Search Bar Page
      • Multi-Step Page With Progress Bar
      • Standard Multi-Step Process Page
      • Multi-Step Process Page with Sidebar
      • Gallery Profile or Product Page
      • Sidebar Profile Page
      • 2-Column Menu Tabs Page
      • 2-Column Checkout Page
      • 2-Column Video Chat Page
      • Vertical Multi-Step Page Template
    • Blocks
      • Monthly Calendar Scheduling Widget
      • No Reply Comments Thread
      • Nested Comments Thread (with Like and Reply)
      • Placeholder Group
      • List with Circular Progress Bar Repeating Group
      • Top Input Chat Widget
      • Bottom Input Chat Widget
      • Toggle Tabs Group
      • Single-Select or Multi-Select Pill Tabs Group
      • Settings group
      • To-Do List Repeating Group
      • Title Group with Button and Filters
      • Product Details Group With Progress Bar
      • Listing details with Icons and Menu Focus Group
      • Week Daily Availability Group
      • Frequently Asked Questions (FAQ) Repeating Group
      • Dismissible Module
      • Video Group
      • About Group
      • Add to Cart Group
      • Full Width Map with Directions Link
      • Location Module (Map and Directions)
      • Drag and Drop Repeating Group
    • Popups
      • Confirmation Popup
      • Message Popup
      • Image Popup
      • Video Popup
      • Vertical Scroll Popup
      • Edit Popup
      • Standard Form Popup
      • Subscribe Popup
      • Feedback / Contact Popup
      • Details Popup
      • Add List Popup
      • Advanced Form Popup
      • Rating Popup
      • Toggle Tabs Popup
      • Share Popup
      • Multi-Step Popup
      • Invoice Popup
      • Stripe Credit Card Purchase Popup
      • View Profile Popup
      • Send Message Popup
      • Multi-Select Pill Tabs Popup
      • Pricing Plans Popup
Powered by GitBook
On this page
  • Canvas library
  • Canvas Styles and Example Components Figma file
  • How to customize the Canvas Figma file
  • How to import designs from the Canvas Library into Figma
  • Canvas design system specifications
  • Planning for responsiveness

Was this helpful?

For Designers

Are you collaborating with a designer to customize the design of your app? The following resources provide more information on the default specifications of Canvas page templates and blocks.

PreviousWhat's NewNextGetting Started

Last updated 3 years ago

Was this helpful?

Canvas library

The contains full-page previews and descriptions of all page templates and blocks within the Canvas design system.

Canvas Styles and Example Components Figma file

The contains all of the typography and color styles used throughout Canvas design system. The example components’ dimensions and padding are consistent with Canvas block and page templates’ dimensions and padding. These components can serve as a base to create additional components, though this is completely optional.

How to customize the Canvas Figma file

  • Access the read-only copy of the file here:

  • At the top of the page, click on the file name, and select “Duplicate” from the dropdown. Figma will copy the file to your Figma account’s Drafts folder.

  • Navigate to the copied file in your Drafts folder and edit it in any way to begin creating your custom designs.

  • Modify all of the color styles to fit your app's branding requirements.

If you would like to customize your app's font, it is recommended that you choose a font that is equal to or slightly smaller than Inter for these reasons:

  1. If the font is larger than Inter, Bubble might show "......" within each text element in the Bubble editor, making it challenging for the designer and developer to know where to click to edit different elements.

  2. If the font is larger than Inter, fixed-width tab and link elements will sometimes break to the next line after making changes to the fonts. With smaller fonts, elements won’t break to the following line.

Note: For completely custom UI elements and designs created from scratch, and not from Canvas, there shouldn't be any challenges starting with a larger font than Inter.

  • Utilize the example components and/or create brand new components on this components page.

All components with a 🟢emoji contain variants. All components with a 🔴emoji are meant to be detached.

  • Create a new page for your project and start building your app's designs.

How to import designs from the Canvas Library into Figma

  • To create a new design in Figma, based on a Canvas design, you can:

    • Select the “Full Page” preview option to open that design in a new tab.

      • This plugin requires that you define an import width. Most page templates have a 1220px width on desktop, and that should equal the size of all Figma frames used for desktop pages. The following page templates have slightly larger widths by default -- please import them at these widths:

        • 2-Column Menu Tabs Page: 1410px width

        • Floating Map Search Page: 2600px width

        • Profile Tabs Page: 1410px width

        • Standard Multi-Step Page with Sidebar: 1410px width

        • Vertical Multi-Step Page: 1410px width

      • All Canvas designs are imported into the Bubble editor at desktop page widths by default. All designs are responsive for mobile but are modified in the Bubble editor at desktop page widths. If you plan to create a new design by modifying imported Canvas components (instead of creating them from scratch in the Bubble editor), it is best also to create desktop mockups, even if a page will primarily be used on mobile.

Canvas design system specifications

Page template sizes

  • 1220px width for most pages.

    • Exceptions:

      • 2-Column Menu Tabs Page: 1410px width

      • Floating Map Search Page: 2600px width

      • Profile Tabs Page: 1410px width

      • Standard Multi-Step Page with Sidebar: 1410px width

      • Vertical Multi-Step Page: 1410px width

Block sizes (content containers)

  • Desktop: 860px width

    • 40px of padding on all sides

  • Mobile: 300px width

    • 20px of padding on all sides

  • Canvas will automatically add 40px of space between each block on a page.

Popups

  • Standard: 680px width

    • 30px of padding on all sides

  • Small: 360px width

    • 30px of padding on all sides

Typography scale

  • Size 44: Large Title (for CTA Page Titles)

  • Size 30: Medium Title (for Standard Page Titles)

  • Size 23: Small Title (for RG and Group Headers)

  • Size 19: Subheading, Large Body

  • Size 15: Body, Buttons, Tabs (default)

  • Size 13: Microcopy, Metadata, Overline

Fonts and weights (for all font sizes)

  • Inter Bold - Weight: 600

  • Inter Semibold - Weight: 500

  • Inter Standard - Weight: 400 (default)

Button sizes

  • 45px height for CTA buttons and marketing page buttons with 19pt font

  • 40px height for standard buttons with size 15pt font (default)

  • 28px height for smaller buttons above repeating groups with size 15pt font

Inputs, dropdowns, searchboxes

  • 45px height, with Inter Standard (Black) 19pt text and light grey borders, for CTA and marketing pages

  • 40px height, with Inter Standard (Black) 15pt text and light grey borders, for standard app pages (default)

Icons

  • Canvas uses the feather icons library for most icons. Bubble supports Google Material icons and Ionic icons as well.

Maps

  • Canvas contains the following map styles by default:

    • Apple Maps (default)

    • Neutral Blue

    • Dark Mode

    • Just Places

  • Bubble supports custom Google map styles as well.

Planning for responsiveness

  • The Bubble responsive engine is slightly different from other visual development platforms such as Webflow. Bubble doesn’t yet support the following responsive settings:

    • Elements that collapse in width conditionally based on data (e.g., displaying a sidebar for some Users on a page and collapsing that same sidebar for other Users on that same page).

      • Exception:

        • Bubble can collapse elements in width based on the Current Page width.

    • Variable font sizes from desktop to mobile.

    • Overlapping elements of different sizes (e.g., image elements that must scale proportionally as the page is resized, with text elements on top of it.)

      • Exceptions:

        • It is possible to set an image as the background image of a group with text on top of the image. However, the image will not scale proportionally as the page is resized.

        • It is possible to have elements overlap if the elements remain the same size on all screen sizes.

    • Elements that change in size on hover.

    • Elements that dynamically change in width, height, and position based on viewport height and width.

Click on any page template or block that meets your use case within the .

Use a Chrome Extension such as to inspect the elements’ design properties.

In Figma, you can build these components from scratch or use the import plugin to import a Canvas design into Figma by pasting the URL of the full page preview into Figma.

Canvas library
Prism
HTML → Figma
Canvas library
Canvas Styles and Example Components Figma file
https://bit.ly/3ww9k23