YouTube Courses - Learn Smarter

YouTube-Courses.site transforms YouTube videos and playlists into structured courses, making learning more efficient and organized.

Webflow Crash Course: Building Websites Visually



Introduction to Webflow

Webflow is a powerful web design tool that empowers users to create sophisticated websites without writing any code. It utilizes a visual, drag-and-drop interface, making web development accessible to individuals with varying technical backgrounds. This chapter serves as a comprehensive guide to understanding and utilizing Webflow, drawing from a practical crash course to equip you with the fundamental knowledge needed to build websites effectively.

Ashok Kumar, an experienced developer and teacher, leads this crash course, demonstrating how to leverage Webflow’s features to develop interactive and advanced websites without writing a single line of code. This chapter will cover the core concepts and functionalities of Webflow, enabling you to embark on your no-code web development journey.

Understanding Layouts in Webflow

Layouts are the foundational structure of any website. They dictate how content is arranged and presented on the page. Webflow provides several tools to create and manage layouts, ensuring websites are both visually appealing and structurally sound.

Core Layout Tools

Webflow offers a range of layout tools, including:

  • Flexbox: A CSS layout module that provides a flexible and efficient way to arrange items in a container.

    Flexbox: A one-dimensional layout method in CSS that allows you to distribute space among items in a container, even when their size is unknown or dynamic. It is primarily used for arranging items in a single row or column.

  • CSS Grid: A powerful two-dimensional layout system that enables complex and responsive web designs.

    CSS Grid: A two-dimensional layout system in CSS that allows you to create grid-based layouts for web pages. It is more powerful than flexbox for complex layouts involving rows and columns simultaneously.

  • Columns and Rows: Basic structural elements to divide content into vertical columns and horizontal rows.

Importance of Layouts

  • Design Foundation: Layouts are crucial for translating design mockups from tools like Figma or Pixel into functional websites. These design tools are commonly used in modern web development workflows.

    Figma & Pixel: Popular collaborative web-based design tools used for creating user interfaces and user experiences. They allow designers to create prototypes and share designs with developers.

  • Structure and Organization: Proper layout knowledge allows you to organize website elements effectively, whether it’s a simple landing page or a complex, interactive website.

  • Responsiveness: Understanding layouts is essential for creating websites that adapt seamlessly to different screen sizes, ensuring a consistent user experience across devices.

Layout Elements

Websites are built using a combination of basic elements within these layouts:

  • Images: Visual content to enhance engagement and convey information.
  • Headings: Hierarchical text elements to structure content and improve readability.
  • Buttons: Interactive elements to trigger actions and guide user navigation.
  • Paragraphs: Blocks of text to present written content.
  • Colors: Aesthetic elements to define visual style and branding.

Webflow Interface: A Designer’s Workspace

Webflow’s interface is designed to be intuitive and efficient, providing all the necessary tools to build and manage websites visually.

Top Bar Panel

The top bar provides access to essential project settings and functionalities:

  • Breakpoints: Webflow allows you to design for different screen sizes using breakpoints, ensuring responsive design. Common breakpoints include:

    • Desktop: Standard computer screens.
    • Tablet: Medium-sized screens like iPads.
    • Mobile Landscape: Mobile phones in landscape orientation.
    • Mobile Portrait: Mobile phones in portrait orientation (vertical).
    • Custom Breakpoints: Webflow allows adding custom breakpoints for specific screen resolutions, like 1280px, 1440px, or 1920px widths.
  • Designer/Editor Modes:

    • Designer: The primary mode for building and designing the website structure and visual elements.
    • Editor: A simplified mode, often given to website owners or content editors, allowing them to edit content without altering the design structure.
  • Status: Indicates whether the website is auto-saving, ensuring data integrity and preventing loss of work.

  • Export Code: Allows users to export the website’s code as HTML, CSS, and JavaScript files. This feature is useful for developers who want to host the website outside of Webflow or integrate it with other systems.

  • Comments: Enables collaboration by allowing users to leave comments directly within the design interface, similar to Figma or Pixel. This is useful for feedback and team communication during the design process.

  • Preview: Allows users to view a live preview of the website to test functionality and visual appearance before publishing.

  • Share: Provides options to share the website in different ways:

    • Read-Only Link: Sharing a read-only link allows others to view the website’s structure and design within the Webflow Designer without making edits. This is particularly useful for sharing your work with potential employers or clients to showcase your Webflow skills and design approach.
  • Publishing: Manages website deployment:

    • Staging Domain: A temporary Webflow subdomain (e.g., your-project.webflow.io) used for testing and previewing the website before connecting a custom domain.
    • Custom Domain: Allows connecting a domain name you own (e.g., www.yourwebsite.com) to your Webflow website for a professional online presence.

