How to Combine a Scroll Progress Bar with a Fixed Navigation Menu in Divi

How to Combine a Scroll Progress Bar with a Fixed Navigation Menu in Divi

Progress Bar Indicators can add a nice touch to your website, boosting UX with a useful (and fun) interaction. Normally, progress bars stand alone at the top of the page without much connection to the actual content of the page. The user simply has a visual indicator of where they are on the page. But, today, we are going to take this functionality to another level.

In this tutorial, we are going to show you how to combine a scroll progress bar with a fixed navigation menu in Divi. This design is unique in that the progress bar correlates with the width of the menu buttons. And because the width of the menu buttons is equal (in percentages) to the height of the scrollable sections of content on the page, each button will be filled by the scroll progress bar precisely as the user reaches the button’s corresponding section. And if that isn’t enough, we’ll make each button an anchor link to those corresponding sections as well, for an added UX bonus!

This design would be perfect to bring a user through a landing page describing the steps of a process. Well, you’ll see.

Let’s get started!

Sneak Peek

Here is a quick look at the design we’ll build in this tutorial.

Download the Layout for FREE

To lay your hands on the designs from this tutorial, you will first need to download it using the button below. To gain access to the download you will need to subscribe to our Divi Daily email list by using the form below. As a new subscriber, you will receive even more Divi goodness and a free Divi Layout pack every Monday! If you’re already on the list, simply enter your email address below and click download. You will not be “resubscribed” or receive extra emails.

To import the section layout to your Divi Library, navigate to the Divi Library.

Click the Import button.

In the portability popup, select the import tab and choose the download file from your computer.

Then click the import button.

Once done, the section layout will be available in the Divi Builder.

Let’s get to the tutorial, shall we?

What You Need to Get Started

expanding corner tabs

To get started, you will need to do the following:

  1. If you haven’t yet, install and activate the Divi Theme.
  2. Create a new page in WordPress and use the Divi Builder to edit the page on the front end (visual builder).
  3. Choose the option “Build From Scratch”.

After that, you will have a blank canvas to start designing in Divi.

Part 1: Creating the Fullscreen Section Page Layout

The Top Section

To get things started, add a one-column row to the section.

scroll progress bar with fixed menu

Before adding a module, update the row settings as follows:

  • Width: 100%
  • Max-Width: 100%
  • Padding: 0px top, 0px bottom

scroll progress bar with fixed menu

Inside the row, add a text module.

scroll progress bar with fixed menu

Then open the settings for the text module and paste the following HTML to create a colorful heading:

<h2><span style="color: #00A4E0;">Let's</span> <span style="color: #EE4266;">get</span> <span style="color: #2a1e5c;">star</span><span style="color: #26c485;">ted</span></h2>

scroll progress bar with fixed menu

Under the design tab, update the text alignment to center.

scroll progress bar with fixed menu

The update the following H2 Heading styles:

  • Heading 2 Font: Roboto
  • Heading 2 Text Size: 6vw

scroll progress bar with fixed menu

Open the section settings and update the height to be 100vh (or 100% of the viewport/window height). This will make sure the section is fullscreen. Then take out the padding as follows:

  • Height: 100vh
  • Padding: 0px top, 0px bottom

scroll progress bar with fixed menu

To make sure the row/content inside the section remains vertically centered within the section, add the following custom CSS to the Main Element of the Section:

display:flex;
flex-direction:column;
justify-content:center;

scroll progress bar with fixed menu

Step One Section

The next section in the layout will be the first of four steps. It is also the first section that our first menu anchor link will scroll to.

To create the first step section, duplicate the top section we just created.

scroll progress bar with fixed menu

Then open the settings for the duplicate section and update the background color:

  • Background Color: #222222

scroll progress bar with fixed menu

Next, open the text settings and replace the body text with the following:

<h2>Step One...</h2>
Sed aliquet risus a urna aliquet blandit. Maecenas a scelerisque lorem. Sed commodo lectus sit amet felis rutrum, blandit elementum dui tincidunt. Nunc in tortor sit amet leo pharetra lobortis sed a velit. Fusce eu ante lacinia, gravida nibh id, semper lectus. Quisque lacinia rhoncus consectetur. 

scroll progress bar with fixed menu

Change the text alignment to left-aligned.

scroll progress bar with fixed menu

Then update the following:

  • Heading 2 Text Color: #00a4e0
  • Max Width: 40vh (desktop), 80vh (tablet)
  • Module Alignment: center

