表与Rowspan悬停和斑马效果

rhs*_*gic 4 css hover css-tables

我正在尝试创建一个具有rowspan,斑马效果的表,并在悬停时突出显示该行.我有点工作,但并不完全.

它应该是这样的:http://codepen.io/chriscoyier/pen/wLGDz加上对行的斑马效应.不幸的是,使用jQuery或CSS的斑马效果对我来说不起作用,因为如果我这样做,线条不会在悬停时改变.

有什么建议?

cim*_*non 39

这是一份工作tbody.表格中允许多个tbody元素至少与HTML4一样,并且它们被设计用于将相关行分组在一起.这样,您根本不需要JavaScript.

http://codepen.io/cimmanon/pen/KqoCs

<table>
    <tbody>
        <tr>
            <td rowspan="3"></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>

    <tbody>
        <tr>
            <td rowspan="3"></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>

    <tbody>
        <tr>
            <td rowspan="3"></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

CSS:

body {
  padding: 50px;
}

table {
  width: 100%;
  border-collapse: collapse;
}

td, th {
   padding: 20px;
  border: 1px solid black;
}

tbody:nth-child(odd) {
  background: #CCC;
}

tbody:hover td[rowspan], tr:hover td {
   background: red; 
}
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案.奇迹般有效. (4认同)
  • 如果您将鼠标悬停在“b”或“c”行并将鼠标移动到第一个“td”,它会自动将鼠标悬停在“a”行。在这些情况下是否可以将其保留在“b”/“c”上? (2认同)

Bob*_*Bob -2

就像是:

// stripe
tr:nth-child(even) {
    background-color: #ccc;
}
// hover
tr:hover {
     background-color: #c00;
}
Run Code Online (Sandbox Code Playgroud)

应该管用。把你的代码贴出来吧