Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 2

Building Blocks: Adding UI Elements

Recommended resources

Welcome back! In our last session, we took a high-level tour of the Bubble editor, identifying the core sections for design, logic, data, and styling. You now know the layout of your digital workshop. Today, we're rolling up our sleeves and starting to build.

This lesson focuses on the Design tab, where you'll create the visual interface of your application. By the end of our 60 minutes, you will be able to add and configure the most fundamental visual elements: text, input fields, buttons, and groups. These are the essential building blocks you'll use to construct the UI for every tool on your platform, from a simple character counter to more complex converters.

Your Canvas: The Design Tab

The Design tab is where you visually construct your application's pages. Your experience with Elementor will be a great asset here, as both use a drag-and-drop interface. However, Bubble's approach to layout and element properties has its own powerful logic.

Let's begin by opening a blank page in a Bubble project. On the left side, you'll see a list of 'Visual elements'. These are the components you'll place on your page.

The left panel, labeled 'Visual Elements', contains all the building blocks you can add to your page. The main area is your canvas, and the 'Elements tree' provides a hierarchical view of everything on the page.

A fantastic tip for getting started is to simplify Bubble's layout engine temporarily. By default, Bubble pages are "responsive," meaning they adapt to different screen sizes. While powerful, this can be confusing at first. For now, we'll work with a fixed-width page, which behaves more like a static canvas.

The following video from Airdev clearly explains how to add your first element and set the page to a fixed width. This will make placing your initial elements much more predictable.

Bubble.io for Beginners: Designing pages [1/12]

This video provides a great, practical introduction to adding elements and managing the page layout.

First, watch the segment on adding a text element to see the basic process. Then, watch the crucial section from disabling responsive design. The instructor explains why elements might not appear in the preview as you expect and shows how to make the page fixed-width. This is a key step to avoid early frustration.


The Anatomy of an Element

When you select an element on the page, a floating panel called the Property Editor appears. This is your control center for configuring every aspect of that element, from its appearance to its behavior.

When an element is selected (like the 'Submit' button here), the Property Editor opens, allowing you to change its properties, such as the 'Label' text shown.

The Property Editor has several tabs, but we'll focus on 'Appearance' and 'Layout' for now.


The Four Foundational Elements

Let's get to know the four elements you'll use constantly.

1. Text Element

The Text element is used to display information. This can be static content, like a title, or dynamic data, like the result of a calculation.

  • Use Cases: Page titles ("Word Counter"), instructions ("Enter your text below"), labels ("Character Count:"), and displaying the output from a tool.

To see it in action, review this short clip from the Airdev video we watched earlier, focusing on how the text content and style are changed.

Bubble.io for Beginners: Designing pages [1/12]

This segment shows how to modify a text element's content and appearance.

Watch from the customization section. Notice how you can apply pre-defined styles (like H1) or customize the font, size, and color directly.

For a comprehensive list of all properties available for the Text element, the official Bubble documentation is an excellent resource to bookmark.

Visual Elements

This document provides a detailed reference for the Text element.

Read the section titled Text. Pay attention to useful options like "Cut off content if the element is not tall enough" and "Recognize links and emails," which could be valuable for displaying tool descriptions on your platform.

2. Input Element

The Input element is how you capture information from your user. This is the cornerstone of any interactive tool.

  • Use Cases: A text area for a word counter, a number field for a unit converter, or an email field for a sign-up form.

Key properties for an input include:

  • Placeholder: The greyed-out text that guides the user (e.g., "Enter your text here...").
  • Content format: This tells Bubble what kind of data to expect (Text, Number, Email, etc.), which can enable automatic validation.

3. Button Element

The Button element is your user's primary tool for triggering an action. When a user clicks a button, it starts a workflow, which we'll cover in the next lesson.

  • Use Cases: A "Calculate" button, a "Convert" button, or a "Sign Up" button.

A button's main property is its label, but you can also add icons for better visual communication.

4. Group Element

The Group is a container element. It doesn't look like much on its own, but it's incredibly important for organizing your page. Think of it like grouping layers in a design program like Photoshop or Figma, or using container widgets in Elementor. By placing other elements (like text, inputs, and buttons) inside a group, you can move and manage them as a single unit.

  • Use Cases:
    • Creating a "card" for each tool on your homepage.
    • Grouping an input field with its label.
    • Building a sign-up form with all its fields and a button.

The following video by Jesse Showalter provides an excellent, hands-on demonstration of building a sign-up form. It perfectly illustrates how Text, Input, Button, and Group elements work together to create a functional layout.

Learn Bubble.io in 30 Minutes

This video is a fast-paced tutorial on building a sign-up form, demonstrating the practical use of the elements we've discussed.

Watch from building the form. Notice how he adds labels (Text), input fields (Input), and a button. Then, pay close attention to the segment on grouping elements. He right-clicks a label and its input to "Group elements in a column container." This is a fundamental technique for creating clean, organized layouts.

As you add more elements, your page can get crowded. The Elements tree, shown in the first image, gives you a hierarchical list of every element on the page. It's perfect for selecting hidden or overlapping elements and understanding how your groups are structured. You can even double-click an element in the tree to rename it, which is essential for keeping complex pages organized.


Conclusion

In this lesson, we made the leap from theory to practice. You've learned how to populate your Bubble pages with the essential user interface components.

Here are the key takeaways:

  • The Design tab is your canvas for building your app's UI.
  • The Property Editor is where you configure every selected element.
  • Text, Input, and Button elements are the core components for displaying information, capturing user data, and triggering actions.
  • The Group element is a crucial container for organizing your UI and managing layout, which you can visualize in the Elements tree.

You now have the skills to build the static front-end for a simple tool. You can lay out the title, the input box, the "Calculate" button, and the text area for the result. The only missing piece is the logic that makes it all work.

In our next lesson, we will dive into the Workflow tab. You'll learn how to create a basic workflow that triggers when a button is clicked, allowing you to manipulate elements on the page and bring your first tool to life.