scroll progress bar with fixed menu

That takes care of the step one section.

Step Two Section

To create the step two section, duplicate the step one section we just created.

scroll progress bar with fixed menu

Open the section settings and add a background gradient on top of the background color as follows:

  • Left Gradient Background Color: rgba(255,255,255,0.85)
  • Right Gradient Background Color: rgba(255,255,255,0.85)

scroll progress bar with fixed menu

Then update the heading color:

  • Heading 2 Text Color: #ee4266

scroll progress bar with fixed menu

This section’s background and heading color will match the colors of the button that correlates to this section in the menu we’ll create later.

Step Three Section

To create the step three section, duplicate step two section and drag it to the bottom of the page.

scroll progress bar with fixed menu

Then change the heading color of the text module.

  • Heading 2 Text Color: #26c485

scroll progress bar with fixed menu

Step Four Section

Our final step is step four. To create this section, duplicate the step two section and drag it to the bottom of the page.

scroll progress bar with fixed menu

Then update the heading for the text module in that section.

  • Heading 2 Text Color: #2a1e5c

scroll progress bar with fixed menu

Result

Here is the result of our layout so far.

scroll progress bar with fixed menu

Part 2: Creating the Scroll Progress Bar and Menu

This next part is where we finally create the scroll progress bar with our menu buttons. The idea is to add a fixed section to the top of the page. Then inside the section, we’ll create a row that holds a divider module that will serve as our progress bar indicator. On top of the row with the progress bar, we are going to add another row that will contain our buttons. Each button will have a transparent (or semi-transparent) background in order to reveal the progress bar behind it as the user scrolls down the page.

To start, let’s create the fixed section at the top of the page. Go ahead and create a new regular section and drag it to the top of the page layout.

scroll progress bar with fixed menu

Open the section settings and take out the padding as follows:

  • Padding: 0px top, 0px bottom

scroll progress bar with fixed menu

Under the advanced tab, update the following:

  • Position: Fixed
  • Z Index: 999

scroll progress bar with fixed menu

This will make sure the section stays fixed at the top of the browser window for easy anchor link functionality. It will also make sure the section breaks out of the normal flow of the document/html and doesn’t add to the height of the overall document. This will us to have the scroll bar reach the end of each button exactly when the user reaches each section/step on the page when scrolling.

Inside the section, add a one-column row.

scroll progress bar with fixed menu

Open the row settings and update the following:

  • Gutter Width: 1
  • Width: 100%
  • Max Width: 100%
  • Padding: 0px top, 0px bottom
  • Position: Absolute

scroll progress bar with fixed menu

Open the column settings and add the following Custom CSS to the Main Element:

height: 100%;
display:flex;
align-items:center;

scroll progress bar with fixed menu

This will make sure the column has the same height as the section. It will also allow the modules to have a height of 100% as well. This will be key to making sure the progress bar fills the section.

To create the progress bar, add a divider module to the column.

scroll progress bar with fixed menu

Then update the divider settings as follows:

  • Show Divider: NO
  • Background Color: #222222

scroll progress bar with fixed menu

scroll progress bar with fixed menu

NOTE: We are giving the progress bar a width of 100% here so that you can see it within the design. We will increase and decrease the width of the divider/progress bar with JQuery.

Under the advanced tab, add a CSS ID and give it an absolute position.

  • CSS ID: scrollBar
  • Position: Absolute

scroll progress bar with fixed menu

Adding the Percentage Text Indicator

Next, we are going to add a place to show the percentage of the scroll position as the user scrolls down the page. This will correlate to the width of the progress bar.

scroll progress bar with fixed menu

Under the divider, add a text module.

scroll progress bar with fixed menu

Then paste the following HTML to the body:

<p><span></span></p>

scroll progress bar with fixed menu

Our JQuery will write the percentage text to this HTML (between the span tags). You won’t be able to see anything now.

Although percentage text isn’t visible yet, we still need to add the following styling in anticipation of it showing up.

  • Text Font: Roboto
  • Text Font Style: TT
  • Text Text Color: #ffffff
  • Text Text Size: 16px
  • Padding: 0.8em top, 0.8 bottom, 15px left

scroll progress bar with fixed menu

Under the advanced tab, give it a custom CSS Class and disable it on phone and tablet.

  • CSS Class: et-progress-label
  • Disable On: Phone, Tablet

scroll progress bar with fixed menu

