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 💗

Related Topics
  • What is this bar called?

    Solved Customisation
    92
    36 Votes
    92 Posts
    8k Views

    This is good 👍

  • Quote design CSS

    Solved Customisation
    15
    4 Votes
    15 Posts
    1k Views

    @DownPW yes, that does make sense actually. I forgot to mention the layout of Sudonix is custom so that would have an impact on the positioning.

    Good spot 🙂

  • answers appearance css code request

    Solved Customisation
    11
    1 Votes
    11 Posts
    830 Views

    @DownPW yes, because of the modifications that Sudonix uses, you’ll need to tailor to fit your needs.

  • Link Text Colour.

    Solved Customisation
    5
    2 Votes
    5 Posts
    417 Views

    @phenomlab Thx again for the reply.

    Well I am sure that it will be well worth the wait. 🙂 I will watch with anticipation. For now it is OK. Just small minor irritations I fell in a lot of NodeBB ‘default’ things.

  • NodeBB changing color of the text

    Solved Customisation
    7
    2 Votes
    7 Posts
    843 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

  • 2 Votes
    10 Posts
    1k 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] Reply Button/arrow answer

    Solved Customisation
    25
    4 Votes
    25 Posts
    2k Views

    Topic open
    https://sudonix.com/topic/207/nodebb-help-for-my-custom-css