2012-10-17 14 views
14

Ho una tabella in cui la riga superiore è la posizione: relativa. In IE 9 aggiungendo l'attributo position si nasconde il confine tra le celle. (Questo non succede in Chrome).posizione: bordo relativo nascosto in Internet Explorer

La mia domanda è simile a this one, ma non riesco a impostare lo z-index della riga in alto più in basso rispetto alle altre righe perché sarà un'intestazione fissa che deve avere uno z-index più alto.

HTML

<table border="1"> 
      <tr > 
       <td class="locked">header 1</td> 
       <td class="locked">header 2</td> 
      </tr> 
      <tr > 
       <td>data 1a</td> 
       <td>data 1b</td> 
      </tr> 
      <tr > 
       <td>data 2a</td> 
       <td>data 2b</td> 
      </tr> 
     </table> 

CSS

.locked { 
      position: relative; 
      background-color: Yellow; 
     } 

enter image description here

Come raggiungo il confine di presentarsi, ma tenere z-index maggiore rispetto ad altre cellule?

Modifica: Ecco il codice jquery che spiega perché la posizione dell'intestazione è relativa.
1. Permette all'intestazione di scorrere orizzontalmente e verticalmente.
2. L'intestazione rimane nella parte superiore dello schermo quando si scorre la pagina verso il basso di oltre 153 pixel.

$(document).ready(function() { 
    $(window).scroll(function(){ 
     var off = $(window).scrollTop(); 
     if (off < 153) { 
      $(".frozenTop").css("top", 0); 
     } else { 
      $(".frozenTop").css("top", off - 153); 
     } 
    }); 
}); 
+1

Perché è necessario posizionare queste celle? –

+0

la riga superiore sarà un'intestazione fissa usando jquery. Ho omesso il codice per mantenerlo semplice. –

+0

Qual è la 'posizione: relativa 'che si realizza per te? –

risposta

3

Prova questa Forse Utile

<td class="locked"><div>header 1</div></td> 
<td class="locked"><div>header 2</div></td> 

table { 
border-spacing: 0px; 
} 
.locked { 
    position: relative; 
    border:none; 
} 
.locked div{ 
    border:2px black solid; 
    background-color: Yellow; 
    margin:-2px; 
} 

jsFiddle

+0

Questo è vicino. IE9 ora ha una spaziatura bianca tra le celle. (curiosamente non appaiono nel riquadro jsfiddle). –

+0

@ AndrewThomas, ho cambiato la mia risposta dai un'occhiata. – Afshin

+0

che funziona benissimo. grazie mille. –