Although we aren’t finished, this is a good spot to add our custom code needed to show the scroll progress bar and percentage.

To add the code, add a code module below the text module.

scroll progress bar with fixed menu

Then paste the following code in the code box making sure to wrap it with the required script tags:

(function($) {
$(document).ready(function(){
var docHeight = $(document).height();
var winHeight = $(window).height();
var $scrollBar = $('#scrollBar');
var $progressLabel = $('.et-progress-label p span'); 
$scrollBar.css('width', 0);
$progressLabel.html('0%');
$(window).scroll(function(){
var winScrollTop = $(window).scrollTop();
var scrollPercentage = Math.abs(winScrollTop / (docHeight - winHeight)*100);
$scrollBar.css('width', (scrollPercentage + '%'));
$progressLabel.html( Math.round(scrollPercentage) + '%');
});
});
})( jQuery );

scroll progress bar with fixed menu

That takes care of the progress bar and percentage text. Let’s move on the navigation menu.

Building the Menu Buttons with Anchor Links

Now we are ready to build the navigation menu which will include four buttons that span the full width of the browser. I thought it would be cool to have the scroll bar fill each button as the user reaches the corresponding section it is linking to. Here’s the idea. Each button will have a width of 25% of the total width of the browser. And since our four sections are all have the same height (100vh), each of the four sections represents 25% of the total scrollable area of the page layout. This will make sure the progress bar reaches the end of each button precisely as the corresponding section fills the viewport. Did you catch that? If not, hopefully it makes more sense later.

The Row and Column

To create the menu buttons, first, we need to create a four-column row below the row containing the progress bar/divider.

scroll progress bar with fixed menu

Open the row settings and update the following:

  • Gutter Width: 1
  • Width: 100%
  • Max Width: 100%
  • Padding: 0px top, 0px bottom

scroll progress bar with fixed menu

To make sure the columns to stack on mobile, we need to add the following custom CSS to the Main Element:

display:flex;
flex-wrap:nowrap;

scroll progress bar with fixed menu

Step One Button

To create the first button, add a button module in the far left column.

scroll progress bar with fixed menu

Update the button text and link URL as follows:

  • Button Text: Step 1
  • Button Link URL: #one
    (this anchor link will jump the section with the corresponding CSS ID we’ll add later)

scroll progress bar with fixed menu

Next, update the button styles as follows:

  • Button Alignment: Center
  • Button Text Size: 20px (desktop), 14px (tablet)
  • Button Background Color: transparent
  • Button Border Width: 0px
  • Button Border Radius: 0px
  • Button Letter Spacing: 0.2em
  • Button Font: Roboto
  • Button Font Style: TT
  • Padding: 0.8em top, 0.8em bottom, 0 left, 0 right

scroll progress bar with fixed menu

To make the button span the full width of the column, add the following custom CSS to the main element:

display:block !important;
width: 100%;

scroll progress bar with fixed menu

Step 2 Button

To create the button for step two, duplicate the button in column one and drag it into column 2.

Then update the following:

  • Button Text Color: #ee4266
  • Button Background Color: rgba(255,255,255,0.85)

The semi-transparent background color will be combined with the black progress bar color (behind it) to match the corresponding step two section background.

scroll progress bar with fixed menu

Then update the button link URL with the following:

scroll progress bar with fixed menu

Step 3 Button

To create the step 3 button, duplicate the step 1 button (it has the same bg color), and drag it into column 3.

Then update the button text color:

  • Button Text Color: #26c485

scroll progress bar with fixed menu

Then update the button link URL with the following:

scroll progress bar with fixed menu

Step 4 Button

To create the step 3 button, duplicate the step 2 button (it has the same bg color), and drag it into column 4.

Then update the button text color:

  • Button Text Color: #2a1e5c

scroll progress bar with fixed menu

Then update the button link URL with the following:

scroll progress bar with fixed menu

Adding Corresponding Section CSS IDs for Anchor Links

Once the buttons are finished and they all have their anchor link URLs, we can add the corresponding section CSS IDs to each section we want each button to jump to on the page.

Step One Section CSS ID

Open the settings for the step one section and add the following CSS ID:

scroll progress bar with fixed menu

Step Two Section CSS ID

Open the settings for the step two section and add the following CSS ID:

scroll progress bar with fixed menu

Step Three Section CSS ID

Open the settings for the step three section and add the following CSS ID:

scroll progress bar with fixed menu