Left Hand Side Panel: Elements and Structure

This panel is the heart of Webflow’s visual builder, providing access to all the elements you need to construct your website.

  • Elements Panel: Contains a comprehensive library of website elements, categorized for easy access:

    • Layout Elements:

      • Section: A fundamental building block for dividing content into logical sections on a page.
      • Container: A structural element used to constrain content width and center it within the viewport, ensuring consistent layout across different screen sizes.
      • Stack: A pre-configured flexbox layout for quick arrangement of items in a stack-like manner.
      • Div Block: A generic container element used for grouping and styling content.
      • List: For creating unordered or ordered lists of items.
      • List Item: Individual items within a list.
      • Link Block: A container that acts as a hyperlink, allowing you to embed various elements within a clickable area.
      • Button: Interactive elements for user actions.
    • Typography: Elements for text content:

      • Heading: For creating headings of different levels (H1-H6) to structure text hierarchy.
      • Paragraph: For standard body text.
      • Text Link: For creating hyperlinks within text.
      • Text Block: A basic element for displaying text.
      • Block Quote: For displaying quoted text, often styled differently to stand out.
      • Rich Text: A versatile element ideal for blog content, allowing you to embed various media like images, headings, paragraphs, lists, and videos within a single element.
    • CMS (Content Management System): Tools for dynamic content:

      • Collection List: Used to dynamically display content from Webflow CMS collections, like blog posts or product listings.

        CMS (Content Management System): A system used to manage the creation and modification of digital content. In Webflow, it allows users to create dynamic websites with databases of content that can be easily updated.

    • Media: Elements for embedding media:

      • Image: For displaying images.

      • Video: For embedding videos.

      • YouTube Video: Specifically for embedding YouTube videos.

      • Lottie Animation: For embedding lightweight, scalable vector animations created with Lottie.

        Lottie Animation: Animations exported as JSON files from Adobe After Effects using the Bodymovin extension. They are lightweight, scalable, and can be easily implemented on websites and mobile apps.

      • Spline Scene: Integrates with Spline, a 3D design tool, allowing embedding and interaction with 3D scenes directly in Webflow.

        Spline Scene: Interactive 3D designs created using Spline, a real-time 3D design tool for the web. Webflow’s integration allows embedding these interactive 3D elements directly into websites.

    • Forms: Elements for creating forms:

      • Form Block: The container for all form elements. Essential for creating any form on a Webflow page.
      • Label: Text associated with form input fields.
      • Input: Text input fields for user data entry.
      • Text Area: Multi-line text input fields.
      • Checkbox: For boolean selections.
      • Radio: For single selections from a group.
      • Select: Dropdown menus for selecting options.
    • Other Elements:

      • Light Box: For displaying images or videos in an overlay window.
      • Locals List: For creating multilingual websites, managing different language versions of content.
      • Embed: For embedding custom HTML, CSS, or JavaScript code from third-party services.
      • Navbar: Pre-built navigation bars for website headers.
      • Map: For embedding interactive maps, typically Google Maps.
      • Facebook/Twitter/Search/Site Search: Pre-built elements for social media integration and site search functionality.
  • Pages Panel: Manages website pages and structure:

    • Static Pages: Standard website pages like the homepage, about us, contact, etc.
    • Utility Pages: System pages like:
      • Password Pages: For password-protected content.
      • 404 Pages: Error pages displayed when a page is not found.
      • Error Pages: General error handling pages.
    • CMS Collection Pages: Template pages automatically generated for each item in a CMS collection, such as individual blog post pages.
    • E-commerce Pages: Pages specific to e-commerce functionalities, such as product detail pages, category pages, and checkout pages.
    • User Pages: Pages related to user accounts and membership features, like login and signup pages.
  • Components Panel: Manages reusable website components.

    Component: A reusable section or element of a website, such as a header or footer, that can be created once and used across multiple pages. Changes made to a component are reflected everywhere it is used, ensuring consistency and efficient updates.

    • Creating Components: Select a section or element and convert it into a component for reusability.
    • Using Components: Drag and drop components from the panel onto any page.
    • Updating Components: Changes made to a component are automatically applied to all instances of that component across the website.
  • Variables Panel: Manages reusable styles and settings.

    Variables: Reusable values for colors, fonts, sizes, and other style properties that can be defined once and applied across the website. This ensures design consistency and simplifies style updates.

    • Defining Variables: Create variables for colors, fonts, sizes, etc., to maintain design consistency.
    • Applying Variables: Use variables to style elements, ensuring uniform design language throughout the website.
  • Style Selectors Panel: Manages CSS classes and styles.

    CSS Classes: Reusable style definitions that can be applied to HTML elements to control their appearance. In Webflow, classes are visually managed and applied without writing code.

    • Creating Classes: Define styles and create CSS classes to apply them to elements.
    • Applying Classes: Assign existing classes to elements to reuse styles and maintain consistency.
    • Managing Styles: Edit classes to update styles across all elements using that class.
  • Assets Panel: Manages website assets like images, videos, and fonts.

    Assets: Files used in a website, such as images, videos, fonts, and documents. Webflow’s asset panel allows you to upload, organize, and manage these files for use in your projects.

    • Uploading Assets: Drag and drop files into the assets panel to upload images, videos, fonts, and other files.
    • Organizing Assets: Manage and organize assets within folders for efficient project management.
  • CMS Panel: Manages Content Management System collections and data.

    CMS (Content Management System) Collections: Databases within Webflow’s CMS used to store structured content, such as blog posts, products, or team members. Each collection has defined fields for different types of data.

    • Creating Collections: Define collections for blog posts, products, or any other dynamic content.
    • Managing Content: Add, edit, and delete content entries within collections.
  • Logic Panel: Manages workflow automations and integrations.

    Flow Logic: Webflow’s visual automation tool, allowing you to create workflows and integrations without code. It can be used for tasks like sending emails, updating CMS items, or integrating with third-party services.

    • Creating Workflows: Visually design automated workflows to handle tasks like form submissions or data updates.

    • Integrating with Services: Connect Webflow projects with third-party applications using integrations like Zapier.

      Zapier: A third-party automation tool that connects different web applications and automates workflows between them. Webflow integrates with Zapier to extend its functionality and connect with external services.

  • Users Panel: Manages user accounts and membership features.

    User Pages: Dynamically generated pages for user accounts, login, signup, and profile management. These are automatically created when enabling user accounts in Webflow.

    • Setting up User Accounts: Enable user accounts to create membership websites or platforms requiring user authentication.
    • Managing Users: Control user access and permissions.
  • E-commerce Panel: Manages e-commerce functionalities.

    E-commerce Pages: Pre-built page templates for online stores, including product listing pages, product detail pages, shopping carts, and checkout processes. Webflow E-commerce provides tools to design and manage these pages visually.

    • Setting up E-commerce: Configure e-commerce settings like product catalogs, categories, and payment gateways.
    • Managing Products: Add and manage product listings, categories, and inventory.
  • Apps Panel: Manages Webflow app integrations.

    Apps: Integrations and extensions available in Webflow’s marketplace that enhance the platform’s functionality. These can include integrations with third-party services for marketing, analytics, or other features.

    • Installing Apps: Browse and install apps from the Webflow Marketplace to extend website functionality.
    • Managing Apps: Configure and manage installed apps.

