Skip to content

Footer bar add center text

Solved Customisation
  • @DownPW sorry. Try either

    display: inline;
    

    Or

    display: inline-block;
    

    You might need !important depending on cascading settings

    Edit - for clarity, this should be in the #floatcenter block

  • @phenomlab

    Houra, it’s OK with inline-block

    On the other hand, I see that the text is well centered in the div but I notice that the div itself is not centered.
    Indeed I see a substantial space between the floatcenter div and floatright div.
    You can see it in the screenshot below.

    e1fb1c73-e19d-4548-aa73-9f8456830018-image.png

    Again my HTML/CSS

    <div id="floatcenter"> Some centered text
        </div>
    
    #floatcenter {
        bottom: 1px;
        font-size: 90%;
        line-height: 2.3;
        font-weight: bold;
        color: #666666 !important;
        margin: auto auto;
        text-align: center;
        width: 50%;
        display: inline-block !important;
    }
    
  • @DownPW strange. I don’t recall seeing that issue when I created this using the console live on your site. This is likely due to width constraints on the parent div.

    In the above CSS you could try to set width to auto rather than 50%, but then you will need to set width: 100%; on the parent div

  • @phenomlab

    I have test with width: 50%;, I have the floatright OK with not space like before but the text is not centered.

    4ff9abbf-889c-42ac-9202-3dd1465eb0c7-image.png

  • @DownPW ok. Let me have a look at this later. Can you leave everything as it is - I know it doesn’t look right but I want to make sure the right css is provided for the html you are using and it’s easier to do this live.

    Perhaps set the floatcenter element to be hidden for the time being?

  • @phenomlab

    Yep I will set display: none on floatcenter div for waiting

    I notice I can centered the text when I play with margin-left for example but is not auto-centered according to the text

    It’s still better but I would like it to center automatically based on the text rather than manually.

    we will get there

  • @DownPW Ok, try this

    #floatcenter {
        bottom: 1px;
        font-size: 90%;
        line-height: 2.3;
        font-weight: bold;
        color: #666666 !important;
        margin: 0 auto;
        text-align: center !important;
        max-width: 50%;
    }
    #floatright {
        float: right;
        bottom: 1px;
        font-size: 90%;
        line-height: 2.3;
        display: flex;
        position: sticky;
    }
    

    Don’t add to the CSS blocks you have - you need to replace them. This should yield the below - see the position markers - the lilac is centered on the screen, whilst the other two div tags occupy the remainder.

    055d6573-f3d7-41b0-93f3-8bfff20737b4-image.png

    There is a caveat in the sense that this doesn’t scale very well - mostly because of the existing position: fixed; and the need to set position: sticky; on the right-most element of #floatright. Based on this, it would be sensible to hide #floatcenter on the mobile breakpoints to prevent the text from overlapping.

  • @phenomlab

    Ah ok you play with max-width: 50%; on floatcenter and position: sticky; on floatright

    That’s smart 😉 I didn’t necessarily think of that.


    The result is perfect except on smartphone as you said.

    –> I tried this as usual but it doesn’t work. An idea?

    @media (max-width: 768px) {
        #floatcenter {
            display: none !important;
        }  
    }
    

    EDIT: Yep this code works for not display floatcenter div. I must find for floatright div
    EDIT2: Ok @phenomlab with floatright div with this code :

    @media (max-width: 767px) {
    #floatright {
        float: right;
        bottom: 1px;
        font-size: 90%;
        line-height: 2.3;
        display: flex !important;
        position: static;
    } 
    }
    

    If you have a better solution tell me Mark 😉

    A big big thank you bro 👍

  • @DownPW that should work - unless it’s inherited higher up in the cascade. If you resize the browser to match a mobile device, does it appear in the DOM?

  • @DownPW said in Footer bar add center text:

    If you have a better solution tell me Mark
    A big big thank you bro

    No, that should work and it’s a good mix. Just watch for very large displays as you may get unexpected placing of elements, but I doubt anyone will ever encounter this unless they run their browser using the entire screen estate.

    Highly unlikely I think.

  • @phenomlab

    I did the test on my desktop 34-inch screen in browser full screen and it works, then goes on my smartphone. (OnePlus 8T)

    Everything is fine unless I missed something 😉

    I mark as solved 🙂

  • DownPWundefined DownPW has marked this topic as solved on
  • @DownPW that’s great news. Seems to work on my 32" desktop monitor fine, and also on my OnePlus 9 Pro 😁

  • @phenomlab

    very odd, there are a bug :

    –> floatright text is invisible only on Firefox and is OK on chromium browser with the same code ?!

  • Other bug :

    On home page. I must scroll down to see the footerbar.
    She’s not appear directly

  • And lasts bugs on firefox Mobile (test with a smartphone, not on an develloper view on desktop) :

    • Like on chromium browser smartphone : On home page. I must scroll down to see the footerbar. She’s not appear directly

    • On firefox mobile, I have these when I scroll all the way down and when I scroll up/down:

    02fda5d2-c617-4dd6-9ee8-968bdd703f89-image.png 451947b8-c9e3-44c3-a356-08ce806de3b3-image.png

  • DownPWundefined DownPW has marked this topic as unsolved on
  • @DownPW said in Footer bar add center text:

    floatright text is invisible only on Firefox and is OK on chromium browser with the same code ?!

    Typical Mozilla.

    Use this instead

    #floatright {
      float: right;
      bottom: 1px;
      font-size: 90%;
      line-height: 2.0;
      display: flex;
      position: fixed;
      right: 10px;
    }
    

    You might find that this messes with the alignment of text, so you’ll need to adjust line-height accordingly, or make the difference up with either margin or padding

    The #console-nav-footer element disappearing on Firefox is due to a bug - see https://bugzilla.mozilla.org/show_bug.cgi?id=1585254 and https://bugzilla.mozilla.org/show_bug.cgi?id=1760924

    The issue here is that the .row class used in core is set as below

    970e8fac-23c7-4621-975c-423a152ab3dd-image.png

    In Firefox, this has the undesired artefact of pushing other divs down because the browser interprets this as outside of the margins. You can prove this theory by removing the tick from the margin-right class shown above when in DEV mobile view - you should see the footer appear as soon as you remove the margin-right value from .row - in effect, you are setting the margins back to 0 meaning the content is rendered correctly.

    You could write a custom JS function to apply the right CSS to resolve this issue, but in fairness, it’s very easy to fake the Browser String, which could lead to more problems that you set out to solve.

    There are other ways to address this specific issue, but if it were me, I’d accept the bug until the Mozilla team actually address it.

  • @phenomlab Thanks for the information, after research it seems to firefox don’t like sticky position too 😞

    I will test tonight your fix, I’m on the office actually

    Thanks

  • @DownPW no problems. Let me know how it goes

  • @phenomlab

    problem resolv for floatright on Firefox desktop with your last css above. thanks 👍
    For information, in my research I have seen this link wit hother fix (not tested) : https://stackoverflow.com/questions/27521676/position-sticky-not-working-in-firefox

    😉


    –> Now, I search to resolve if possible these 2 smartphone bugs (only on Firefox mobile version, OK on Chromium-based browsers ) :

    A- if I collapse the footerbar I end up with black space at the bottom :

    c7f4ce50-325a-4307-8fc4-eefe8296cdba-image.png

    B- In fact, the footerbar remains fixed and does not come down automatically if you zoom in on a page. Ceal works on Chromium-based browsers (vivaldi, brave, etc.)

    You have the same bug on sudonix

  • @DownPW absolutely another Firefox related bug, so will need to check this. I don’t typically use Firefox myself so I’m not surprised at all that this specific issue manifests itself on sudonix also.

  • DownPWundefined DownPW has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Why not buy me a coffee? It's a nice gesture, and a great way to show your appreciation 💗

  • 5 Votes
    12 Posts
    306 Views

    @phenomlab hi Mark, no worries. I will definitely write my experience here… 🙂

    Unfortunately, I could not find time to try it yet.

  • Issues with Progress Bar on v3

    Solved Customisation
    48
    14 Votes
    48 Posts
    3k Views

    @Panda You could use the below

    .page-topic .pagination-block.ready { display: none; }
  • 1 Votes
    1 Posts
    178 Views
    No one has replied
  • 2 Votes
    7 Posts
    761 Views

    @phenomlab said in NodeBB changing color of the text:

    @marusaky This ought to to it

    a.permalink, a.permalink:active, a.permalink:focus, a.permalink:hover { color: #ffffff; }

    works great, thanks a lot

  • Fontawesome 5

    Unsolved Customisation
    14
    1 Votes
    14 Posts
    680 Views

    @pwsincd hi. Just following up on this thread (I know it’s old) but was curious to understand if it’s still an issue or not ?

  • 2 Votes
    10 Posts
    859 Views

    @DownPW

    We just have to change the cycles automatically according to each period ?

    Yes, this is by far the safest

    I think it is possible to achieve the goal, I have already seen this kind of thing on a site without any perf problems.

    It’s certainly possible, but not without issues or impact to performance (in my view)

  • 5 Votes
    9 Posts
    2k Views

    @phenomlab

    Very very great Mark 😉
    Thanks again, It’s perfect now !

    –> I share my code that I modified.

    I’ve added French and English comments.
    If you see things to change Mark, don’t hesitate.

    As usual, all the access paths (FA icons, logo) will have to be modified according to your architecture.

    You can also very well add/remove time slots and change welcome messages to suit your needs.

    Widgets ACP/HTML Widget Footer Logo <center> <br><br> <img id="thislogo" src="path/to/my/image"> </center> Widget Welcome Message <!-- IF loggedIn --> <div class="getUsername">, <a href="/me"><span class="username"></span></a></div> <!-- ENDIF loggedIn --> CSS

    – I added the size font-weight: 900; in the CSS because otherwise some FA icon wasn’t displayed correctly and reduce margin :

    i#thisicon { font-family: "Font Awesome 5 Free"; font-style: normal; margin-right: 8px; font-weight: 900; } .getUsername { padding-top: 20px; text-align: right; } /*Smartphone*/ /*On désactive le message de bienvenue"*/ /*We disable the welcome message"*/ @media all and (max-width: 1024px) { .getUsername { display: none; } } JAVASCRIPT // ------------------------------------------ // Welcome Message avec icône et Footer logo // Welcome Message with icon and Footer logo // ------------------------------------------ $(window).on('action:ajaxify.end', function (data) { //On récupère le username dans le DOM et on l'affiche //We retrieve the username from the DOM and display it function updateUsername() { $('.getUsername .username').text(app.user.username); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', updateUsername); } else { updateUsername(); } //On déclare les variables principales (themessage & thehours) ainsi que les variables secondaires correspondants aux plages horaires //We declare the main variables (themessage & thehours) as well as the secondary variables corresponding to the time slots var thehours = new Date().getHours(); var themessage; var wakeup = ('Good day'); var morning = ('Good morning'); var lunch = ('Bon appétit'); var afternoon = ('Good afternoon'); var drink = ('Cheers'); var evening = ('Good evening'); var night = ('Good night'); var welcome = ('Welcome'); var matched = false; //On peux ici tester le résultat du code en spécifiant une heure (!!!IMPORTANT: Commenter une fois le script testé!!!) //Here we can test the result of the code by specifying a time (!!!IMPORTANT: Comment once the script has been tested!!!) //thehours = 20 //On déclare les plages horaires avec les icones FA et les logos //We declare the time slots with FA icons and logos path if (thehours >= 0 && thehours < 6) { themessage = night; theicon = "fa-solid fa-moon"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 6 && thehours < 8) { themessage = wakeup; theicon = "fa-solid fa-mug-hot"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 8 && thehours < 12) { themessage = morning; theicon = "fa-solid fa-sun"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 12 && thehours < 13) { themessage = lunch; theicon = "fas fa-hamburger"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 13 && thehours < 16) { themessage = afternoon; theicon = "fa-solid fa-sun"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 16 && thehours < 18) { themessage = welcome; theicon = "fa-solid fa-rocket"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 18 && thehours < 19) { themessage = drink; theicon = "fa-solid fa-wine-glass"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 19 && thehours < 20) { themessage = lunch; theicon = "fas fa-pizza-slice"; thelogo = "/assets/customlogo/XXX.png"; } else if (thehours >= 20 && thehours < 24) { themessage = evening; theicon = "fa-solid fa-tv"; thelogo = "/assets/customlogo/XXX.png"; } // Si la page active est un topic, on désactive/cache le message de bienvenue // If the active page is a topic, we deactivate/hide the welcome message if (window.location.href.indexOf("topic") > -1) { console.log("This is a topic, so hide the user welcome message"); $('#thisuser').hide(); } // Sinon, on affiche le message en fonction, l'icone FA et son emplacement (prepend) // Otherwise, we display the message in function, the FA icon and its location (prepend) else { $('.getUsername').prepend("<i id='thisicon' class='" + theicon + "'></i>" + themessage); $("#thislogo").attr("src", thelogo); //$('.getUsername').prepend("<img id='thisicon' src='" + thelogo + "'></>" + themessage); } });
  • NodeBB Footer

    Solved Customisation
    10
    1 Votes
    10 Posts
    975 Views

    @phenomlab said in NodeBB Footer:

    @jac and you. Hope all is well and you recover quickly

    Thanks pal 😁🤝🏻