Subscribe On YouTube

Join other subscribers and enjoy other Divi video tutorials!

How To Move The Divi Blog Title, Text, And Button Over The Image

Nelson Miller Profile Orange
This unique tutorial will show you how to move the Divi blog grid title, meta, and button up over top of the featured images.

Text Over Divi Blog Featured Image

If you like to style and customize the Divi blog module, be sure to check out the many tutorials we have been doing in our Divi Blog tutorials. This tutorial builds on some of the others. It also was a request, and I’ve been planning this for a long time. I think it’s great and really looks nice! So let’s get to it. This tutorial will do some tricks and move the Divi Blog module text over top of the featured image.

▶️ Please watch the video above to get all the exciting details! 👆

#1. Add The Code Snippets

Add A Custom CSS Class To The Module

Start by adding a custom CSS class “pa-blog” to the Divi Blog module settings>Advanced tab>Custom CSS & IDs toggle>CSS Class field.

Add The jQuery

The first thing you need to do is add the following snippet of jQuery code to your website.

What Is This Doing?

This is doing a very special trick. By default, the blog module is broken into parts, the title, the meta, and the content. In order for us to move all thee parts as a unit, we first need to combine them into one element. Pretty cool, huh!

Where To Paste The jQuery Code

1. Divi Assistant
If you are using our Divi Assistant plugin, simply paste the code in the jQuery tab in the custom code window in the Divi Visual Builder.

2. Child Theme
If you are using a child theme, paste this code into the scripts.js file (don't forget to remove the <script> tags at the beginning and end). If you don't have a child theme, you can generate a child theme directly on your site or download our free child theme.

3. Divi Theme Options Integration
Otherwise, paste this code in your Divi>Theme Options>Integrations tab in the "Add code to the < head > of your blog" code area.

If you need help understanding where to paste the code, please check out our complete guide about where to add custom code In Divi.

<script>
    (function($) {
        $(document).ready(function() {

            $(".pa-blog .et_pb_post").each(function() {
                $(this).find(".entry-title, .post-meta, .post-content ").wrapAll('<div class="pa-blog-text"></div>');
            });

            //Do the same for ajax
            $(document).bind('ready ajaxComplete', function() {
                $(".pa-blog .et_pb_post").each(function() {
                    $(this).find(".entry-title, .post-meta, .post-content ").wrapAll('<div class="pa-blog-text"></div>');
                });
            });

        });
    })(jQuery); 
</script>

Add The CSS

Once the previous snippet is added and saved, we can move on to the CSS.

What Is This Doing?

This code is  moving the combined element that we wrapped together with the jQuery and placing it up over the featured image. It is centering this new element vertically and horizontally over the image.

We also needed to include some CSS to clean things up. For example, we needed to adjust the margin and padding on the featured image.

Another thing we are doing is adding an overlay to the image so that the text stands out. We can’t use the overlay in the module settings for this because it would put the text behind it.

Where To Paste The CSS Code

1. Divi Assistant
If you are using our Divi Assistant plugin, simply paste the code in the CSS tab in the custom code window in the Divi Visual Builder.

2. Child Theme
If you are using a child theme, paste this code into the style.css file. If you don't have a child theme, you can generate a child theme directly on your site or download our free child theme.

3. Divi Theme Options Integration
Otherwise, paste this code in your Divi>Theme Options>Custom CSS code box.

If you need help understanding where to paste the code, please check out our complete guide about where to add custom code In Divi.

/*move wrapped title, meta, and text up over the image*/

.pa-blog-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	padding: 30px;
	z-index: 1;
}


/*keep the moved items positioned with their parent items*/

.et_pb_blog_grid article {
	position: relative;
}


/*remove spacing around entire blog post*/

.et_pb_blog_grid .et_pb_post {
	padding: 0px;
}


/*remove negative margins on blog featured image*/

.et_pb_image_container {
	margin: 0;
}


/*remove the margin below the featured image frame*/

.et_pb_post .entry-featured-image-url {
	margin: 0;
}



.et_pb_blog_grid .entry-featured-image-url::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

#2. Adjust Divi Settings

Remove The Border

By default, Divi adds this annoying little 1px gray border. Just remove that, you can barely see it now but it is still noticeable.

Title Text

Because we added an overlay to the image (to make it easier to read the text), now we need to do part two of that and make the text a light color. In my example, I made the H2 Title Text white.

Meta Text

Again, if you are using any meta text like author name, categories, date, etc. then you would want this to be a light color as well.

Body Text

