Lesefortschritt:

    Höhe des Divi-Blog-Rasters ausgleichen

    30. Juni 2024 | CSS-Stylesheet, Divi-Theme, Scripts

    Trick # 357 | Dieser Beitrag beinhaltet 1156 Wörter. – Geschätzte Lesezeit: ca. 6 Minuten.

    Das Blog-Modul des Divi-Themes kommt standardmässig im Masonry-Look daher. Das bedeutet, dass die Höhe des Blog-Gitters je nach Teaserlänge stark variieren kann. Diese Höhenunterschiede lassen sich jedoch mit JavaScript und ein wenig CSS-Code ausgleichen.

    Wenn Sie ein Blog-Modul im Divi-Theme verwenden und unter «Design» das Gitter- (oder Grid-)Layout wählen, kann der Blog so dargestellt werden wie nebenan:

    Immerhin: Die unterschiedlichen Höhen lassen sich ausgleichen: Bearbeiten Sie das Blog-Modul und vergeben Sie ihm eine CSS-Klasse. Klicken Sie dafür auf den Tab «Erweitert» und dann auf «CSS-ID & Klassen». Dort fügen Sie die Klasse «blog-equal-height» in das Eingabefeld «CSS-Klasse» ein. Dieselbe Klasse wird dann in dem unten stehenden Codeschnipsel verwendet, um den Code mit diesem Modul abzugleichen und zu verknüpfen.

    Nun platzieren Sie den untenstehenden Script-Code im <head>-Bereich Ihrer Website – wahlweise auch in einem Code-Modul auf der gewünschten Seite. Für den <head>-Bereich klicken Sie im Backend auf Divi/Integration und fügen ihn dort dem <head> der Website hinzu:

    <script>
    (function ($) {
    var blog_equalize_button_height = "true";if (blog_equalize_button_height == "false") {
    function blog_equalize_blog_post_height(blog) {
    var articles = blog.find('article');
    var heights = [];articles.each(function () {
    var height = 0;
    height += ($(this).find('.et_pb_image_container, .et_main_video_container').length != 0) ? $(this).find('.et_pb_image_container, .et_main_video_container').outerHeight(true) : 0;
    height += $(this).find('.entry-title').outerHeight(true);
    height += ($(this).find('.post-meta').length != 0) ? $(this).find('.post-meta').outerHeight(true) : 0;
    height += ($(this).find('.post-content').length != 0) ? $(this).find('.post-content').outerHeight(true) : 0;heights.push(height);
    });var max_height = Math.max.apply(Math, heights);articles.each(function () {
    $(this).height(max_height);
    });
    }
    } else {
    function blog_equalize_blog_post_height(blog) {
    var articles = blog.find('article');
    var heights = [];
    var btnheights = [];articles.each(function () {
    var height = 0;
    var btnheight = 0;
    var basebtnmargin = 20;height += ($(this).find('.et_pb_image_container, .et_main_video_container').length != 0) ? $(this).find('.et_pb_image_container, .et_main_video_container').outerHeight(true) : 0;
    height += $(this).find('.entry-title').outerHeight(true);
    height += $(this).find('.post-meta').outerHeight(true);
    height += $(this).find('.post-content').outerHeight(true);btnheight += ($(this).find('.et_pb_image_container, .et_main_video_container').length != 0) ? $(this).find('.et_pb_image_container, .et_main_video_container').outerHeight(true) : 0;
    btnheight += $(this).find('.entry-title').outerHeight(true);
    btnheight += $(this).find('.post-meta').outerHeight(true);
    btnheight += $(this).find(".post-content p").outerHeight(true);
    btnheight += basebtnmargin;heights.push(height);
    btnheights.push(btnheight);});var max_height = Math.max.apply(Math, heights);
    var max_btn_height = Math.max.apply(Math, btnheights);articles.each(function () {
    $(this).height(max_height);var eachheight = 0;
    var eachbasebtnmargin = 20;
    eachheight += ($(this).find('.et_pb_image_container, .et_main_video_container').length != 0) ? $(this).find('.et_pb_image_container, .et_main_video_container').outerHeight(true) : 0;
    eachheight += $(this).find('.entry-title').outerHeight(true);
    eachheight += $(this).find('.post-meta').outerHeight(true);
    eachheight += $(this).find(".post-content p").outerHeight(true);
    eachheight += eachbasebtnmargin;var requiredbtnmargin = (max_btn_height - eachheight) + eachbasebtnmargin;
    $(this).find(".more-link").css("margin-top", requiredbtnmargin + "px");
    });
    }
    }
    $(document).ready(function () {
    $(window).resize(function () {
    if ($(this).width() >= 768) {$(".blog-equal-height article").each(function () {
    $(this).removeClass("pa-auto-height");
    $(this).find(".more-link").removeClass("pa-auto-margin");
    })
    $('.blog-equal-height').each(function () {
    blog_equalize_blog_post_height($(this));
    });$('.blog-equal-height').each(function () {
    var blog_blog = $(this);blog_equalize_blog_post_height(blog_blog);var observer = new MutationObserver(function (mutations) {
    blog_equalize_blog_post_height(blog_blog);
    });var config = {
    subtree: true,
    childList: true
    };observer.observe(blog_blog[0], config);
    });$(document).ajaxComplete(function () {
    $('.blog-equal-height').imagesLoaded().then(function () {
    $('.blog-equal-height').each(function () {
    blog_equalize_blog_post_height($(this));
    });
    });
    });$.fn.imagesLoaded = function () {
    var $imgs = this.find('img[src!=""]');
    var dfds = [];if (!$imgs.length) {
    return $.Deferred().resolve().promise();
    }$imgs.each(function () {
    var dfd = $.Deferred();
    dfds.push(dfd);
    var img = new Image();img.onload = function () {
    dfd.resolve();
    };img.onerror = function () {
    dfd.resolve();
    };img.src = this.src;
    });return $.when.apply($, dfds);
    }
    } else {
    $(".blog-equal-height article").each(function () {
    $(this).addClass("pa-auto-height");
    $(this).find(".more-link").addClass("pa-auto-margin");
    })
    }
    });
    });
    })(jQuery);
    </script>

    Nun noch ein wenig CSS-Code, den Sie in das CSS-Stylesheet Ihrer Website (unter Design/Customizer/Zusätzliches CSS) einfügen können:

    .blog-equal-height .auto-height {
    height: auto !important;
    }.blog-equal-height .auto-margin {
    margin-top: 20px !important;
    }

    Und schon ist die Höhe der Beiträge im Divi-Blog-Modul auch bei unterschiedlicher Textlänge angeglichen – so wie nebenan:

    Werbung

    Keine Inhalte gefunden.

    Werbung

     

    Pin It on Pinterest

    Share This
    Überblick über den Datenschutz

    Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.