Core Framework
HomeChangelogDashboard
  • 📖Introduction
    • 📝 Overview of Core Framework
    • 💁🏼‍♂️ Target Audience
    • 🔍 Navigation of the Documentation
  • 🚀Getting Started
    • Getting Started with Web App and WordPress
    • Initial Setup and Configuration
    • Video tutorial: First-time setup walkthrough
    • OxyNinja Users
  • 🧩Builder Integrations
    • Overview
    • Oxygen Builder
    • Bricks Builder
    • Gutenberg
  • Figma
    • Getting Started with Figma
    • Create and Manage Variables
    • Editing Elements
  • 💻Navigating the UI
    • Color System
    • Typography
    • Spacing
    • Components
    • Utility Classes & Vars
    • Breakpoints
    • Manage project
    • Remote Import
    • Preferences
  • 📒How to Use
    • Dark Mode
    • Grid System
    • Filters
  • 🎯Marketplace
    • Buying Products
    • Become an Author
    • Author Guidelines
  • 👕Official UI Kits
    • Blocks
    • CoreKit
    • Violet
    • WooCore
    • Style Guide
    • OxyNinja Icons
  • Official Templates
    • Agency
    • Real Estate
  • 🔨Troubleshooting
    • Common Problems
    • FAQ
  • 📖Changelog
    • Changelog
    • Feature Requests
  • Development
    • CoreFramework\Helper
Powered by GitBook
On this page
  • Setup 🛠️
  • Anatomy of Blocks 🫀
  • Components
  • Utility Classes & Variables
  • Section-Specific Guides and Tips 💡
  • Headers
  • Stacking Elements
  • Sliders
  • Duplicate Sliders
  • Tables
  • Maps
  • Query Loops
  • Custom Code Blocks
  1. Official UI Kits

Blocks

Blocks is the official Core Framework wireframe kit featuring BEM, A11Y and Global Components - all set up for you! Perfect for rapid web design.

PreviousAuthor GuidelinesNextCoreKit

Last updated 9 months ago

✅ Features:

  • 300+ pre-built, design-ready layouts.

  • Focus on accessibility, BEM classes, and clean HTML structure.

  • Takes full advantage of the Core Framework utility classes, variables & components.

  • Dark and Light theme-ready out of the box.

  • Easily customizable and responsive by design.

  • Works out of the box with default Core Framework settings (.core project optional).

  • WooCommerce layouts (Coming Soon!)

  • Will be continually updated with new layouts.

Setup 🛠️

To use Blocks, you need to have Bricks Builder and Core Framework installed and activated. Follow the steps below to get started:

  1. Install and activate the Bricks Builder theme.

  2. Install and activate the Core Framework plugin with default mode (full experience).

  1. Activate the Bricks Builder addon under Core Framework -> Addons.

  1. Go to Bricks → Settings → Templates and enter the URL and Password in the Remote templates section.

  1. Open a page or template in Bricks and check that you can access the Remote templates.

Additional steps to make sure everything else works smoothly:

  • SVG: To make sure that sections with SVGs work correctly, please make sure to enable SVG uploads for Administrator in Bricks -> Settings -> General.

  • Code: To make sure that sections with custom code work correctly, please enable Code Execution under Bricks -> Custom Code.

Blocks is now set up and ready to go! ✅ 🎉


Anatomy of Blocks 🫀

Blocks embraces a hybrid approach to web design with a thoughtful combination of utility classes, variables and BEM methodology in an effort to strike a perfect balance between consistency, customization, modularity, and maintainability, ultimately enhancing your design and development experience.

Components

Core Framework Components

Blocks utilizes Core Framework’s native Components as much as possible so that you can tweak your styles from within the Core Framework dashboard. These include button, badge, card, icon, link, avatar, divider and input etc.

These components have default Core Framework styles out of the box that you can tweak inside Core Framework dashboard.

Custom Components

Blocks comes with a variety of reusable global components with custom BEM classes that can be reused across your designs. These include:

Accordion

.line-accordion

.box-accordion

.accordion__title

.accordion__icon

Author

.author-wrapper

.author__meta

.author__name

.author__title

.meta-wrapper

Background

