2nd Aug '22
/
1 comment

Create a App-Like Navigation in Bricks

I’ve promised a few folks in the Facebook group to create a tutorial on how to create an app-like navigation in Bricks like in the image here. You don’t need to have any advanced skills to follow this tutorial. Everything I’m going to cover can be achieved by using Bricks only & a few lines of CSS which can be copied.

App-Like-Navigation in Bricks

First Step: Create the Structure

Create your Header template and place a Container with 3 inner containers inside of it. Set the outer Container to Stretch and Horizontal.

  • Create a Header template
  • Place a Container with 3 inner containers inside of it
  • Set the outer container to Horizontal direction, “align-main-axis: center”, width: 100% and maybe remove the padding around it (depends on your theme style)
  • Make sure to assign a high z-Index Value (like 99 or so) to the outer-container (style -> layout -> z-index)
  • Next set the outer container to position: fixed and bottom: 0 (see Screenshot)

Now you should see the following (note: I don’t cover any standard styles like background-color etc.):

Important Notice

You can freely style the menu according to your requirements. But whatever you’re doing – make sure that you don’t assign a background color to the outer wrapper. If you want to have a background-color, assign it to the inner containers (except the centered one -> more on the bg of the centered one later)

Add your Navigation element

Add the Bricks Nav element as a 4th Child of the wrapper Container (it’s advisable to wrap it with a container again for better styling then, but not necessary, you could also style the nav element itself).

App-Like-Navigation-in-Bricks_4

Set the Nav Menu Element Setting “Show mobile menu toggle” to “always”. You could also use something like BricksExtras Burger Trigger or an Icon in combination with my child theme and the modal here. But in case you want to keep it simple just use the Bricks Nav Element.

Style the wrapper container of the nav element:

  • Assign it a fixed Width and Height
    • In my example I’m using 50px / 50px
  • Border-Radius
    • I’m using 50px;
  • Set the wrapper-container to Position: absolute
    • top: -25px <– which is half of the height of the element

Now it should look like this:

Cutting out that “half-circle” behind the menu-button

That’s where we’ll need a bit of custom CSS. Select the center Container element of your row and head over to “style –> css” and place the following into the custom CSS section:

@media screen and (min-width: 0px) {
    root {
        background: radial-gradient(
            circle at top,
            transparent 50%,
            #3f00b5 25.5%
        ) !important;
    }
}

@media screen and (min-width: 479px) {
    root {
        background: radial-gradient(
            circle at top,
            transparent 45%,
            #3f00b5 25.5%
        ) !important;
    }
}

@media screen and (min-width: 768px) {
    root {
        background: radial-gradient(
            circle at top,
            transparent 20%,
            #3f00b5 20%
        ) !important;
    }
}

How to adapt that CSS Code?

Wondering why your background now gets purple? That’s because of that hex-value (#3f00b5) inside of that snippet. Change that to the color of your choice and it will look good again! If the size of your Icon is different from mine you would need to adapt those % values to make the circle fit again!

Now the only thing that’s left is to make it responsive & to place your content. You can place your content such as Icon-Links or Text-Links for example in the left and the right Container! Regarding responsiveness you just need to click through the breakpoint-settings and style the rest of your menu, like you would with any other Bricks-Element!

Get access to all 630 Bricks code tutorials with BricksLabs Pro

1 comment

  • Good tutorial, i check i because i was looking for a nice mobile menu since theres no date for the builder. At the end, this tutorial is amazing and excelent but the hamburger button show the same lame off canvas right? :/

    Hope to see a tutorial for a mobile menu and thanks again for this one. (sorry if it is hard to understand, i dont speak english).

Leave a Reply to Sous (Cancel Reply)

 

Related Tutorials..

Pro
Responsive iframes in Bricks

Responsive iframes in Bricks

This Pro tutorial provides the steps to add responsive iFrames in Bricks. Step 1 Edit your Page/Template with Bricks. Add a Code element having this…
Categories:
Tags:
Pro
How to Hide the Header Initially and Show It After Scrolling Down in Bricks

How to Hide the Header Initially and Show It After Scrolling Down in Bricks

Hiding the header when the scroll position is at the top and reveal it after the user scrolls down.
Categories:
Tags:
How to create filters with IsotopeJS in Bricks (Part 1)

How to create filters with IsotopeJS in Bricks (Part 1)

This tutorial series will explore the IsotopeJS library's features inside the Bricks ecosystem.
Categories:
Pro
Sticky Header Only For Visitors in Bricks

Sticky Header Only For Visitors in Bricks

A user asked: Anyone know if its possible to make the sticky of the header conditional only for logged out users? This Pro tutorial shows…
Categories:
Download Area with HappyFiles

Download Area with HappyFiles

Aside from the series I'm currently writing on how to create custom galleries and sliders with HappyFiles, Metabox and Bricks, I have developed a snippet…
Categories:
Pro
Reading Progress Bar in Bricks

Reading Progress Bar in Bricks

This Pro tutorial provides the steps to implement a reading progress bar in Bricks builder. Step 1 Add the progress element as the first child…
Categories:
Pro
Custom WordPress Dashboard Page in Bricks

Custom WordPress Dashboard Page in Bricks

Updated on 10 Jul 2024 This Pro tutorial provides the steps to replace all the meta boxes of the WordPress admin dashboard page with the…
Categories:
Tags:
Pro
Floating Bottom Div when Scrolling Down in Bricks

Floating Bottom Div when Scrolling Down in Bricks

Creating a floating call to action element that reveals only as the user scrolls down.
Categories:
Tags: