Skip to content

fading in /tags page

Solved Customisation
32 3 9.1k 1
  • hi @phenomlab ,

    I loved how all tags except the selected one fade in /tags page…

    https://sudonix.com/tags

    Screen Shot 2022-06-18 at 9.42.10 PM.png

    can you please share the secret? 😄

  • @crazycells @DownPW here you go…

    /* SIBLING FADE: fade out siblings around a hovered item */
    
    .tag-list { visibility: hidden; }
    /* Prevents :hover from triggering in the gaps between items */
    
    .tag-list > * { visibility: visible; }
    /* Brings the child items back in, even though the parent is `hidden` */
    
    .tag-list > * { transition: opacity 150ms linear 100ms, transform 150ms ease-in-out 100ms; }
    /* Makes the fades smooth with a slight delay to prevent jumps as the mouse moves between items */
    
    .tag-list:hover > * { opacity: 0.4; transform: scale(0.9); }
    /* Fade out all items when the parent is hovered */
    
    .tag-list > *:hover { opacity: 1; transform: scale(1); transition-delay: 0ms, 0ms; }
    /* Fade in the currently hovered item */
    

    This isn’t my creation actually - I stumbled across the below Code Pen and fell in love with it

    https://codepen.io/bytzmura/embed/XWjMPdx?default-tab=css%2Cresult&theme-id=dark

  • ohh yeah good question lol 😉

  • @crazycells @DownPW here you go…

    /* SIBLING FADE: fade out siblings around a hovered item */
    
    .tag-list { visibility: hidden; }
    /* Prevents :hover from triggering in the gaps between items */
    
    .tag-list > * { visibility: visible; }
    /* Brings the child items back in, even though the parent is `hidden` */
    
    .tag-list > * { transition: opacity 150ms linear 100ms, transform 150ms ease-in-out 100ms; }
    /* Makes the fades smooth with a slight delay to prevent jumps as the mouse moves between items */
    
    .tag-list:hover > * { opacity: 0.4; transform: scale(0.9); }
    /* Fade out all items when the parent is hovered */
    
    .tag-list > *:hover { opacity: 1; transform: scale(1); transition-delay: 0ms, 0ms; }
    /* Fade in the currently hovered item */
    

    This isn’t my creation actually - I stumbled across the below Code Pen and fell in love with it

    https://codepen.io/bytzmura/embed/XWjMPdx?default-tab=css%2Cresult&theme-id=dark

  • phenomlabundefined phenomlab has marked this topic as solved on
  • Thanks codepen is a very useful site !

    the spinning logo is codepen two ?

  • Thanks codepen is a very useful site !

    the spinning logo is codepen two ?

    @DownPW said in fading in /tags page:

    the spinning logo is codepen two ?

    No, that’s my own CSS.

  • oo yeah can you provide it because I use this but doesn’t working:

    .header .forum-logo, img.forum-logo.head {
        max-height: 50px;
        width: auto;
        height: 30px;
        margin-top: 9px;
        max-width: 150px;
        min-width: 32px;
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
    }
    
  • oo yeah can you provide it because I use this but doesn’t working:

    .header .forum-logo, img.forum-logo.head {
        max-height: 50px;
        width: auto;
        height: 30px;
        margin-top: 9px;
        max-width: 150px;
        min-width: 32px;
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
    }
    

    @DownPW You’re probably missing this

        @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
    

    Without the keyframes it will not work 🙂

  • @DownPW said in fading in /tags page:

    .header .forum-logo, img.forum-logo.head {
    max-height: 50px;
    width: auto;
    height: 30px;
    margin-top: 9px;
    max-width: 150px;
    min-width: 32px;
    display: inline-block;
    animation-name: rotate180, rotate0;
    animation-duration: 1000ms;
    animation-delay: 0s, 1000ms;
    animation-iteration-count: 1;
    animation-timing-function: linear;
    transition: transform 1000ms ease-in-out;
    }

    like this ? Because I have the effect but just at the refresh page and not on Mouse over

    .header .forum-logo, img.forum-logo.head:hover {
        max-height: 50px;
        width: auto;
        height: 30px;
        margin-top: 9px;
        max-width: 150px;
        min-width: 32px;
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
        @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    }
    

    EDIT:

    I have it !!!

    @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    .header .forum-logo:hover {
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
       
          
    }
    
  • @DownPW said in fading in /tags page:

    .header .forum-logo, img.forum-logo.head {
    max-height: 50px;
    width: auto;
    height: 30px;
    margin-top: 9px;
    max-width: 150px;
    min-width: 32px;
    display: inline-block;
    animation-name: rotate180, rotate0;
    animation-duration: 1000ms;
    animation-delay: 0s, 1000ms;
    animation-iteration-count: 1;
    animation-timing-function: linear;
    transition: transform 1000ms ease-in-out;
    }

    like this ? Because I have the effect but just at the refresh page and not on Mouse over

    .header .forum-logo, img.forum-logo.head:hover {
        max-height: 50px;
        width: auto;
        height: 30px;
        margin-top: 9px;
        max-width: 150px;
        min-width: 32px;
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
        @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    }
    

    EDIT:

    I have it !!!

    @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    .header .forum-logo:hover {
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
       
          
    }
    

    @DownPW Yes, that was going to be my solution.

  • @crazycells @DownPW here you go…

    /* SIBLING FADE: fade out siblings around a hovered item */
    
    .tag-list { visibility: hidden; }
    /* Prevents :hover from triggering in the gaps between items */
    
    .tag-list > * { visibility: visible; }
    /* Brings the child items back in, even though the parent is `hidden` */
    
    .tag-list > * { transition: opacity 150ms linear 100ms, transform 150ms ease-in-out 100ms; }
    /* Makes the fades smooth with a slight delay to prevent jumps as the mouse moves between items */
    
    .tag-list:hover > * { opacity: 0.4; transform: scale(0.9); }
    /* Fade out all items when the parent is hovered */
    
    .tag-list > *:hover { opacity: 1; transform: scale(1); transition-delay: 0ms, 0ms; }
    /* Fade in the currently hovered item */
    

    This isn’t my creation actually - I stumbled across the below Code Pen and fell in love with it

    https://codepen.io/bytzmura/embed/XWjMPdx?default-tab=css%2Cresult&theme-id=dark

    @phenomlab thanks for sharing, that looks very cool 👍

  • @DownPW said in fading in /tags page:

    .header .forum-logo, img.forum-logo.head {
    max-height: 50px;
    width: auto;
    height: 30px;
    margin-top: 9px;
    max-width: 150px;
    min-width: 32px;
    display: inline-block;
    animation-name: rotate180, rotate0;
    animation-duration: 1000ms;
    animation-delay: 0s, 1000ms;
    animation-iteration-count: 1;
    animation-timing-function: linear;
    transition: transform 1000ms ease-in-out;
    }

    like this ? Because I have the effect but just at the refresh page and not on Mouse over

    .header .forum-logo, img.forum-logo.head:hover {
        max-height: 50px;
        width: auto;
        height: 30px;
        margin-top: 9px;
        max-width: 150px;
        min-width: 32px;
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
        @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    }
    

    EDIT:

    I have it !!!

    @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
          
    .header .forum-logo:hover {
        display: inline-block;
        animation-name: rotate180, rotate0;
        animation-duration: 1000ms;
        animation-delay: 0s, 1000ms;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        transition: transform 1000ms ease-in-out;
        
       
          
    }
    

    @DownPW thanks for the codes, how should we edit it if we want a full turn? and keep turning as long as the mouse is hovered on?

  • @DownPW thanks for the codes, how should we edit it if we want a full turn? and keep turning as long as the mouse is hovered on?

    @crazycells change 180 to 360 on the keyframes and set to time to infinite on the animation, so an example would be

    animation-iteration-count: infinite;
    

    Don’t do this on mobile devices though as performance will be greatly impacted.

  • @crazycells change 180 to 360 on the keyframes and set to time to infinite on the animation, so an example would be

    animation-iteration-count: infinite;
    

    Don’t do this on mobile devices though as performance will be greatly impacted.

    @phenomlab thanks 👍

  • hmmm

    Strange with the code I put above, as soon as I remove the mouse pointer from the logo, it returns to it’s original place and it cuts the animation.

    How can we let the animation end even if we remove the mouse pointer from the logo ?

  • @phenomlab

    Example here of the problem

    https://i.imgur.com/jI2vlrF.mp4

  • hmmm

    Strange with the code I put above, as soon as I remove the mouse pointer from the logo, it returns to it’s original place and it cuts the animation.

    How can we let the animation end even if we remove the mouse pointer from the logo ?

    @DownPW said in fading in /tags page:

    as soon as I remove the mouse pointer from the logo, it returns to it’s original place and it cuts the animation.

    Yes, that’s expected because you have the css set for hover state meaning once you remove that state, the animation will stop 😁

    You need to refactor the css to achieve the effect the looking for. Personally, I wouldn’t go for a constantly spinning logo. If you’re as old as I am, you’ll recall this being a thing in Internet Explorer 4 with the spinning globe on the right that was a constant presence and quite a distraction.

    I also wouldn’t do this on any mobile devices as it can severely degrade the browser performance.

  • @DownPW said in fading in /tags page:

    as soon as I remove the mouse pointer from the logo, it returns to it’s original place and it cuts the animation.

    Yes, that’s expected because you have the css set for hover state meaning once you remove that state, the animation will stop 😁

    You need to refactor the css to achieve the effect the looking for. Personally, I wouldn’t go for a constantly spinning logo. If you’re as old as I am, you’ll recall this being a thing in Internet Explorer 4 with the spinning globe on the right that was a constant presence and quite a distraction.

    I also wouldn’t do this on any mobile devices as it can severely degrade the browser performance.

    @phenomlab

    no no my god, not constantly animation !!

    If I hover over the logo, the animation triggers as currently, continues and ends even if I remove the mouse from the logo.

    That’s what’s happening here on Sudonix.

  • @phenomlab

    no no my god, not constantly animation !!

    If I hover over the logo, the animation triggers as currently, continues and ends even if I remove the mouse from the logo.

    That’s what’s happening here on Sudonix.

    @DownPW I see what you mean. The reason for this is that you are calling both rotate180 and rotate0 which are two separate effects.

       animation-name: rotate180, rotate0;
    

    You could remove rotate0 from this section and that will stop the animation as soon as the mouseLeave event is triggered in the DOM (in other words, as soon as you remove the hover)

       animation-name: rotate180;
    
  • hmm not work

    can you provide your CSS code and keyframe for I see it ?
    On sudonix, the animation stop and restart when we leave the mouse over.

  • hmm not work

    can you provide your CSS code and keyframe for I see it ?
    On sudonix, the animation stop and restart when we leave the mouse over.

    @DownPW it’s here
    https://sudonix.com/post/3590

    The exact CSS I have here is

    @keyframes rotate180 {
            from {
              transform: rotate(0deg);
            }
           
            to {
              transform: rotate(180deg);
            }
          }
           
          @keyframes rotate0 {
            from {
              transform: rotate(180deg);
            }
           
            to {
              transform: rotate(0deg);
            }
          }
        .forum-logo:hover {
            transform: rotate(180deg);
        }
        .hover {
            transform: rotate(180deg);
        }
  • phenomlabundefined phenomlab forked this topic on

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
  • External Links - New Window

    Solved Customisation nodebb links settings
    8
    2 Votes
    8 Posts
    867 Views
    @Sampo2910 search the forum here for ogproxy which is the client side version of that plugin I wrote. It’s in use here on this forum.
  • MogoDB v6 to v7 upgrade

    Solved Configure nodebb
    5
    1 Votes
    5 Posts
    2k Views
    @Panda if you used the Ubuntu PPA, I think this only goes as far as 6.x if I recall correctly.
  • Bug Report

    Solved Bugs nodebb bugs
    47
    1
    26 Votes
    47 Posts
    12k Views
    @crazycells Good points, thanks. I completely forgot that classes are added - makes life much simpler! EDIT - seems this is pretty straightforward, and only needs the below CSS .upvoted i { color: var(--bs-user-level) !important; } This then yields [image: 1718028529465-3f072f8a-ebfa-4910-8723-73c493b8e4eb-image.png] However, the caveat here is that the .upvoted class will only show for your upvotes, and nobody else’s. However, this does satisfy the original request however I would love to see my upvoted posts more clearly, because currently, when I upvote, nothing on the post tool is changing, it would be nicer if there is an indication that I have upvoted (like a filled or colored triangle?)
  • nodebb-plugin-custom-pages

    Solved Customisation plugin custom-pages
    5
    2
    3 Votes
    5 Posts
    4k Views
    @DownPW it’s possible, yes, but you may inadvertently end up targeting other elements using the same class which of course isn’t desired. Can you provide a link in DM for me to review?
  • NodeBB Theme/Skin Switcher

    Solved Customisation nodebb
    38
    7 Votes
    38 Posts
    10k Views
    @Teemberland great spot ! You should create a PR for that so they can include it in the official repository. Just be aware that any subsequent releases will overwrite your fix without the PR.
  • 1 Votes
    2 Posts
    848 Views
    Closing this in favour of https://sudonix.com/topic/357/post-style-view/28
  • Adding fileWrite to nodebb code

    Solved Configure nodebb
    16
    1
    5 Votes
    16 Posts
    4k Views
    @eveh this might be a question for the NodeBB Devs themselves. In all honesty, I’m not entirely sure without having to research this myself.
  • Fontawesome 5

    Unsolved Customisation fonts css nodebb
    14
    1 Votes
    14 Posts
    4k 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 ?