.bg-wrapper

.bg-img

Button Wrapper

.btn-wrapper

Blur

--blur-horizontal

--blur-vertical

--blur-right

--blur-left

--blur-top

--blur-bottom

Divider

.divider-horizontal

.divider-dot

Card

.cards-wrapper

.card-wrapper

.card__heading

.card__info

.card__link-wrapper

Counter

.counters-wrapper

.counter-wrapper

.counter

.counter__info

.counter__description

Icon

.icon-wrapper

List

.icon-list

.info-list

Link

.link-wrapper

Logo

.logo

Map

.map-wrapper

.map

Form

.form

.form-terms

Sliders

.slider-wrapper

.slider

.slider__slide

.slider—overflow

.img-slider

.img-slider--round

.overlay-slider

.overlay-slide

.content-slider

.card-slider

.card-slide

.card-slide--bg

.sync-sliders

.main-slider

.thumb-slider

Tabs

.pill-tabs

.pill-tabs__menu

.pill-tabs__menu-item

.pill-tabs__content

.pill-tabs__pane

.box-tabs

.box-tabs__menu

.box-tabs__menu-item

.box-tabs__content

.box-tabs__pane

.bar-tabs

.bar-tabs__menu

.bar-tabs__menu-item

.bar-tabs__content

.bar-tabs__pane

.border-tabs

.border-tabs__menu

.border-tabs__menu-item

.border-tabs__content

.border-tabs__pane

Table

.table-wrapper

.table

.table__thead

.table__tbody

.table__tr

.table__th

.table__td

.table__heading

.table__text

.table__icon

.scroll-instruction-wrapper

.scroll-instruction__icon

.scroll-instruction__text

Tooltip

.tooltip

.tooltip__text

.tooltip__icon

Toggle

.toggle-switch

.toggle-btn

.toggle-btn__dot

.toggle-btn__dot--active

.toggle__text

.toggle__text--active

.toggle__content

.toggle__content--active

Profile

.profile

.profile__avatar

.profile__meta

.profile__name

.profile__title

.profile__icons

.profile__img

.profile__info

.profile-hover

.profile-hover__meta

Review

.review-wrapper

.review

.blockquote

Rating

.rating

.rating__star

Steps

.steps-wrapper

.step-card

.step__number

.step__info

Stack

.stack-cards

.stack-cards__item

Utility Classes & Variables

Core Framework Utility Classes & Variables

Blocks utilizes Core Framework’s default utility classes and variables to take full advantage of our powerful live editor, allowing you to visually control every aspect of your project with Core Framework dashboard.

Custom BEM Classes

In combination with Core Framework's built-in utility classes and variables, Blocks is equipped with custom BEM classes, providing a more scalable, maintainable, and flexible approach for your web projects compared to relying solely on utility classes.

Section-Specific Guides and Tips 💡

We have designed almost all of the sections in such a way that there’s little to no edits required on your part. However, there may be some exceptions where you need to tweak some things in order to make things work the way you need. We will discuss some of these instances below:

Headers

Header 4

Header 4 features a centred logo with the nav menu split in two parts. The menu needs to have even number of items and behaves like a traditional menu on mobile.

Limitations:

  1. The menu needs to have even number of items (2, 4, 6, 8, etc)

  2. The menu behaves like a traditional menu on mobile.

Here's the custom CSS that makes the magic happen:

/* Center Logo */
%root%.brxe-nav-menu, .bricks-nav-menu-wrapper, .bricks-nav-menu { 
    display: contents;
}

/* Target nav menu items on the left of logo */
%root% li:nth-of-type(-n + 2) { 
    order: 1; 
}

/* Target nav menu items on the right of logo */
%root% li:nth-of-type(n + 3) { 
    order: 3;
}

This CSS is applied to the custom class .header__menu-split

Explanation:

With the logo set to order 2. Order 1 and 3 above defines the order of the nav items to the left (1) and right (3) of the logo.

The (-n + "number") targets nav menu items to the left of the logo and (n + "number") targets nav menu items to the right of the logo.

The CSS above works for menus with 4 links. If your menu has a total of 6 links, simply use (-n + 3) and (n + 4) to make it work.

