CSS-选择当前行的第2-6列?

CSS-选择当前行的第2-6列?,css,Css,我需要悬停效果,因此当用户将鼠标悬停在行的1和7之间的任何列上时,这些样式将应用于行中除列1和7之外的所有列(因此当前行的第2-6列的背景颜色将更改,但不适用于列1和7): 但是,我在第1列和第7列上也有类似的悬停样式。因此,澄清一下,期望的行为是: 用户将鼠标悬停在第x行第1列上-单个单元格获得悬停效果 用户将鼠标悬停在第x行第7列-该单元格获得悬停效果 用户将鼠标悬停在第x行、第2-6列中的任何列上,第x行、第2-6列中的所有单元格都会获得悬停效果 “Pete”评论的简单解决方案: css:

我需要悬停效果,因此当用户将鼠标悬停在行的1和7之间的任何列上时,这些样式将应用于行中除列1和7之外的所有列(因此当前行的第2-6列的背景颜色将更改,但不适用于列1和7):

但是,我在第1列和第7列上也有类似的悬停样式。因此,澄清一下,期望的行为是:

  • 用户将鼠标悬停在第x行第1列上-单个单元格获得悬停效果
  • 用户将鼠标悬停在第x行第7列-该单元格获得悬停效果
  • 用户将鼠标悬停在第x行、第2-6列中的任何列上,第x行、第2-6列中的所有单元格都会获得悬停效果
  • “Pete”评论的简单解决方案: css:

    关于每行的td元素

    tbody tr td:not(:first-child):not(:last-child){
        cursor: pointer;
        background-color: rgb(221, 221, 221);
    }
    
    因此,我们需要使用一些jQuery来归档,对于从2到6的单元格,使用一些类ot tds,对于第一个子和最后一个子,使用常规css

    $(“table.mytable”).find('td.a')
    .on(“mouseenter”,function(){
    var allaclass=$(this.parent().find('td.a');
    css(“背景色”、“红色”);
    })
    .on(“mouseleave”,函数(){
    var allaclass=$(this.parent().find('td.a');
    css(“背景色”、“白色”);
    });
    
    tbody tr td:第一个孩子:悬停,
    tbody tr td:最后一个孩子:悬停{
    光标:指针;
    背景色:rgb(221221221221);
    }
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    
    简单的解决方案如“Pete”所述: css:

    关于每行的td元素

    tbody tr td:not(:first-child):not(:last-child){
        cursor: pointer;
        background-color: rgb(221, 221, 221);
    }
    
    因此,我们需要使用一些jQuery来归档,对于从2到6的单元格,使用一些类ot tds,对于第一个子和最后一个子,使用常规css

    $(“table.mytable”).find('td.a')
    .on(“mouseenter”,function(){
    var allaclass=$(this.parent().find('td.a');
    css(“背景色”、“红色”);
    })
    .on(“mouseleave”,函数(){
    var allaclass=$(this.parent().find('td.a');
    css(“背景色”、“白色”);
    });
    
    tbody tr td:第一个孩子:悬停,
    tbody tr td:最后一个孩子:悬停{
    光标:指针;
    背景色:rgb(221221221221);
    }
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    
    悬停应用于父对象

    tbody:hover tr:not(:nth-child(1)):not(:nth-child(7)) {
        cursor: pointer;
        background-color: rgb(221, 221, 221);
    }
    
    tbody:hover tr:not(:第n个子项(1)):not(:第n个子项(7)){
    光标:指针;
    背景色:rgb(221221221221);
    }
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    
    悬停应用于父对象

    tbody:hover tr:not(:nth-child(1)):not(:nth-child(7)) {
        cursor: pointer;
        background-color: rgb(221, 221, 221);
    }
    
    tbody:hover tr:not(:第n个子项(1)):not(:第n个子项(7)){
    光标:指针;
    背景色:rgb(221221221221);
    }
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    
    为什么不直接设置样式,然后为第一个子项和最后一个子项覆盖它呢。在css中,您应该将第n个子项放在TDS上。您使用的是SASS还是纯css?为什么不设置样式,然后覆盖第一个子项和最后一个子项。在css中,您应该将第n个子项放在TDS上您使用的是SASS还是普通css?您希望在TDO上执行此操作您希望在tdOK上执行此操作这使我的思路正确:
    tbody tr:hover td:not(:first child):not(:last child)
    ,但是我希望第1列和第7列具有自己的悬停样式,但是现在,如果我将鼠标悬停在第1列或第7列上,整个TR将获得样式。tbody TR:hover>td:not(:first child):not(:last child){cursor:pointer;background color:rgb(221,221,221);}没有更改。额外的字符使我走上了正确的轨道:
    tbody tr:hover td:not(:first child):not(:last child)
    ,但是我希望第1列和第7列有自己的悬停样式,但是现在如果我将鼠标悬停在第1列或第7列上,整个tr将获得样式。tbody tr:hover>td:not(:first child):not(:last child){光标:指针;背景色:rgb(221221221221)}无变化。额外字符