Step Four Section CSS ID

Open the settings for the step four section and add the following CSS ID:

scroll progress bar with fixed menu

Final Result

Final Thoughts

This progress bar menu is definitely a unique design that has the potential for a variety of applications. Hopefully, it helps you with your next project. And, feel free to explore the countless design variations available within the Divi builder to create your own progress bar menu.

I look forward to hearing from you in the comments.

Cheers!

How to Reveal a Column CTA in a Sticky State with Divi

How to Reveal a Column CTA in a Sticky State with Divi

At a certain point when you’re creating a page design, you might run into a list of services, courses, or something similar that you want to share in an interactive way. The design you’re using for your list content plays a very important role in how your visitors digest the content. And with most lists, you’re also going to want to include a call to action that connects the dots. If you’re looking for a creative way to do that, you’ll love this tutorial.

Today, we’ll show you how to reveal a column CTA in a sticky state with Divi. As soon as the CTA touches the end of the column, the sticky effect stops, which gives an effortless experience in which people can continue reading the list items and decide to take action whenever they want without having to scroll up or down to find the CTA. We’ll share the JSON file for free as well!

Let’s get to it.

Preview

Before we dive into the tutorial, let’s take a quick look at the outcome across different screen sizes.

Desktop

Mobile

column cta

Download The Sticky Column CTA Section Layout for FREE

To lay your hands on the free sticky column CTA section layout, you will first need to download it using the button below. To gain access to the download you will need to subscribe to our Divi Daily email list by using the form below. As a new subscriber, you will receive even more Divi goodness and a free Divi Layout pack every Monday! If you’re already on the list, simply enter your email address below and click download. You will not be “resubscribed” or receive extra emails.

Let’s Start Recreating!

Add New Section

Background Color

Start by adding a new section to the page you’re working on. Open the section settings and apply a white background color.

  • Background Color: #ffffff

column cta

Add Row #1

Column Structure

Continue by adding a new row using the following column structure:

column cta

Spacing

Without adding any modules yet, open the row settings and apply some bottom margin.

column cta

Add Text Module to Column

Add H2 Content

Add a Text Module with some H2 content of your choice.

column cta

H2 Text Settings

Move on to the module’s design tab and change the H2 text settings accordingly:

  • Heading 2 Font: Alata
  • Heading 2 Font Weight: Bold
  • Heading 2 Text Alignment: Center
  • Heading 2 Text Color: #000000
  • Heading 2 Text Size:
    • Desktop: 55px
    • Tablet: 40px
    • Phone: 30px

column cta

Add Divider Module to Column

Visibility

Right below the Text Module, add a Divider Module and make sure the “Show Divider” option is enabled.

column cta

Line

Move on to the module’s design tab and change the line settings as follows:

  • Line Color: #3a7a84
  • Line Style: Double

column cta

Sizing

Complete the module’s settings by modifying the sizing settings accordingly:

  • Divider Weight: 10px
  • Width: 8%
  • Module Alignment: Center
  • Height: 10px

column cta

Add Row #2

Column Structure

Continue by adding another row right below the previous one using the following column structure:

column cta

Sizing

Open the row settings and modify the sizing settings as follows:

  • Use Custom Gutter Width: Yes
  • Gutter Width: 2
  • Equalize Column Heights: Yes
  • Width: 95%
  • Max Width: 2580px

column cta

Spacing

Remove all default top and bottom padding next.

  • Top Padding: 0px
  • Bottom Padding: 0px

column cta

Column 1 Settings

Background Image

Then, open the column 1 settings and apply a background image.

  • Background Image Size: Cover

column cta

column cta

Border

Move on to the column’s design tab and apply some rounded corners.

column cta

Add Blurb Module to Column 2

Add Content

Time to add modules, starting with a Blurb Module in column 2. Add some content of your choice.

column cta

Select Icon

Select an icon next.

column cta

Background Color

Then, apply a white background color.

  • Background Color: #FFFFFF

column cta

Icon Settings

Move on to the module’s design tab and change the icon settings accordingly:

  • Icon Color: #3a7a84
  • Image/Icon Placement: Left

column cta

Title Text Settings

Then, style the title text settings.

  • Title Heading Level: H3
  • Title Font: Alata
  • Title Font Weight: Bold
  • Title Text Color: #000000
  • Title Text Size:
    • Desktop: 35px
    • Tablet: 30px
    • Phone: 20px

column cta

Body Text Settings

