Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Intestazione tabella fissa e rowspan

    Salve a tutti.

    Io ho un problema contro il quale sto sbattendo la testa da qualche giorno e non ho trovato sul web una soluzione, quindi non mi resta che chiedere ai guru dei css.

    Ho una serie di tabelle con intestazione fissa. Finchè l'intestazione rimane su una riga, non ci sono problemi, ma quando uso un rowspan, non ottengo il risultato desiderato. Di fatto, è come se se lo ignorasse, o meglio, è come se lo accettasse ma non riuscisse a farmelo vedere. Cerco di spiegarmi meglio: del testo che vado a scrivere nella cella unita, vedo soltanto la metà superiore, come se fosse tagliato in due in senso orizzontale. Ecco perchè dico che lo accetta, perchè se non mettessi il rowspan, vedrei il testo allineato con quello della riga superiore. Invece lo vedo centrato verticalmente, ma segato in due.

    In allegato un'immagine che può rendere più chiaramente l'idea.

    Facendo i vari tentativi, ho scoperto che se tolgo l'opzione "position:relative" dal css, vedo il correttamente il testo, ma perdo il blocco dell'intestazione (cioè scorre come se fosse una riga normale).

    Qualcuno sa se (e come) si può risolvere questa situazione?

    Grazie!!
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    postare il codice aiuta sempre a capire un pò meglio la situazione, così a occhio direi che dipende dall'altezza delle celle, prova a creare una classe per quella cella e dagliela diversa (più ampia), altrimenti posta il codice...
    Si fanno sempre nuove scoperte

  3. #3
    In realtà l'altezza non è impostata. Ma ho provato anche a mettergliela con un valore bello grande: in effetti le vedo più alte, ma il mio problema sussiste.

    Vi posto il codice del foglio di stile:
    codice:
    .fixedHeader3 tr {
    	background: #3399CC;
    	border-left: 1px solid #3399CC;
    	border-right: 1px solid #3399CC;
    	border-top: 1px solid #3399CC;
    	font-weight: normal;
    	padding: 4px 3px;
    	text-align: center;
    	position:relative;
        top:expression(this.offsetParent.scrollTop); 
    }
    Questo è il codice della pagina jsp dove lo chiamo e creo la tabella:
    codice:
    <thead class="fixedHeader3">
    <tr>
    <th align="center" rowspan="2"></th>
    <th align="center" colspan="3">Risorsa</th>
    <th align="center" colspan="3">Referente</th>
    <th align="center" rowspan="2">Data stop legame</th>
    </tr>
    <tr>
    <th align="center">Codice</th>
    <th align="center">Cognome</th>
    <th align="center">Data stop</th>
    <th align="center">Codice</th>
    <th align="center">Cognome</th>
    <th align="center">Data stop</th>
    </tr>
    </thead>
    La parte incriminata è l'ulitma colonna della prima riga, quella appunto definita come rowspan=2 che anzichè darmi il testo come si deve, mi da il risultato allegato al messaggio prima.

    Grazie a tutti

  4. #4
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    prima di tutto togli questo:
    codice:
    align="center"
    la formattazione in html va in conflitto con quella css....

    poi mi sembra di vedere che hai dato una classe a un tr, mentre tu hai bisogno di un th specifico, poichè differente da tutti gli altri in altezza e larghezza (direi che è l'unico fatto così).
    fai 2 prove e fai sapere....
    Si fanno sempre nuove scoperte

  5. #5
    Originariamente inviato da gabar-el
    poi mi sembra di vedere che hai dato una classe a un tr, mentre tu hai bisogno di un th specifico, poichè differente da tutti gli altri in altezza e larghezza (direi che è l'unico fatto così).
    fai 2 prove e fai sapere....
    Non ho capito cosa intendi dire.

    Considera che la classe viene utilizzata in diversi punti allo scopo di mantenere l'intestazione fissa a fronte di una tabella con tante righe. Qui ho bisogno che l'intestazione, oltre all'essere fissa, deve andare su 2 righe con qualche rowspan.

    Cmq grazie per l'attenzione!

  6. #6
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    boh, forse perchè la pagina è jsp, non ho mai visto chiamare una classe così. cmq rimane buono direi ciò che ti ho detto per la formattazione nella pagina, leva align=center nelle celle della tabella.
    circa ciò che ho detto, mi riferisco al fatto che tu formatti con quella classe un'insieme di celle, mentre dovresti creare una classe per la cella in questione poichè è l'unica ad avere un rowspan (a parte la prima, ma quella è vuota).
    quindi una cosa tipo:
    codice:
    <tr>
    <th rowspan="2"> </th>
    <th colspan="3">Risorsa</th>
    <th colspan="3">Referente</th>
    <th class="classeDellaCella" rowspan="2">Data stop legame</th>
    </tr>
    e poi nel css la formatti con la giusta altezza, che sarà il doppio direi delle altre (+ o -)
    ciao
    Si fanno sempre nuove scoperte

  7. #7
    Ma quindi tu dici che il problema è sull'altezza? Anche se non l'ho definita e quindi mi aspettavo che se la gestisse lui in automatico?

    Secondo me non è così e ti spiego il perchè: se commento la riga
    codice:
    top:expression(this.offsetParent.scrollTop);
    la visualizzazione risulta essere corretta (senza quello strano effetto di segato in due), ma mi perdo la staticità dell'intestazione nel caso di scroll. Se fosse un problema di altezza, non dovrebbe cambiare. Sei d'accordo?

  8. #8
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    Originariamente inviato da katanza
    ma mi perdo la staticità dell'intestazione nel caso di scroll.
    non ho capito cosa vuol dire....
    Si fanno sempre nuove scoperte

  9. #9
    Lo stile viene usato in diverse tabelle in giro per l'applicazione, ed essendo queste generate dinamicamente, possono avere un numero variabile di righe. Le tabelle sono sempre inserite in un div in modo tale che se devo visualizzare 1000 righe non mi si allunga la pagina, ma mi viene fuori una scrollbar. In questo caso, ho bisogno che le intestazioni delle colonne rimangano sempre visibili in testa. E quella istruzione mi permette di ottenere questo effetto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.