I don’t think there would be enough room for this in the grid mode, but if you have a large enough space, you could keep the Excerpt turned on. If so, the same idea applies and this would need to be a light color.

Button (Read More Text)

If you are using the read more button, then you probably want to make it look better. We have a great tutorial on How To Style And Customize The Divi Blog Read More Button, which shows you how to style the link text as a button, add an icon, and change the button text.

How To Style Customize and Change The Divi Blog Read More Button Tutorial by Pee Aye Creative

Subscribe For More Things Like This!

At the start of each month, we send out a recap newsletter from the month before with family news, Divi news, our latest tutorials, and product news. Occasionally, if the news is too exciting to wait, we will send out another email separate from the monthly newsletter. That’s what you get when you subscribe, and of course you can unsubscribe if you are no longer interested!

Blog Post Optin

Leave A Response!

By commenting you agree to our Blog & YouTube Comments Policy

114 Comments

Comments By Members

  1. Sarah <span class="comment-author-role-label"><a href="https://wordpress-292293-1617718.cloudwaysapps.com/product/divi-adventure-club/" class="comment-author-role-link" rel="external nofollow" target="_blank">Divi Adventure Club Member</a></span>

    HI Nelson, thanks so much – works a treat. I just have one issue – as my Blog Posts module is 90% page width, the thumbnails are looking low res as they are showing intrinsic 400px x 250px and need to be over 500px wide for my full page width layout. How can I fix that? https://waratahbuilding.com.au/stories/

    Reply
  2. Jordan Mason <span class="comment-author-role-label"><a href="https://wordpress-292293-1617718.cloudwaysapps.com/product/divi-adventure-club/" class="comment-author-role-link" rel="external nofollow" target="_blank">Divi Adventure Club Member</a></span>

    That did not work for me. In addition, you say in your instructions: “By default, Divi adds this annoying little 1px gray border. Just remove that, you can barely see it now but it is still noticeable.”

    How exactly do you do that? You never said.

    Reply