Make some changes to the body text settings too.

  • Body Font: Karla
  • Body Text Size:
    • Desktop: 17px
    • Tablet: 15px
    • Phone: 14px
  • Body Line Height: 2.5em

column cta

Sizing

Change the sizing settings next.

column cta

Spacing

And apply some custom padding values to the spacing settings.

  • Top Padding: 20%
  • Bottom Padding: 20%
  • Left Padding: 10%
  • Right Padding: 10%

column cta

Border

Next, we’ll add some rounded corners to the border settings.

column cta

Box Shadow

And we’ll include a subtle box shadow.

  • Box Shadow Blur Strength: 50px
  • Shadow Color: rgba(59,120,130,0.14)

column cta

Animation

Continue by removing the Blurb Module’s default animation in the animation settings next.

  • Image/Icon Animation: No Animation

column cta

Blurb Title CSS

And complete the module settings by adding one line of CSS code to the blurb title CSS box in the advanced tab.

margin-bottom: 20px;

column cta

Clone Blurb Module Twice

Once you’ve completed the first Blurb Module, clone the Blurb Module up to as many times as you need.

column cta

Change Content

Change the content in each duplicate module.

column cta

Add CTA Module to Column 1

Add Content

In column 1, the only module we need is a Call to Action Module. Add some content of your choice.

column cta

Add Button Link

Add a button link next.

column cta

Gradient Background

Then, apply a gradient background.

  • Color 1: rgba(59,120,130,0.53)
  • Color 2: #112730
  • Gradient Type: Linear
  • Gradient Direction: 161deg

column cta

Title Text Settings

Move on to the module’s design tab and make the following changes to the title text settings:

  • Title Heading Level: H3
  • Title Font: Alata
  • Title Font Weight: Bold
  • Title Text Color: #ffffff
  • Title Text Size:
    • Desktop: 50px
    • Tablet & Phone: 30px

column cta

Button Settings

Style the button next.

  • Use Custom Styles For Button: Yes
  • Button Text Size:
    • Desktop: 20px
    • Tablet: 17px
    • Phone: 15px
  • Button Border Width: 0px
  • Button Border Radius: 0px

column cta

  • Button Font: Alata
  • Button Font Weight: Bold

column cta

  • Top Padding: 20px
  • Bottom Padding: 20px
  • Left Padding: 20px
  • Right Padding: 20px
  • Box Shadow Horizontal Position: 0px
  • Box Shadow Vertical Position: 3px
  • Shadow Color: #ffffff

column cta

Sizing

Move on to the module’s sizing settings and apply the following changes:

  • Width:
    • Desktop: 95%
    • Tablet & Phone: 100%
  • Module Alignment: Center

column cta

Spacing

Add some custom top and bottom padding too.

  • Top Padding: 150px
  • Bottom Padding: 150px

column cta

Border

Include some rounded corners as well.

column cta

Transform Translate

Complete the module settings by applying the following transform translate settings:

  • Right:
    • Desktop: -25px
    • Tablet & Phone: 0px

column cta

Apply Sticky Effect to CTA Module

Sticky Settings

Now that all elements are in place, it’s time to apply the sticky effect. Open the CTA Module and apply the following sticky settings:

  • Sticky Position:
    • Desktop: Stick to Top
    • Tablet & Phone: Do Not Stick
  • Sticky Top Offset: 50px
  • Bottom Sticky Limit: Column
  • Offset From Surrounding Sticky Elements: Yes
  • Transition Default and Sticky Styles: Yes

column cta

Opacity

Now that the module is turned sticky, we can apply sticky styles. Go to the filters settings and apply the following opacity filter settings:

  • Default Opacity:
    • Desktop: 0%
    • Tablet & Phone: 100%
  • Sticky Opacity: 100%

column cta

Transition

Last but not least, we’ll change the transition settings in the advanced tab. That’s it!

  • Transition Duration: 800ms
  • Transition Speed Curve: Ease

column cta

Preview

Now that we’ve gone through all the steps, let’s take a final look at the outcome across different screen sizes.

Desktop

column cta

Mobile

column cta

Final Thoughts

In this post, we’ve shown you how to get creative with Divi’s sticky options. More specifically, we’ve shown you how to beautifully display list items with a sticky column CTA. This approach allows you to visually display all the items and have a call to action closeby while your visitors ready through your services, courses or other types of lists. You were able to download the JSON file for free as well! If you have any questions, feel free to leave a comment in the comment section below.