Right Hand Side Panel: Styling and Settings

This panel provides tools to style elements and adjust their settings.

  • Style Panel: Controls the visual appearance of selected elements.

    • Class Input: Allows adding and managing CSS classes for styling.
    • Layout Properties: Controls element layout using:
      • Display: Block, Flexbox, Grid, Inline Block, Inline, None (hide).
      • Flexbox Controls: Align, justify, direction, wrap.
      • Grid Controls: Define grid structure, columns, rows, gaps.
      • Position: Static, Relative, Absolute, Fixed, Sticky.
      • Float: Left, Right, None.
      • Clear: Both, Left, Right, None.
    • Spacing Properties: Controls margins and paddings.
    • Size Properties: Controls width, height, min-width, max-width, min-height, max-height, and aspect ratio.
    • Typography Properties: Controls font family, font size, font weight, line height, text alignment, text decoration, text transform, letter spacing, word spacing, and text color.
    • Background Properties: Controls background color, background image, background gradient, background size, background position, background repeat, and background blend mode.
    • Border Properties: Controls border style, border width, border color, and border radius.
    • Effects Properties: Controls box shadow, text shadow, opacity, blend mode, and backdrop filters.
    • Transforms Properties: Controls 2D and 3D transforms like translate, rotate, scale, and skew.
    • Filters Properties: Applies visual filters like blur, brightness, contrast, grayscale, hue-rotate, invert, saturate, and sepia, similar to Photoshop filters.
    • Cursor Property: Controls the mouse cursor style when hovering over the element.
  • Settings Panel: Controls element-specific settings and attributes.

    • Element Settings: Element-specific options like naming elements (ID, Name), visibility controls (hide/show), and link settings for link elements.

    • Custom Attributes: Allows adding custom HTML attributes to elements, useful for integrating with third-party libraries or scripts, like Fin Suite.

      Fin Suite: A suite of tools and libraries that enhance Webflow’s functionality, particularly for advanced CMS implementations and complex website features. Custom attributes in Webflow can be used to integrate Fin Suite functionalities.

    • Interactions Panel: Controls element animations and interactions.

      • Triggers: Defines events that trigger animations, such as page load, scroll into view, mouse click, hover, etc.
      • Animations: Creates and manages animations for different triggers, including movement, opacity changes, scaling, and more.
      • Animation Types: Offers various animation types like slide, fade, grow, shrink, rotate, etc., allowing for a wide range of interactive effects.