Header 5

Header 5 features a dynamic nav menu with the last link that should look like a button. For that, the last menu item needs to have a .btn class.

Step by Step Guide:

  • In your WordPress dashboard, go to Appearance -> Menus

  • Click on Screen Options on the top right of your screen and check CSS Classes under Show advanced menu properties. This will enable the CSS Classes input field under menu item settings.

  • Now add your desired Core Framework button class to the last menu item inside the CSS Classes (optional) input field without the dots, i.e. btn.

Stacking Elements

For sections with stacked cards (cards stack on each other on vertical scroll), we’ve added two extra sections on top and bottom named “HEIGHT FOR DEMO” in the structure panel for demo purposes since they need some space on top and bottom to work properly. Feel free to remove these sections after you import your layouts that have stacked cards.

Sliders

To ensure optimal functionality of our slider elements, which utilize the Bricks slider component, Slider (Nestable), powered by Splide, please follow the detailed steps below. We have identified an issue with the speed control when using the autoscroll feature within Bricks’ options. The following instructions will guide you in configuring Bricks’ Slider for the desired performance.

Step-by-Step Guide to Configure Bricks' Slider with Splide Auto Control

  1. Include the Splide Extension Auto Scroll Script

On the page containing your Slider element, insert a code block before the Slider element with the following code:

<script src="https://cdn.jsdelivr.net/npm/@splidejs/splide-extension-auto-scroll@0.5.3/dist/js/splide-extension-auto-scroll.min.js"></script>

<script>
  document.addEventListener('DOMContentLoaded', () => {
    setTimeout(() => {
      const instance = window.bricksData?.splideInstances['your-slider-id']; // Replace 'your-slider-id' with your actual Slider ID
      if (instance) {
        // Optionally destroy the existing instance.
        instance.destroy(true);

        // Mount the autoscroll extension with custom speed.
        instance.mount({ 
          AutoScroll: window.splide.Extensions.AutoScroll
          // AutoScroll options can be configured here
        });
      }
    }, 100);
  });
</script>

Replace 'your-slider-id' with the actual ID of your Slider element. To find the ID, click on the Slider element in Bricks and check the ID, which will be in the format #brxe-c9f28f. In this case, we would use c9f28f as the ID in the code.

  1. Configure Custom Options in Bricks

After adding the code block, we will now configure the Slider element in Bricks:

  • Click on the Slider element.

  • Navigate to Options and set the Options type to Custom.

  • In the Custom options box, add the desired options for the Splide (Slider) element. Below is an example configuration used on our showcase website:

{
"type": "loop",
"perPage": 3,
"height": "auto",
"gap": "var(--space-m)",
"pagination": false,
"arrows": false,
"autoScroll": {
    "speed": 0.3
    },
"breakpoints": {
    "767":{
        "perPage": 2
          },
    "476":{
        "perPage": 1
          }
    }
}

Duplicate Sliders

Please note that if there are 2 sync sliders on the same page, one of them might not work as they have some shared BEM classes. In that case, you will need to edit and replace classes in the code and the relevant slider elements.

Tables

Sections with tables have a custom scroll instruction element that is set to display on mobile landscape and below only since the table container is set to be overflow: auto in order to make the table mobile responsive.

Maps

For sections that contain a map, we are using iframe embeds instead of the Google Maps API. You can avoid the API dependency by simply embedding the map by following these steps:

  1. Find any location on Google Maps and click the share button.

  2. Copy the iframe HTML code from Embed a map tab.

  1. Paste the code into the code element with class .map

Query Loops

Custom Code Blocks

For a full list of Splide options, . By following these steps, you will ensure that the Bricks’ Slider component operates smoothly with the desired autoscroll speed control.

Blog and Single Post sections are query loop compatible to be dynamic data ready out of the box. In order for them to be displayed properly on your site, you need the required WordPress content and may need to tweak the query loop settings according to your needs. Please refer to Bricks builder’s guides on and for more details.

When you import any layout with custom code, you’ll be required to sign the code to execute it. This is a code security measure by Bricks which you can read more on .

please visit this page
Dynamic Data
Query Loop
here
👕
Page cover image