If you’re eager to learn more about Divi and get more Divi freebies, make sure you subscribe to our email newsletter and YouTube channel so you’ll always be one of the first people to know and get benefits from this free content.

How to Create a Vertical Sticky Timeline Layout in Divi

How to Create a Vertical Sticky Timeline Layout in Divi

Creating a vertical sticky timeline can be extremely useful for categorizing content by year and/or month as the user scrolls down the page. The sticky date elements remain fixed beside the content for a convenient UX boost that users will appreciate.

In this tutorial, we are going to show you how to create a complete vertical sticky timeline layout in Divi. The keys to this design are (1) to give your columns a custom width so that the date elements don’t take up too much horizontal space on mobile and (2) to make the year and month sticky, with sticky limits on the section (for the year) and row (for the month).

Although this layout has multi-faceted applications, we are going to build a timeline layout for showcasing photo galleries categorized by month and year.

Let’s get started!

Sneak Peek

Here is a quick look at the design we’ll build in this tutorial.

Download the Layout for FREE

To lay your hands on the designs from this tutorial, you will first need to download it using the button below. To gain access to the download you will need to subscribe to our Divi Daily email list by using the form below. As a new subscriber, you will receive even more Divi goodness and a free Divi Layout pack every Monday! If you’re already on the list, simply enter your email address below and click download. You will not be “resubscribed” or receive extra emails.

To import the section layout to your Divi Library, navigate to the Divi Library.

Click the Import button.

In the portability popup, select the import tab and choose the download file from your computer.

Then click the import button.

Once done, the section layout will be available in the Divi Builder.

Let’s get to the tutorial, shall we?

What You Need to Get Started

expanding corner tabs

To get started, you will need to do the following:

  1. If you haven’t yet, install and activate the Divi Theme.
  2. Create a new page in WordPress and use the Divi Builder to edit the page on the front end (visual builder).
  3. Choose the option “Build From Scratch”.

After that, you will have a blank canvas to start designing in Divi.

Part 1: Building the Stick Heading

The first element we are going to design is the sticky heading that will remain fixed at the top of the page on scroll.

Add Row

To get started, add a two-fifths three-fifths column layout to the section.

divi vertical sticky timeline

Left Heading Text

In the left column, we are going to add the heading for the timeline that will be on the left side of the page. To do this, add a text module to the left column.

divi vertical sticky timeline

Then add the text “Timeline” to the body of the text module.

divi vertical sticky timeline

Under the design tab, update the following text styles:

  • Text Font: Oxygen
  • Text Font Weight: Bold
  • Text Font Style: TT
  • Text Text Color: #666666
  • Text Size: 50px (desktop), 30px (tablet), 18px (phone)
  • Text Line Height: 1em
  • Text Alignement: right

divi vertical sticky timeline

Then update the padding as well:

divi vertical sticky timeline

Right Heading Text

To create the heading for the gallery content on the right side of the page, copy the text module in the left column and paste it into the right column.

divi vertical sticky timeline

Then open the duplicate text module settings and update the following:

  • Text Text Color: #c22969
  • Text Alignment: Left (desktop), Left (tablet)

divi vertical sticky timeline

Row Settings

To give us the room we need on mobile, we need to update the row settings as follows:

  • Gutter Width: 1
  • Width: 100%
  • Max Width: 1280px
  • Padding: 10px top, 10px bottom

divi vertical sticky timeline

Under the advanced tab, add the following custom CSS to the Main Element on tablet:

display:flex;
flex-wrap:nowrap;

divi vertical sticky timeline

Left Column Settings

Because we are using a row gutter width of 1, there is no spacing between columns. To add sufficient spacing, open the settings for column 1 and update the padding as follows:

  • Padding (desktop): 10px top, 10px bottom, 20px left, 20px right
  • Padding (tablet): 10px bottom, 10px left, 10px right

divi vertical sticky timeline

Next, we want to override the default left column width on tablet and phone so that it is 30% of the row’s width. This will match the column width we are going to add to the columns in the timeline below.

To do this, open the settings for the left column (column1) and add the following CSS to the Main Element on Tablet:

width: 30% !important;

divi vertical sticky timeline

For the right column, we want to add the same padding as we did in column 1. And we will add a left border to the column to serve as a divider as follows:

  • Padding (desktop): 10px top, 10px bottom, 20px left, 20px right
  • Padding (tablet): 10px bottom, 10px left, 10px right
  • Left Border Width: 2px
  • Left Border Color: #333333