Building a Landing Page: A Practical Example

This section outlines the process of building a landing page in Webflow, utilizing the core features and concepts discussed. The example follows a design created in Pixel, demonstrating how to translate a design mockup into a functional Webflow page.

Initial Setup

  1. Font Integration: Add custom fonts, like ‘Inter’, to the Webflow project to match the design specifications. This is done through the project settings in Webflow.
  2. Asset Import: Export and import all necessary assets, such as logos and images, into the Webflow Assets panel. This ensures all visual resources are readily available.
  3. Style Guide Creation: Establish a style guide by defining reusable classes for buttons, headings, and colors. This ensures design consistency and streamlines the development process.
    • Button Styles: Create classes for ‘button-small’ and ‘button-large’ with predefined styles for color, radius, font, padding, etc.
    • Heading Styles: Define styles for H1, H2, H3, H4, H5, and H6, setting font size, font weight, color, and line height.
    • Color Variables: Define color variables like ‘brand-color’ and ‘text-color’ for consistent color usage throughout the website.

Building Sections

  1. Header Section:

    • Utilize a pre-built Navbar component from Webflow’s Layouts panel as a starting point.
    • Replace the default logo with the project logo from the Assets panel.
    • Customize navigation links to ‘Home’, ‘Features’, ‘Blog’, and ‘Sign Up’.
    • Style the ‘Sign Up’ button using the ‘button-small’ class.
    • Adjust padding and spacing to match the design.
  2. Hero Section:

    • Create a new Section and add a Container.
    • Use a Vertical Flexbox (V Flex) within the container to stack elements vertically.
    • Add a Heading (H1), a Paragraph, and a ‘Try Scale for Free’ button styled with the ‘button-large’ class.
    • Center align the content within the Flexbox using Flexbox alignment properties and text alignment properties for the paragraph.
    • Add an Image element below the content area.
    • Adjust margins and padding to create spacing between elements.
  3. Logos Section:

    • Create a new Section and add a Container.
    • Add a Text Block with the title ‘Join 14 Position Scale Clients’. Style the text block with the defined color and typography settings.
    • Use a Horizontal Flexbox (S Flex) for the logos.
    • Add Image elements for each client logo from the Assets panel.
    • Set Flexbox alignment to center, both horizontally (justify-content) and vertically (align-items).
    • Adjust column gap to create spacing between logos.
  4. Features Sections:

    • Create a new Section and add a Container.
    • Use a Grid layout with two columns and one row.
    • Add Div Blocks within the grid columns.
    • In the first column, add an Image element.
    • In the second column, add a Heading (H2), a Paragraph, and a ‘Learn More’ button styled with the ‘button-small’ class.
    • Center align content within the Div Blocks using Flexbox alignment.
    • Adjust column gap for spacing.
    • Duplicate the Feature Section twice to create three feature sections.
    • Use a Combo Class (e.g., ‘reverse’) to reverse the order of image and content in the second feature section, alternating the layout for visual variation.
  5. Latest News Section:

    • Create a new Section and add a Container.
    • Use a Vertical Flexbox (V Flex) for the section title and content.
    • Add a Heading (H2) with ‘Latest News’ title and a Paragraph for the subheading. Center align both elements.
    • Use a Grid layout with three columns and one row for blog post cards.
    • Add a Collection List element to dynamically display blog posts from the CMS collection.
    • Design a Div Block within the Collection Item to represent a blog post card, including an Image (thumbnail), Heading (H3 - post title), Paragraph (post summary), and Link Block (‘Learn More’ link).
    • Connect each element within the card to the corresponding fields in the CMS Blog Posts collection.
    • Limit the number of displayed blog posts to three in the Collection List settings.
  6. CTA (Call to Action) Section:

    • Create a new Section and set the background color to the ‘brand-color’ variable.
    • Add a Container and use a two-column Grid layout.
    • In the first column, add a Heading (H2) with ‘Encourage Fast Scaling’ text, a Paragraph, and a ‘Try Scale for Free’ button (white button with black text).
    • In the second column, add an Image element.
    • Center align content in the Div Blocks and adjust spacing.
  7. Footer Section:

    • Utilize a pre-built Footer component (Footer Light) from Webflow’s Layouts panel.
    • Replace the default logo with a Text Block (H3) with ‘App Scale’ text.
    • Customize footer links to ‘Get in Touch’ and ‘App Download’.
    • Add Link Blocks for ‘Google Play’ and ‘App Store’ download links.
    • Modify the Footer layout to use a four-column Grid layout for better organization of elements.
    • Adjust spacing and styling to match the overall design.