Comments By Others

  1. Hemant Gaba

    Jamie!

    Please note that to make the tile square, we need to set the height and width to be equal. However, post sizes needed to be checked to provide a code for it. Can you share the URL of the page to check further?

    Reply
  2. Hemant Gaba

    Hi Tatiana!

    Could you please share the URL for me to investigate further on this?

    Reply
  3. Hemant Gaba

    Hi Aneal!

    The value of the property is not correct in your code. Please add the following code instead:

    .entry-featured-image-url::before {
    content: ” ” ;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4)!important;
    }

    Let me know if it helps!

    Reply
  4. Pandora Taylor-Cheal

    Not to worry! I found it on one of your other posts – thank you!

    Reply
  5. Hemant Gaba

    Hi Tatiana!

    We updated the code for the pagination. If the issue persists, then you can try clearing the plugin cache. If it doesn’t help, could you please share the URL for me to investigate further on this?

    Reply
  6. Tatiana

    Hi Nelson, I have the same problem now. it only works on the initial page-load and stops working as soon as you click to go to the next page or go back. Can you help, please?

    Reply
  7. Hemant Gaba

    Hey Heather,

    The URL you provided is under construction right now so I was not able to check it but I would suggest you provide a different custom class to the blog module and place that custom class at the start of every CSS selector present in the code and then you will not face this issue.

    Reply
  8. Hemant Gaba

    Hey Davide,

    Could you please share the URL for me to investigate further on this?

    Reply
  9. Hemant Gaba

    Hey Miguel,

    First, please make sure that you are doing everything right in terms of placing the code. If everything is right then there must be a caching issue so please try doing the hard refresh or using a different browser and see if that helps.

    Let me know how it goes.

    Reply
  10. Hemant Gaba

    Great! I am glad to hear that.

    Let me know if you need any further assistance. 🙂

    Reply
  11. Matt

    Yes, it worked great, thanks so much!

    Reply
  12. Matt Piccolo

    Thanks. I got it to work sort of. It gets lighter on hover when you hover around the edges of the image but not when you hover over the text in the middle of the module. Any quick fix to that?

    Reply
  13. Hemant Gaba

    The issue is happening because you have given the before pseudo-class to the anchor tag and the z-index of that anchor tag and before pseudo-element is not defined but the container containing the text has a z-index of 1 so that is why it is being on the higher priority. Now increasing the z-index of the anchor tag or decreasing the z-index of the text container is not a solution here because the black overlay will come on the text if we do that.

    The best solution here for you is to remove the before and the before hover code that you are using and use the code given below instead:

    .pa-blog article:hover::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.3);
    transition: all .5s ease;
    }
    .pa-blog article:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.55);
    z-index: 1;
    }

    This will add the before pseudo-class to the whole article and that will remove the issue.

    Let me know if that helps. 🙂

    Reply
  14. Hemant Gaba

    Hi Matt,

    There is no snippet mentioned in the CSS that triggers any styles on hover. So could you please share the URL of the page so that I can look from where that hover is coming from and how can fix the hover text issue?

    Reply
  15. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Matt,
    It sounds like you are asking how to change the opacity of the overlay on hover. The code you want to be working with is the last snippet in the post:

    .et_pb_blog_grid .entry-featured-image-url::before {
    content: ”;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    }

    So you could simply add :hover into that like .et_pb_blog_grid .entry-featured-image-url:hover::before

    Reply
  16. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Jorge,
    I’m not sure what you mean by the separation. But in general, he physics of having different length text are a problem that you could maybe solve with adjusting the font size.

    Reply
  17. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Matt, please review the answers I shared to your other comment thread here.

    Reply
  18. Matt Andrews

    Please explain what I did wrong then. I installed the JS and CSS and applied the class, what did I miss and I will try to share the screen shots again.

    Reply
  19. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Matt,
    You have to understand that the way you are trying to use the Divi Blog module is not the same as in the tutorial. Also it looks like you may have tried to share screenshots?

    Reply
  20. Matt Andrews

    THis is what it looks like after the code is installed

    Reply
  21. Matt Andrews

    This is what the page looks like before adding in the code

    Reply
  22. Matt Andrews

    This is what it looks like before the code is installed

    Reply
  23. Matt Andrews

    They lined up like smooth blocks, in three columns, one large block to the left and then two smaller blocks that i put blog modules in as well. so you would have 5 total post , one big one on the left and 4 to the right, lined up all smooth…. then I add your code and you see its distored, the blocks are all out of whack

    Reply
  24. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Matt, so I see you have three blog modules, one in each of the three columns. I’m not sure what you are asking, I thought you meant it changed the column layout. What I do see is a physics problem, where there is too much text to fit inside the images. Is there something else I’m missing?

    Reply
  25. Jordan Mason <span class="comment-author-role-label"><a href="https://wordpress-292293-1617718.cloudwaysapps.com/product/divi-adventure-club/" class="comment-author-role-link" rel="external nofollow" target="_blank">Divi Adventure Club Member</a></span>

    K. Got it. Is it possible to create this overlay as a hover effect? So essentially it starts out as a picture, and then when mouse over – it goes to like a move-up class transition effect with the title and screen overlay?

    Reply
  26. Sarah

    Thank you, it works perfectly! 🙂

    Reply
  27. Tom

    The new code has fixed it! Thanks for your fast response on this!

    Reply
  28. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    I updated the snippet in the tutorial, it should work now.

    Reply
  29. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    I updated the snippet in the tutorial, it should work now.

    Reply
  30. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    I updated the snippet in the tutorial, it should work now.

    Reply
  31. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    It is hard for me to know since I can’t replicate it, but try this and reply back:

    Reply
  32. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    How strange, no idea why the module would hide. Try the updated code snippet in the tutorial to fix the original issue.

    Reply
  33. Tom

    Thanks for getting back to me, no luck with this – this code hid the blog all-together!

    It was all working fine before the WordPress 5.6 update – all plugins and DIVI has been updated too?

    Reply
  34. Sarah

    Hi, the url is here I managed to get it working again by installing the jquerymigrate helper, but it’s a bit of an iffy solution for now. Thanks 🙂

    Reply
  35. Nelson Lee Miller (aka The Divi Teacher) <span class="comment-author-role-label author-label">Author</span>

    Hi Tom,
    I’m still not able to replicate it, would love to find the common denominator. You can try this and let me know:

    Reply
  36. Wouter

    Hello, this indeed sorted the issue. But i would rather not use the plugin. Is it possible to adjust the script to make it work? Thank you

    Reply
  37. Parham Shafti

    Hi again! Yes, I have sorted the issue now. It seems that the new Wp Update removes a jquery library. Which was what interfered with the script. I got advised to Install the “Enable jquery migrate helper” plugin and then choose the legacy version of jQuery. That sorted the issue. 

    Reply
  38. Streater

    I think I was placing it in the wrong place… because I just tried following this again and it worked… I don’t even remember now I ended up finding a different solution at the time

    Reply

Leave a Reply to Amy Davies Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

0

Your Cart