Make css nth-child() only affect visible

前端 未结 2 1687
庸人自扰
庸人自扰 2021-02-11 13:57

Is there a way to only affect visible elements with this css?

table.grid tr.alt:nth-child(odd)
{
    background:#ebeff4;
}

table.grid tr.alt:nth-child(even)
{
          


        
相关标签:
2条回答
  • 2021-02-11 14:43

    I ended up using the solution Rodaine suggested in his comment, after the show/hide i do this:

    $('.alt:visible:odd').css('background', '#EBEFF4');
    $('.alt:visible:even').css('background', '#FFFFFF'); 
    

    In my case the setting of background broke my hover, this was solved with !important to make the hover background stick.

    table.grid tr.hover:hover
    {
        cursor:pointer;
        background:#D2E0E9 !important;    
    }
    
    0 讨论(0)
  • 2021-02-11 14:48

    Another option would be to apply a class to the visible elements when hiding the others. Apply nth-child to this class (which is only applied to the visible elements.)

    You don't have to use an !important tag to keep your hover-background in this case.

    0 讨论(0)
提交回复
热议问题