dimensione fissa dei td/th, di tabella senza dimenzione fissa

is-katsura

Nuovo Utente
21 Apr 2009
1
0
0
Ciao a tutti!
Questo e' il mio primo messaggio, nonostante segua spesso questo forum.
Mi sono imbattutto in un problema che mi ha lasciato un po' perplesso: settare la larghezza dei th/td di una tabella da js, senza settare la larghezza della tabella che li contiene (di solito, da quanto ho visto, la larghezza totale delle colonne di una tabella diventa la width della tabella stessa, e l'altezza totale delle righe ne diventa la height).

Mi spiego meglio: la tabella e' contenuta in un div, che e' scrollabile, quindi ha width e height settate. Se setto le dimensioni della tabella, problemi non ce ne sono. Se non lo faccio, e setto una width per i th/td, questi si "ristringono" per non superare la larghezza del div (possibile?? Preciso che ho settato, alla tabella, la proprieta' display come "block"...).
Se invece agli stessi th/td setto la height, la mantengono e il div scrolla in verticale senza nessun problema (come da codice sotto).

Ho settato, quasi per caso, noWrap=true per ogni th/td della tabella (l'attributo html obj.noWrap): tutto funziona alla perferzione con Chrome, l'ultimo Opera, l'ultimo IE e l'ultimo FF (con le versioni precedenti non ho provato).

Da inesperto mi chiedo: possibile che sia cosi' difficile impostare una larghezza ai th/td di una tabella, contenuta in un div, senza settare la larghezza della tabella? Possibile che la soluzione sia l'attributo noWrap che dovrebbe servire solo per il testo?! Girando per la rete non ho trovato niente a riguardo: non c'e' un approccio "standard" al problema?

Posto il codice che ho usato per le prove, per dare un'idea piu' precisa del problema; commentanto i tre noWrap che ci sono, si presenta il problema...

(prova.js)
document.write('<link rel="stylesheet" type="text/css" href="prova.css">');

//set css of obj
var _addClassName=function(obj,className){
//if(!EmptyString(className))
obj.setAttribute("className", className);
}
//obj table definition
var table=function(e){
this.draw=function(){
var _this=this;//pointer to table
var TOT_ROWS=20;
var TOT_COLS=30;
//div container
divTable=document.firstChild.childNodes[1].appendChild(document.createElement('div'));
divTable.style.width='700px';
divTable.style.height='400px';
divTable.style.overflow='auto';
divTable.style.position='relative';
//end div container
//table width head,tr cols titles, first col th and body
var table=divTable.appendChild(document.createElement('table'));
var tHead=table.appendChild(document.createElement('thead'));
ColsTitles=tHead.appendChild(document.createElement('tr'));
emptyCross=ColsTitles.appendChild(document.createElement('th'));//empty th for row-titles column
var tBody=table.appendChild(document.createElement('tbody'));
//end table
// making cols titles
var hTit;
for(var i=0; i<TOT_COLS; i++){
hTit=ColsTitles.appendChild(document.createElement('th'));
hTit.id='thCol_'+i.toString();
hTit.innerHTML=i.toString();
_addClassName(hTit,'columnTitle');
}
// making rows
var tr, td;
for(var i=0; i<TOT_ROWS; i++){
// rows titles
tr=tBody.appendChild(document.createElement('tr'));
hTit=tr.appendChild(document.createElement('th'));
hTit.id="thRow_"+i.toString();
hTit.innerHTML=i.toString();
_addClassName(hTit,'rowTitle');
// making empty tds
for(var j=0; j<TOT_COLS; j++){
td=tr.appendChild(document.createElement('td'));
td.id="td_"+j.toString();
td.innerHTML='&nbsp;';
_addClassName(td,'allCell');
}
}
//show table
table.style.display='block';
}
}
var table0=new table();//create table istance
table0.draw();

(prova.css)
th{
background-color: green;
}

td{
background-color: red;
width: 100px;
}

(index.html)
<html>
<body>
<SCRIPT type="text/javascript" src="prova.js">
</script>
</body>
</html>
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Dimensione fissa cella tabella HTML e CSS 1
R Dimensione fissa pagina web HTML e CSS 2
T [photoshop] Dimensione Font Photoshop 1
Shyson [CSS] Titolo del sito cambia dimensione HTML e CSS 2
L [PHP] controllo dimensione immagine per il resize PHP 2
K [COMPRO] Pagine e account su facebook di ogni dimensione Annunci servizi di Social Media Marketing 3
G [HTML] Impostare dimensione immagini in un div HTML e CSS 2
R [WordPress] [HTML] Variare dimensione logo rimanendo centrato nella fascia di testa: come? WordPress 16
S [Photoshop] dimensione automatica delle immagini importate Photoshop 1
Fede72 [PHP] Dimensione immagini PHP 7
M limitare dimensione file PHP 7
F Ogni tabella quanti dati(dimensione) può contenere? MySQL 3
felino [Wordpress] Gestione accessibilità: dimensione font e cromie WordPress 1
L [php] upload controllo dimensione immagine PHP 8
Frank10 [COMPRO] Pagine Facebook sexy o altro - Qualsiasi dimensione Annunci servizi di Social Media Marketing 2
R Adattare immagini alla dimensione del monitor Javascript 2
P ritagliare immagini della stessa dimensione Webdesign e Grafica 0
A [Java] Problema con la dimensione di un jframe Java 2
L Problema dimensione layout WordPress 1
E cambiare le dimensione ad un tema di wordpress? WordPress 1
E come cambiare le dimensione del logo? WordPress 2
C ridurre dimensione file immagine prima dell'upload Javascript 0
P [Compro] Pagine, qualsiasi dimensione Annunci servizi di Social Media Marketing 4
F aumentare la dimensione dello slide HTML e CSS 0
D Trovare dimensione cella tabella Javascript 3
P inserire elementi dotati di dimensione propria in layout a griglia fluida HTML e CSS 5
M Problema con dimensione file PHP 2
V ridimensionare larghezza forma + aumento dimensione caratteri Flash 1
L Trasformare delle immagini tutte nella stessa dimensione Photoshop 1
N Calcolare dimensione di un file su un server diverso PHP 4
N div diversi,stessa dimensione HTML e CSS 1
A dimensione img via Js Javascript 2
B dimensione sito Flash 1
S dimensione finestra Flash 7
SolidSnake4 dimensione carattere tinymce HTML e CSS 2
M Dimensione pagina HTML e CSS 5
G Visualizzatore Windows aumenta la dimensione file Windows e Software 3
Z pop-up immagina a dimensione automatica Javascript 0
G Cambiare dimensione disegno fireworks senza incasinare i filtri? Webdesign e Grafica 4
M dimensione pagina HTML e CSS 0
P Controllo dimensione immagine Javascript 0
Nik dimensione immagine Classic ASP 2
alex84freeangel Dimensione tabella in percentuale HTML e CSS 7
A Controllo dimensione immagine Javascript 8
M Cambiare la dimensione dei caratteri HTML e CSS 10
S bloccare dimensione tabelle frontpage2000 HTML e CSS 4
D Dimensione pagine web HTML e CSS 0
A cambiare la dimensione del testo (era: js e php) Javascript 1
G dimensione pagina + piccola HTML e CSS 2
M dimensione finestra? Javascript 1

Discussioni simili