Skip to content

[NODEBB] CSS Style Sheets SelectBox

Locked Solved Customisation
112 2 33.8k 1
  • @downpw Right. I think I have this working the way you’d like

    9178fb7a-04b8-4b34-95cd-6bf47d8b368a-image.png

    This uses the below CSS I have placed into your ACP. It should not be deleted

    // PLEASE DO NOT DELETE THIS
    
    .header #theme_dropdown {
        padding: 9px 15px;
        padding-top: 9px;
        padding-bottom: 9px;
        margin-top: -4px;
        padding-top: 14px;
        padding-bottom: 16px;
    }
    #switcher{
        position: absolute;
        right: 33%;
    }
    

    The :hover class is always going to look like the below

    07a054c4-57bd-4817-8823-785116ed97b6-image.png

    The reason for this is because you have it hard coded in the ACP CSS as below

    /*VIOLENCE: Couleur du background au survol souris */
    .navbar-default .navbar-nav>li>label:hover {
        background: #555555;
    }
    

    You should remove this, and set it based on the color you want in each external CSS file. This way, it will display correctly.

    The slight caveat with this is that it has to use absolute positioning meaning that if you resize the browser, the theme switcher icon will use a percentage to work out where it needs to be, and won’t be governed by the <ul><li> it sits inside. This is the only way to get the effect you are looking for.

    @phenomlab said in [NODEBB] CSS Style Sheets SelectBox:

    @downpw Right. I think I have this working the way you’d like

    9178fb7a-04b8-4b34-95cd-6bf47d8b368a-image.png

    This uses the below CSS I have placed into your ACP. It should not be deleted

    // PLEASE DO NOT DELETE THIS
    
    .header #theme_dropdown {
        padding: 9px 15px;
        padding-top: 9px;
        padding-bottom: 9px;
        margin-top: -4px;
        padding-top: 14px;
        padding-bottom: 16px;
    }
    #switcher{
        position: absolute;
        right: 33%;
    }
    

    The :hover class is always going to look like the below

    07a054c4-57bd-4817-8823-785116ed97b6-image.png

    The reason for this is because you have it hard coded in the ACP CSS as below

    /*VIOLENCE: Couleur du background au survol souris */
    .navbar-default .navbar-nav>li>label:hover {
        background: #555555;
    }
    

    You should remove this, and set it based on the color you want in each external CSS file. This way, it will display correctly.

    The slight caveat with this is that it has to use absolute positioning meaning that if you resize the browser, the theme switcher icon will use a percentage to work out where it needs to be, and won’t be governed by the <ul><li> it sits inside. This is the only way to get the effect you are looking for.

    Hmmm, it’s problematic. It’s not very aesthetic.
    I am amazed because it works very well on your site or with night mode.
    7b6a5a8e-ed62-4396-9872-1f183153bf10-image.png

    I see red background too on fa -faw ???
    94c88d8c-1cc2-4e49-9f3f-024b2aec1898-image.png

  • @phenomlab said in [NODEBB] CSS Style Sheets SelectBox:

    @downpw Right. I think I have this working the way you’d like

    9178fb7a-04b8-4b34-95cd-6bf47d8b368a-image.png

    This uses the below CSS I have placed into your ACP. It should not be deleted

    // PLEASE DO NOT DELETE THIS
    
    .header #theme_dropdown {
        padding: 9px 15px;
        padding-top: 9px;
        padding-bottom: 9px;
        margin-top: -4px;
        padding-top: 14px;
        padding-bottom: 16px;
    }
    #switcher{
        position: absolute;
        right: 33%;
    }
    

    The :hover class is always going to look like the below

    07a054c4-57bd-4817-8823-785116ed97b6-image.png

    The reason for this is because you have it hard coded in the ACP CSS as below

    /*VIOLENCE: Couleur du background au survol souris */
    .navbar-default .navbar-nav>li>label:hover {
        background: #555555;
    }
    

    You should remove this, and set it based on the color you want in each external CSS file. This way, it will display correctly.

    The slight caveat with this is that it has to use absolute positioning meaning that if you resize the browser, the theme switcher icon will use a percentage to work out where it needs to be, and won’t be governed by the <ul><li> it sits inside. This is the only way to get the effect you are looking for.

    Hmmm, it’s problematic. It’s not very aesthetic.
    I am amazed because it works very well on your site or with night mode.
    7b6a5a8e-ed62-4396-9872-1f183153bf10-image.png

    I see red background too on fa -faw ???
    94c88d8c-1cc2-4e49-9f3f-024b2aec1898-image.png

    @downpw said in [NODEBB] CSS Style Sheets SelectBox:

    Hmmm, it’s problematic. It’s not very aesthetic.
    I am amazed because it works very well on your site or with night mode.

    The theme switcher you have doesn’t work the same way as the night mode plugin. What you have is a dropdown which is not the same as the toggle selection hence it will behave differently.

    What isn’t aesthetic exactly ?

    @downpw said in [NODEBB] CSS Style Sheets SelectBox:

    I see red background too on fa -faw ???

    Yes, that comes from the below class on line 415 of your CSS in the ACP

    /*VIOLENCE: Couleur du background de l'icone de recherche au survol souris */  
    .navbar-default .btn-link:hover {
        background: red;
    }
    
  • @DownPW another way…

    Remove

    #switcher{
        position: absolute;
        right: 33%;
    }
    

    Add

    .navbar-default {
        height: 50px;
    }
    

    This way, it’s aesthetic…I just set the changes. Let me know what you think.

  • @DownPW another way…

    Remove

    #switcher{
        position: absolute;
        right: 33%;
    }
    

    Add

    .navbar-default {
        height: 50px;
    }
    

    This way, it’s aesthetic…I just set the changes. Let me know what you think.

    @phenomlab

    It’s better.

    I have just to set space between icon

    For the red, i have disable CSS on line number 415, it’s not that

  • @phenomlab

    It’s better.

    I have just to set space between icon

    For the red, i have disable CSS on line number 415, it’s not that

    @downpw said in [NODEBB] CSS Style Sheets SelectBox:

    For the red, i have disable CSS on line number 415, it’s not that

    Odd. This will stop it

    #switcher .btn-link:hover {
        background: none !important;
    }
    
  • Yeah It’s good

  • Yeah It’s good

    @downpw Great. I think we’re done, yes ?

  • Hmm I search to reducs space between Icon search bar and notification icon

  • Hmm I search to reducs space between Icon search bar and notification icon

    @downpw Can you provide a screenshot to explain what you are looking for ?

  • off course @phenomlab
    I search to reducs space between Icon search bar and notification icon

    4c1df3fb-ffe3-4097-b058-f6fd7011f679-image.png

  • off course @phenomlab
    I search to reducs space between Icon search bar and notification icon

    4c1df3fb-ffe3-4097-b058-f6fd7011f679-image.png

    @downpw Try

    #switcher {
        margin-right: -15px;
        margin-left: -15px;
    }
  • @phenomlab said in [NODEBB] CSS Style Sheets SelectBox:

    #switcher {
    margin-right: -15px;
    margin-left: -15px;
    }

    Yes very Good !!!
    Like this The button is well : Thanks

    baaaa269-6f3e-4a51-acc6-b05138b51349-image.png

  • @phenomlab said in [NODEBB] CSS Style Sheets SelectBox:

    #switcher {
    margin-right: -15px;
    margin-left: -15px;
    }

    Yes very Good !!!
    Like this The button is well : Thanks

    baaaa269-6f3e-4a51-acc6-b05138b51349-image.png

    @downpw

    Right. I moved the custom HTML to a HTML based global widget, and that works 🙂 Give it a try

    Also, not sure why you are using the html class for the background images. You should use body. I just tried it, and it works fine

  • @DownPW some additional advice. The images you are calling remotely should be hosted on your own server. This will prevent unnecessary remote calls, and will also load faster. I’m seeing delay times of up to a second before the wallpaper appears 🙂

  • @phenomlab

    Ok if I understood, I can’t use custom ACP Header for HTML code. I must use an HTML widgets.

    For background, I use the code on NodeBB forum but if you have a code working great on desktop and mobile. II want it a lot
    🙂

  • @phenomlab

    Ok if I understood, I can’t use custom ACP Header for HTML code. I must use an HTML widgets.

    For background, I use the code on NodeBB forum but if you have a code working great on desktop and mobile. II want it a lot
    🙂

    @downpw 🙂 If you move the background CSS you are using out of the html element and into the body for each stylesheet, it’ll work.

    Not sure why the custom HTML works fine in a widget, but… well - it works !

  • For Wallpaper, i will test your solution. That solutino work on mobile ?

  • For Wallpaper, i will test your solution. That solutino work on mobile ?

    @downpw Yes, it does.

  • like this ? @phenomlab

    /* Smartphone */
    @media (min-width: 320px) {
    body {
            background: url(https://i.imgur.com/XXXX.png) no-repeat center center fixed; 
            -webkit-background-size: cover;
            -moz-background-size: cover;
            -o-background-size: cover;
            background-size: cover;
    }
    }
    
    /* Desktop */
    @media (min-width: 1281px) {
        body {
            background: url(https://i.imgur.com/XXXX.png) no-repeat center center fixed; 
            -webkit-background-size: cover;
            -moz-background-size: cover;
            -o-background-size: cover;
            background-size: cover;
        }
    }
    
  • like this ? @phenomlab

    /* Smartphone */
    @media (min-width: 320px) {
    body {
            background: url(https://i.imgur.com/XXXX.png) no-repeat center center fixed; 
            -webkit-background-size: cover;
            -moz-background-size: cover;
            -o-background-size: cover;
            background-size: cover;
    }
    }
    
    /* Desktop */
    @media (min-width: 1281px) {
        body {
            background: url(https://i.imgur.com/XXXX.png) no-repeat center center fixed; 
            -webkit-background-size: cover;
            -moz-background-size: cover;
            -o-background-size: cover;
            background-size: cover;
        }
    }
    

    @downpw Yep. That should work.


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
  • 3 Votes
    2 Posts
    1k Views
    Very great
  • Post Style View

    Solved Customisation post style sudonix nodebb
    67
    2
    18 Votes
    67 Posts
    17k Views
    @cagatay Just add margin-left on the element like @phenomlab said to you : topic [component="post/parent"] { margin-left: 10px; } [image: 1669191112290-aa08c62b-4223-4cba-8c0f-c73d50474c0d-image.png] Maybe @phenomlab have a better way
  • New message CSS problem

    Unsolved Customisation css
    11
    1
    2 Votes
    11 Posts
    2k Views
    @DownPW hi. Sorry for digging up an old post, but I’m going through items still unresolved and was looking to get an understanding of where you are currently with this?
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    237
    49 Votes
    237 Posts
    84k Views
    @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 !!
  • [NodeBB] Import custom Font

    Solved Customisation custom fonts nodebb css
    12
    3 Votes
    12 Posts
    3k Views
    @cagatay you’ll need to define this in the body tag (or another element if you want greater or more granular targets) - for example body { font-family: "Poppins"; font-size: 16px; } Essentially, you use the font-size CSS directive.
  • [NODEBB] Welcome Message

    Solved Customisation css html nodebb
    20
    2
    13 Votes
    20 Posts
    6k Views
    @DownPW the ‘js’ code for the banner takes the time from the client, so what it displays really depends on the regional settings for the operating system. I’ve not seen this issue myself but would like to see some examples of screenshots if possible.
  • Social icon (Nodebb)

    Solved Customisation nodebb social
    7
    0 Votes
    7 Posts
    2k Views
    @phenomlab said in Social icon (Nodebb): @jac I just tested my theory around using the OG image, and according to the Twitter card validator, it works fine [image: 1638880098289-73e805e1-997b-41bf-9259-51c5052ca8fc-image.png] fixed
  • 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.