Skip to content

[NODEBB] Help for my custom CSS

Solved Customisation
237 5 107.4k 3
  • Ohh super ^^
    Thank you Mark

  • Hi Mark
    My Homepage did not shown on top.

    image.png

  • Hi Mark
    My Homepage did not shown on top.

    image.png

    @cagatay That looks like you didn’t define a label for the icon. Have a look at /admin/settings/navigation, and you’ll see what I mean

    185e4cab-d66d-4b28-be84-fcf1293d7d23-{B68462A1-F628-4904-82B1-32CC90A060FD}.png

  • thank you Mark, fixed.

  • how can i add these new year icons to my home page as well?

    image.png

  • @cagatay said in [NODEBB] Help for my custom CSS:

    how can i add these new year icons to my home page as well?

    image.png

    JS:

    $(window).on('action:ajaxify.end', function(ev, data) {
        const snowMan = $('#snow-man');
        if (!snowMan.length && !ajaxify.data.template.chats) {
            $(`<img 
                src="https://www.freeiconspng.com/thumbs/snowman-png/snowman-png-29.png" 
                id="snow-man" 
                class="d-none d-lg-block position-fixed" style="z-index: 1054; bottom: -50px; right: -100px;"/>
            `).appendTo('body');
        } else {
            if (ajaxify.data.template.chats) {
                snowMan.remove();
            }
        }
    });
    

    CSS:

    // ------------------------------------------
    // Christmas styling 
    // ------------------------------------------
    /* Guirlande header */
    
    
    
    body {
      background-image: url("https://community.nodebb.org/assets/uploads/files/xmas-lights.png");
      background-repeat: repeat-x;
      background-position: top -22px left;
    }
    
    .container.px-md-4.brand-container {
        margin-top: 10px;
    }
    
    
    /*
    .skin-noskin #content {
        background: rgba(255, 255, 255, 0.9);
        margin-top: 1rem;
        border-radius: 5px;
    }*/
    
    /* end christmas styling */
    
    img#snow-man {
        width: 280px;
    }
    
    @media all and (max-width: 768px) {
    #snow-man {
        display: none;
      }
      .container.px-md-4.brand-container {
        margin-top: 15px !important;
        }
    }   
    
    div#console-nav-tab {
        z-index: 1000;
    }
    
  • thank you @DownPW

  • Hello @phenomlab

    I’d like to increase the size of the avatar image in the right sidebar without widening it, and center all the icons.

    I can’t find the right code.

    Any ideas?
    image.png

    .sidebar #user_dropdown .avatar {
        margin: 2px 0;
        width: 30px;
        height: 30px;
    }
    

    2f8847fb-7d2b-4794-834f-af459093d543-image.png

  • Hello @phenomlab

    I’d like to increase the size of the avatar image in the right sidebar without widening it, and center all the icons.

    I can’t find the right code.

    Any ideas?
    image.png

    .sidebar #user_dropdown .avatar {
        margin: 2px 0;
        width: 30px;
        height: 30px;
    }
    

    2f8847fb-7d2b-4794-834f-af459093d543-image.png

    @DownPW There isn’t any easy way to achieve this without using position: absolute on the img itself. Even then, you’d need to manually alter the position of the child icons in the same div (the sidebar). Whilst I do see the appeal, it’s not something I’d recommend doing to be honest.

  • @DownPW There isn’t any easy way to achieve this without using position: absolute on the img itself. Even then, you’d need to manually alter the position of the child icons in the same div (the sidebar). Whilst I do see the appeal, it’s not something I’d recommend doing to be honest.

    @phenomlab

    I succeeded in the following way by playing with the margins.

    .sidebar #user_dropdown .avatar {
        margin: 2px -7px;
        width: 35px;
        height: 35px;
    }
    

    Result is good :

  • I’d like to do the same thing with the website logo.

    For example, at Christmas time, I’d like to change my logo to something like a Santa hat, but it’s always cut off.

    I’ve tried adjusting the size and margins, and even modifying the logo’s pixels directly, but it doesn’t seem to work. It’s always cut off in the same way.

  • I’d like to do the same thing with the website logo.

    For example, at Christmas time, I’d like to change my logo to something like a Santa hat, but it’s always cut off.

    I’ve tried adjusting the size and margins, and even modifying the logo’s pixels directly, but it doesn’t seem to work. It’s always cut off in the same way.

    said in [NODEBB] Help for my custom CSS:

    I’d like to do the same thing with the website logo.

    For example, at Christmas time, I’d like to change my logo to something like a Santa hat, but it’s always cut off.

    I’ve tried adjusting the size and margins, and even modifying the logo’s pixels directly, but it doesn’t seem to work. It’s always cut off in the same way.

    @phenomlab ?

  • This post is deleted!
  • I just upgraded to the latest version to see if I could replicate this, which I can’t. Do you perhaps have overriding CSS?

  • resolve with :

    li[component=post] a[href*=“/groups/administrators”] {
    position: absolute !important;
    left: 2px;
    z-index: 2;
    margin-top: 1px;
    border-radius: 999px !important;
    line-height: 14px;
    display: block;
    margin-left: 6px !important;
    background: var(–bs-user-level-bg) !important;
    color: var(–bs-body-color-primary) !important;
    width: auto;
    }

  • resolve with :

    li[component=post] a[href*=“/groups/administrators”] {
    position: absolute !important;
    left: 2px;
    z-index: 2;
    margin-top: 1px;
    border-radius: 999px !important;
    line-height: 14px;
    display: block;
    margin-left: 6px !important;
    background: var(–bs-user-level-bg) !important;
    color: var(–bs-body-color-primary) !important;
    width: auto;
    }

    @DownPW great, but use position: absolute; carefully and sparingly

  • Hi,

    I’d like to enlarge the div so that the logo is fully displayed. Right now, for example, it’s cut off on the right at the glasses.

    8d7fea95-a138-42be-9ffd-12448b0b6fcd-image.jpeg

    an idea ?

  • if I set :

    • {
      overflow: visible !important;
      }
      it’s OK.

    I have not overflow: hidden in my custom css on acp…

    Maybe because Fancybox add an <a> no ?

    9780086b-1ca2-4b61-bf56-b4eb9e1c8871-image.jpeg

  • if I set :

    • {
      overflow: visible !important;
      }
      it’s OK.

    I have not overflow: hidden in my custom css on acp…

    Maybe because Fancybox add an <a> no ?

    9780086b-1ca2-4b61-bf56-b4eb9e1c8871-image.jpeg

    @DownPW strange. Fancybox doesn’t actually alter the image as far as I recall.

    Does it make a difference if you change the class name (in developer mode) from fancybox to say, fancybox1?

    If it works, then the class may have that defined already.

  • @baris said:

    You should change your selectors so it doesn’t look at the entire document. You probably only want to apply fancybox to stuff inside the #content element which is what changes when the user navigates around the page. So use $('#content a').... for your selectors then the forum logo in the header won’t be selected.

    I modified the JS Fancybox code now and this code and it seem better 🙂

    // ---------------------------------------------
    // Fancybox Media Reader (Without Website Logo)
    // ---------------------------------------------
    
    if (top.location.pathname !== '/login') {
        $(window).on('action:posts.loaded', function(data) {
            console.log("Polling DOM for lazyLoaded images to apply Fancybox");
            $(document).ready(function() {
                $('#content a').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() {
                    $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate");
                });
            });
        });
    }
    
    if (top.location.pathname !== '/login') {
        $(document).ready(function() {
            $(window).on('action:ajaxify.end', function(data) {
                $('#content a').not('.logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() {
                    $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate");
                    data.preventDefault()
                    // Strip out the images contained inside blockquotes as this looks nasty :)
                    $('#content blockquote img').remove();
                });
                Fancybox.bind(
                    '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]',
                    {
                        groupAll: true,
                    }
                );
            });
        });
    }
    
    // Chat fancybox - fires when chat module loaded and AJAX calls new chat
    $(document).ready(function() {
        $(window).on('action:chat.loaded', function(data) {
            // >>> Se limiter au contenu principal uniquement <<<
            $('#content img').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() {
                var newHref = $(this).attr("src");
                $(this).wrap("<a class='fancybox' href='" + newHref + "'/>");
                $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate");
                data.preventDefault();
                // Strip out the images contained inside blockquotes as this looks nasty :)
                $('#content blockquote img').remove();
            });
            Fancybox.bind(
                '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]',
                {
                    groupAll: true,
                }
            );
        });
    });
    

    For the logo, I must use overflow: visible !important; on [component="brand/logo"]

    /* --- Logo --- */
    [component="brand/logo"] {
      max-height: 50px;
      width: auto;
      height: auto;
      max-width: 100%;     
      display: block;
      object-fit: contain;  
      object-position: left center;
      overflow: visible !important;
    }
    

    Better result !!


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Custom Page - nodebb

    Solved Customisation custom-pages nodebb
    13
    2
    5 Votes
    13 Posts
    1k Views
    I’m happy to see this
  • Opening links in nodebb widget

    Solved Configure nodebb
    6
    4 Votes
    6 Posts
    2k Views
    A more efficient way of including this would be to not over complicate it and leverage a standard iframe (providing the CSP headers of the remote site permit this) like below <iframe src="https://www.classmarker.com/online-test/start/?quiz=gag66aea7922f0a5" width="700" height="800"></iframe> This works first time every time on your site as intended.
  • NodeBB v3 Android Problem

    Solved Configure nodebb android
    4
    4 Votes
    4 Posts
    1k Views
    thank you fixed.
  • optional "snow falling" theme

    Solved Customisation nodebb
    6
    6 Votes
    6 Posts
    2k Views
    @Sala ok, but that’s still the same loop which is going to have an impact on the CPU.
  • The best css to customize our logo?

    Solved Customisation css
    2
    1 Votes
    2 Posts
    1k Views
    @Sala This should look better .sidenav .navbar-brand { padding-top: 0.5rem; padding-bottom: 0.5rem; } [image: 1669026666905-e5cec20e-be36-4ee8-9129-fd11ad4656ac-image.png] You can increase the top and bottom padding by increasing the values above.
  • who is read NodeBB

    Customisation read post nodebb
    6
    0 Votes
    6 Posts
    2k Views
    @cagatay You should ask in the NodeBB forums. Perhaps reference this post https://discuss.flarum.org/d/23066-who-read
  • NodeBB Design help

    Solved Customisation
    8
    3
    2 Votes
    8 Posts
    2k Views
    @riekmedia I’ve applied some new CSS to your site. Can you reload the page and try again ? For the record, this is what I added #footer { background: #2d343e; border-top: 4px solid #2d343e; font-size: 0.9em; margin-top: 70px; padding: 80px 0 0; position: relative; clear: both; bottom: 0; left: 0; right: 0; z-index: 1000; margin-left: -15px; margin-right: -338px; } The /categories page seems a bit messed up, so looking at that currently EDIT - issued some override CSS in the CATEGORIES widget <!--- CSS fix for overspill on /categories page - DO NOT DELETE --> <style> #footer { margin-right: -45px; } </style> That should resolve the /categories issue.
  • NodeBB customisation

    Locked Customisation
    332
    27 Votes
    332 Posts
    170k Views
    @jac Given your departure away from your previous project, I’m going to close this thread…