Section Linking (On-Page Navigation)

Implement section linking to enable smooth scrolling navigation when users click on header links:

  1. Assign IDs to each section: ‘hero’, ‘features’, ‘news’, ‘cta’, and ‘footer’.
  2. In the Navbar component, link the navigation items (‘Home’, ‘Features’, ‘Blog’, ‘Sign Up’) to their corresponding section IDs.
  3. Set the ‘Home’ link to point to the ‘hero’ section, ‘Features’ to ‘features’, ‘Blog’ to ‘news’, and ‘Sign Up’ to ‘cta’.

Responsive Design for Mobile and Tablet

Webflow’s breakpoint system allows for creating responsive designs that adapt to different screen sizes.

Tablet Responsiveness

  1. Switch to the Tablet breakpoint in the top bar.
  2. Adjust Navbar padding for better spacing.
  3. Add padding to the Container class to ensure content is not too close to screen edges.
  4. Adjust the logo section’s row gap and column gap to fit logos appropriately on tablet screens.
  5. Reduce column gap in feature grids for better spacing on tablets.
  6. Adjust font sizes for headings and paragraphs if necessary to improve readability on tablet screens.
  7. Review and adjust spacing and padding across all sections for tablet view.

Mobile Landscape Responsiveness

  1. Switch to the Mobile Landscape breakpoint.
  2. Review and adjust layout, spacing, and font sizes as needed.
  3. Ensure all sections are visually appealing and functional in landscape mobile view.