divi vertical sticky timeline

We also want the width of the right column to be 70% of the row’s width. To update the column width, open the settings of column 2 and add the following CSS to the Main Element on tablet:

width: 70% !important;

divi vertical sticky timeline

Section Settings

To finish off the heading design, open the section settings, and update the background color:

  • Background Color: #222222

divi vertical sticky timeline

Then update the section padding:

  • Padding: 0px top, 0px bottom

divi vertical sticky timeline

To make the section sticky, go the Advanced tab and update the following:

  • Sticky Position: Stick to Top

divi vertical sticky timeline

Part 2: Creating the Sticky Timeline

This next part of the design is where we create the sticky timeline portion of the layout. The key here is to design the first section, row, and modules with all of the elements in place. Then we can duplicate each section or row as needed.

Add Section

To start, add a new regular section under the heading section we just finished.

divi vertical sticky timeline

Before we start adding our rows and content, open the section settings and update the following:

  • Padding: 0px top, 0px bottom

divi vertical sticky timeline

Add the Row, Row Styles, and Column Structure

Next, create a one-fifth one-fifth three-fifths column row to the section.

divi vertical sticky timeline

To jumpstart the design of the row, copy the styles of the row in the heading section above and paste it into the new row.

divi vertical sticky timeline

Then open the settings of the new row and update the following:

  • Padding: 50px top, 50px bottom

divi vertical sticky timeline

Then add the custom CSS to the Main Element on tablet as follows:

display:flex;
flex-wrap:nowrap;

divi vertical sticky timeline

Creating the Sticky Year

The first sticky date element for the timeline will be the year. This “year” text element will stick to the top of the section on scroll.

To create the year text element, add a new text module to column 1.

divi vertical sticky timeline

Then add the text “2020” to the body.

divi vertical sticky timeline

Under the design tab, update the text styles as follows:

  • Text Font: Oxygen
  • Text Font Weight: Bold
  • Text Text Size: 40px (desktop), 24px (tablet), 18px (phone)
  • Text Alignment: right

divi vertical sticky timeline

To make the year stick to the top of the section, update the following:

  • Sticky Position: Stick to Top
  • Sticky Top Offset: 50px
  • Bottom Sticky Limit: Section

divi vertical sticky timeline

Creating the Sticky Month

To create the sticky month text, copy the text module containing the sticky year and paste it into column 2.

divi vertical sticky timeline

Then open the settings for the new text module in column 2 and update the text body with “dec” (the month abbreviation).

divi vertical sticky timeline

The month text needs to stick to the top of the row instead of the section, so update the sticky limit as follows:

divi vertical sticky timeline

Adding the Gallery Content

In the far right column (column 3), we are going to add the content that correlates to the specific month/year. In this case, we are going to add a gallery module to display a gallery of images.

To create the gallery, add a gallery module in column 3.

divi vertical sticky timeline

Then add at least 6 images to the gallery (or however many you want) and update the following:

  • Image Count: 6
  • Show Title and Caption: NO
  • How Pagination: NO

divi vertical sticky timeline

Under the design tab, update the following:

  • Padding: 3% left, 3% right

divi vertical sticky timeline

To create some custom spacing between the gallery items, add the following custom CSS to the Gallery Item CSS:

padding: 0 1% 2% 1%;

divi vertical sticky timeline

Update Column Widths and Spacing

Like we did for the columns in the heading section, we are going to give our columns custom spacing and widths (one mobile) so that they line up with the headings and look good on tablet and phone.

Column 1

Open the settings for column 1 and update the following:

  • Padding: 1% left, 2% right

divi vertical sticky timeline

Under the advanced tab, add the following custom CSS to the Main Element on tablet:

width: 15% !important;

divi vertical sticky timeline

Then open the settings for column 2 and add the same padding and CSS as follows:

  • Padding: 1% left, 2% right

Main Element CSS (tablet):

width: 15% !important;

divi vertical sticky timeline

Then open the settings for column 3 and update the padding and Main Element CSS as follows:

  • Padding: 1% left, 2% right

Main Element CSS (tablet):

width: 70% !important;

divi vertical sticky timeline

Duplicate the Row for Additional Months

Once the first row is complete, we can duplicate the row for additional months.

Duplicate the row.

divi vertical sticky timeline

