Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS: Gradients repeating in Chrome when set to tbody/thead

The problem I am having is shown here. Basically when I put a gradient on a thead, Chrome repeats that gradient for ever cell... The actual desired result is what firefox produced - a solid gradient for the whole thead.

enter image description here

Any ideas on how to fix this?

Here is the css I have:

thead.header {
    font-weight: bold;
    border-bottom: 1px solid #9C9C9C;
    background-repeat: no-repeat;
    background: #C6C6C6;
    background: -moz-linear-gradient(top, #DEDEDE 0%, #BDBDBD 80%, #BBB 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#DEDEDE), color-stop(80%,#BDBDBD), color-stop(100%,#BBB));
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#DEDEDE', endColorstr='#BBB',GradientType=0 );
}

Here is the html if it helps:

  <table style="width:100%" cellpadding="0" cellspacing="0">
    <thead class="header">
      <tr>
        <th width="200px">Actor</th>
        <th rowspan="3">Character</th>
      </tr>
      <tr>
        <th>Gender</th>
      </tr>
      <tr>
        <th>Age</th>
      </tr>
    </thead>

    <tbody class="odd">
      <tr>
        <td width="200px">Test</td> 
        <td rowspan="3">Test</table>
        </td>
      </tr> 
      <tr>
        <td>Male</td>
      </tr> 
      <tr>
        <td>25</td>
      </tr>
    </tbody>
  </table>
like image 525
vdh_ant Avatar asked Jun 15 '11 11:06

vdh_ant


2 Answers

Set background-attachment:fixed; on thead and it will work fine

like image 147
jekcom Avatar answered Sep 21 '22 00:09

jekcom


This is an unfortunate problem, but there is a simple work-around that will work for most layouts:

Set the gradient on the table itself, and give the <td>s a solid color.

fiddle: http://jsfiddle.net/vudj9/

like image 45
tybro0103 Avatar answered Sep 23 '22 00:09

tybro0103