Mobile Portrait Responsiveness

  1. Switch to the Mobile Portrait breakpoint.
  2. Convert multi-column grids in features and news sections to single-column grids for better mobile layout.
  3. Adjust section padding and margins to optimize vertical spacing on mobile screens.
  4. Reduce font sizes for headings and paragraphs to enhance readability on smaller screens.
  5. Adjust spacing between elements to maintain a clean and uncluttered mobile design.
  6. Test navigation, buttons, and interactive elements to ensure they are easily accessible and functional on mobile devices.

Adding Animations and Interactions

Webflow allows adding animations and interactions without code to enhance user engagement.

Scroll Animations

  1. Hero Section Animations:
    • Select the Flexbox containing hero text content and add a ‘Scroll into View’ trigger.
    • Set animation to ‘Slide from Left’ with a delay for a smooth entrance effect.
    • Select the Hero Image and add a ‘Scroll into View’ trigger with ‘Slide from Right’ animation and delay.
  2. Features Section Animations:
    • Select the feature section title and use a ‘Scroll into View’ trigger with a ‘Grow’ animation.
    • For feature grid items, apply ‘Slide from Left’ and ‘Slide from Right’ animations alternately to create a dynamic entry effect as users scroll down.
  3. News Section Animations:
    • Apply a ‘Scroll into View’ trigger with ‘Slide from Bottom’ animation to the Collection List containing blog post cards.
  4. Footer Animation:
    • Apply a ‘Scroll into View’ trigger with ‘Fade In’ animation to the entire Footer section.

Hover Interactions

  1. Button Hover Effect:
    • Select the ‘button’ class and switch to the ‘Hover’ state in the Style Panel.
    • Modify the background color to a slightly lighter shade for the hover state.
    • Add a transition to the background color property to create a smooth color change effect on hover.

SEO (Search Engine Optimization) Settings

Webflow provides built-in SEO settings to optimize websites for search engines.

  1. Page Settings: Access page settings via the Pages panel and clicking the settings icon for each page.
  2. SEO Title and Meta Description:
    • Set a compelling SEO title for each page, ideally including relevant keywords.
    • Write a concise and informative meta description to entice users to click from search results.
  3. Open Graph Settings:
    • Configure Open Graph title, description, and image for social media sharing. These settings control how the website preview appears when shared on platforms like Facebook and Twitter.
  4. Custom Code:
    • Add custom code in the ‘Custom Code’ section of page settings for scripts, meta tags, or other SEO-related code.

Publishing the Website

Webflow offers flexible publishing options.

  1. Staging Domain (Free Publishing):
    • Publish the website to a Webflow staging domain (e.g., your-project.webflow.io) for free to preview and share the site.
    • This option is suitable for testing and sharing prototypes without a custom domain.
  2. Custom Domain (Paid Hosting):
    • To publish on a custom domain (e.g., www.yourwebsite.com), a paid Webflow hosting plan is required.
    • Purchase a suitable Webflow plan based on website needs (e.g., Basic, CMS, Business, E-commerce).
    • Connect a custom domain in the project settings under the ‘Publishing’ tab.
    • Update DNS settings with your domain registrar to point the domain to Webflow’s servers.
    • Publish the website to the custom domain.

Conclusion

This chapter has provided a comprehensive overview of building websites with Webflow, covering layout design, interface navigation, responsive design, animations, SEO, and publishing. By following these steps and utilizing Webflow’s visual tools, you can create professional, interactive, and responsive websites without writing code, empowering you to bring your web design visions to life efficiently.