In the duplicate row, take out the text for the year. We only need one year per section since the year will stick to the top and bottom of the section.

divi vertical sticky timeline

Then open the text for the month and update the month abbreviation with a new month.

divi vertical sticky timeline

Duplicate the Section for Additional Years

In the same way we duplicated the row for additional months, we can duplicate the entire section for additional years.

Go ahead and duplicate the section we just created for 2020 content.

divi vertical sticky timeline

In the duplicate section, update the year text in row 1, column 1 with the year “2019”.

divi vertical sticky timeline

You can continue this process to build addition years and months as needed for your timeline layout.

Final Result

Check out the final result.

Final Thoughts

The brunt of the design work for this timeline layout is to make it responsive by giving the text sizes and column width mobile-specific styles. But, the sticky positioning of the date elements is extremely easy with Divi’s built-in options. Hopefully, this will come in handy for future projects. I can see this being helpful for showcasing a history timeline for an about page or even for a resources page, downloads page, or product updates.

I look forward to hearing from you in the comments.

Cheers!

Get a FREE Virtual Assistant Layout Pack for Divi

Get a FREE Virtual Assistant Layout Pack for Divi

Hey Divi Nation! Thanks for joining us for the next installment of our weekly Divi Design Initiative; where each week, we give away a brand new, free Divi Layout Pack from our design team to you.

For this week, Kenny and his team have created a beautifully polished Virtual Assistant Layout Pack. Get an edge on the competition with this professional virtual assistant layout pack. This pack will help get your virtual assistant site up quickly so that you can promote your skills with an efficient and unique design. In addition to valuable custom icons and background images, the layout pack has dedicated pages for showcases a wide variety of services to help land more clients!

Check it out!

Landing Page Design

View The Live Layout Demo

Home Page Design

View The Live Layout Demo

About Page Design

View The Live Layout Demo

Blog Page Design

View The Live Layout Demo

Contact Page Design

View The Live Layout Demo

Services Page Design

View The Live Layout Demo

Service Page Design

View The Live Layout Demo

Key Features

The Virtual Assistant Layout pack really offers valuable design needed for promoting a wide variety of virtual assistant services. The background images and icons are key additions. And the services page and service page are definitely a necessity.

Live Demos

Click the links below to see a live demo for each of the layouts included in the pack.

  1. Virtual Assistant Landing Page (live demo)
  2. Virtual Assistant Homepage (live demo)
  3. Virtual Assistant About Page (live demo)
  4. Virtual Assistant Services Page (live demo)
  5. Virtual Assistant Service Page (live demo)
  6. Virtual Assistant Blog Page (live demo)
  7. Virtual Assistant Contact Page (live demo)

Access This Layout Right Now
Directly from Your Divi Builder

Subscribe To Our Youtube Channel

Since Version 3.0.99 of Divi, you can find and import any of the layouts included in this pack (along with ALL of Divi’s Premade Layout packs) directly from the Divi Builder. They are already waiting for you.

To access your new layout, simply activate the Visual Builder when editing a page and look for the “Load From Library” icon in the page settings bar (it looks like a plus symbol). Click this icon to launch the Load From Library popup. Under the Premade Layouts tab, you can easily find the new layout by scrolling through the list of layout packs. Once you find the Virtual Assistant Layout Pack, click on it. You will see all the individual layouts included in the pack. Select the layout you want for to use and then click the “Use This Layout” button.

Authentication Required

Before you can download Premade Layouts from the Divi Library you must authenticate your Elegant Themes Subscription. If you have already activated updates for Divi under Divi > Theme Options > Updates, you have already authenticated your subscription and will have access to the layouts without a problem. If not, when you click to import a layout to your page, you will be prompted to enter your Elegant Themes Membership Username and API Key.

After you enter the Username and API Key, you will gain immediate access to the layouts. You can find your API Key under your members area on the Elegant Themes site.

No Licensing Restrictions

The photos included with these layouts have no licensing restrictions. This means you can use them in all of your commercial projects without having to worry about paying licensing fees or attributing the photographer. Use them in your commercial websites, sell them within your Divi child themes, include them in your own Divi layout packs or just use them on your blog. We know how challenging it can be to find good photos and how confusing and scary the licensing that governs those photos can be. We want to fix that problem for our users.

Download the Full Res Image Assets

New Layout Pack Every Week!

We hope you enjoy this layout pack. We look forward to hearing your opinions in the comment section below. Make sure you check out next week’s layout pack as well!