CSS Media Queries for the Divi Theme

Written by Dan Mossop

The Divi Theme uses a responsive design, meaning it adjusts its layout to look good on any size of screen. This is achieved using CSS styles targeted at particular screen sizes using a technique called "media queries".

If we're looking to make changes to Divi using our own CSS, it can be useful to know the exact media queries Divi uses so that our styles are applied to the correct Divi layout. Here are the media queries Divi uses:

/* Large screens (1405px upwards) */
@media only screen and ( min-width: 1405px ) { 
    /* your css goes here */
}

/* Laptops and desktops (1100-1405px) */
@media only screen and ( min-width: 1100px ) and ( max-width: 1405px) { 
    /* your css goes here */
}

/* Tablets in landscape mode (981-1100px) */
@media only screen and ( min-width: 981px ) and ( max-width: 1100px ) { 
    /* your css goes here */
}

/* Tablets in portrait mode (768-980px) */
@media only screen and ( min-width: 768px ) and ( max-width: 980px ) {
    /* your css goes here */
}

/* Smartphones in landscape mode (480-768px) */
@media only screen and ( min-width: 480px ) and ( max-width: 767px ) {
    /* your css goes here */
}

/* Smartphones in portrait mode (0-479px) */
@media only screen and ( max-width: 479px ) {
    /* your css goes here */
}

I've added comments giving an indication of the type of devices (smartphones, laptops, etc) that will show each layout size, but note that this is a rough guide only – there is some overlap in which device types will show which screen resolution.

Enhance Your Divi Sites with Dynamic Functionality!

Maximize the potential of your Divi website by incorporating dynamic functionality using the Divi PHP Code Module. Perfect for users looking to apply custom CSS and PHP code, this module allows you to run PHP directly within your Divi layouts, unlocking new possibilities for customization and feature addition.

About Dan Mossop

Dan is a Scottish-born web developer, now living in Brisbane with his wife and son. He has been sharing tips and helping users with Divi since 2014. He created Divi Booster, the first Divi plugin, and continues to develop it along with 20+ other Divi plugins. Dan has a PhD in Computer Science, a background in web security and likes a lot of stuff, 

24 Comments

  1. Hi does this cover ipad pro? i have a 3 column layout and it looks horrible on the ipad pro.

    Reply
    • Hi heloish, this only covers Divi's own breakpoints. If you want custom styling for the ipad pro, this article looks like the right way to go:

      https://medium.com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106

      It gives an example using SCSS instead of CSS, but basically it's suggesting using the following media queries:

      @media only screen and 
        (min-device-width : 1024px) and (max-device-width : 1024px) and 
        (min-device-height : 1366px) and (max-device-height : 1366px) and 
        (min-width: 1024px) and (max-width: 1024px) {
          /* ipad pro portrait styles */
      }
      
      @media only screen and 
         (min-device-width : 1024px) and (max-device-width : 1024px) and 
         (min-device-height : 1366px) and (max-device-height : 1366px) and 
         (min-width: 1366px) and (max-width: 1366px) {
          /* ipad pro landscape styles */
      }
      

      They work by targeting the exact dimensions of the ipad pro and nothing else, so they won't interfere with the look of your regular site (except in the presumably very unlikely case that a user sets their regular desktop browser to the same exact dimensions).

      Reply
  2. Thanks a bunch! This was really helpful for my morning!

    Reply
  3. Logan, do I paste these values into the main element of the CSS field and do I copy and apply ALL the above-listed values into the main element field?

    Reply
    • Hi Oliver, you don't put this CSS in the Custom CSS tab of individual modules, as it won't work there. The reason is that the fields in the Custom CSS tab (such as the main element field) only accept CSS properties, not full CSS such as the above.

      Instead, these CSS media queries should be used somewhere that accepts full CSS, such as the Custom CSS box in the Divi Theme Options, or the style.css file of a child theme. This post explains in more detail:

      https://divibooster.com/adding-css-to-the-divi-theme/

      You can use add all of the @media blocks, or just the ones you need. Note that they won't do anything until you add some CSS code into the blocks – the @media blocks given by Logan just dictate the screen widths at which any CSS you add between the "{" and "}" will be applied. Hope that makes sense!

      Reply
  4. I am still very "green" in terms of DIVI and web development, so CSS is tricky for me. Will try your recommendations. Thanks Logan.

    Reply
  5. Thanks, very useful!

    Reply
  6. Thank you so much you are the best!!!!

    Reply
  7. updated for 2.7.4

    /* Responsive Styles Large Desktop And Above */
    @media all and (min-width: 1405px) {
    }
    /* Responsive Styles Smartphone Portrait */
    @media all and (max-width: 479px) {
    }
    /* Responsive Styles Smartphone Only */
    @media all and (max-width: 767px) {
    }
    /* Responsive Styles Tablet Only */
    @media all and (min-width: 768px) and (max-width: 980px) {
    }
    /* Responsive Styles Tablet And Below */
    @media all and (max-width: 980px) {
    }
    /* Responsive Styles 981px – 1100px */
    @media all and (min-width: 981px) and (max-width: 1100px) {
    }
    /* Responsive Styles Desktop Only */
    @media all and (min-width: 981px) {
    }
    /* Responsive Styles Standard Desktop Only */
    @media all and (min-width: 981px) and (max-width: 1405px) {
    }

    Reply
    • Thanks for sharing that, Logan – much appreciated!

      Reply
    • Thank you for the update!

      Reply
    • Logan Ramirez Thank you Bro.
      You've saved my time

      Reply
    • Do we still have to put css under each one like I've done below or just copy and paste what you have?

      /* Responsive Styles Standard Desktop Only */
      @media all and (min-width: 981px) and (max-width: 1405px) {
      #top-menu-nav { display:none; }
      }
      @media all and (min-width: 981px) and (max-width: 1405px)
      #et_mobile_nav_menu { display:block }
      }

      Reply
      • Hi leisa, you will still need to put CSS under each one as you've done. The media queries given by Logan and myself are basically empty containers for putting CSS in – they determine when that CSS will be used (i.e. at what screen widths), but they won't have any visible effect until you add your own CSS.

        Reply
  8. Thank you, just what I needed!

    Reply
  9. Thank you so much for this! Saved me a ton of time :)

    Reply

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

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

We may earn a commission when you visit links on our website.

Latest From Divi Booster

Set Hover Color for Menu Links in the Divi Menu Module

Customizing the hover color of menu links lets you enhance the user experience and maintain visual consistency with your website’s brand. By setting a specific hover color, you can guide visitors' attention and improve navigation feedback. In this guide we show you...

Enable Automatic Looping for YouTube Videos in the Divi Video Module

Enabling automatic looping for YouTube videos in your Divi video module ensures that content plays seamlessly and continuously without interruption. This feature can enhance user engagement, highlight key information, or create dynamic visual effects on your website....

Hide Video Controls in Divi Video Module

Disabling YouTube video controls in the Divi Video Module helps create a seamless, distraction-free viewing experience for your site visitors. This approach is useful when you want full control over how your video content appears and is interacted with on the page, or...

Mute YouTube Videos by Default in the Divi Video Module

In the Divi Video Module, starting your YouTube videos muted by default can create a more user-friendly browsing experience on your webpage. It is particularly beneficial for reducing distractions, enhancing visitor engagement, and providing a seamless content preview...

Autoplay Videos in Divi Video Module

Enabling videos in your Divi video module to start playing automatically can enhance both the site's design and user engagement. To ensure full compatibility with browser requirements, such as Chrome's autoplay policy, it's often necessary to start your videos muted...

Random Divi Posts