Archivlink: javarea.de Forum > (X)HTML & CSS (allgemein) > div verschiebt ganzes layout
Vollständigen Link anzeigen: javarea.de Forum > (X)HTML & CSS (allgemein) > div verschiebt ganzes layout
Pages: [1]
| geschrieben von okley am 04.04.2004 - 18:56 |
na erstma cooles neues forum, is ne echte umgewöhnung find ich ;)
nun ich hab probleme mit der darstellung von div in tabellen.
mein vorgehen ist so:
ich lade den text aus einer Datenbank, schreibe ihn in ein div der heisst: aa. dieser div hat eine position auserhalb des bildschirmberreichs. dann mach ich einen div bb, in diesem steht dann schlussendlich der text.
also mach ich nachdem ich alle texte geladen habe (a, aa,aaa,aaaa) ein durchlauf durch alle div a... mit javascript und schreibe den inhalt von div a in div b bzw. den inhalt von div aa in div bb. soweit klar?
nun bevor er den text da reinlädt wird die seite richtig angezeigt, nachdem er den text reingeladen hat macht er die tabelle aber viel zu breit:
http://www.webrama.org/index1.php?menu=news
würde man jetzt den ersten beitrag löschen, würde alles korrekt angezeigt.
korrekt würde es so aussehen:
http://www.webrama.org/index1.php?menu=ne
also hald von den tabellenbreiten etc. so wie im oberen link verzerrt der ja alles.
nun meine frage ist, warum? der div is an und für sich nicht zu breit, der text wird ja an der richtigen stelle gebrochen.
ich kann auch die css rausnehmen und die newstabelle auf width=8% setzen, der äusssere blaue berreich wird einfach immer zu weit gehen.
dann hab ich ma ne andere testseite hochgeladen, die wurde fehlerfrei angezeigt. also hald einfach sone beispiel-tabelle...
|
| geschrieben von starleos am 04.04.2004 - 19:13 |
Hallo,
also bevor wir näher ins Detail gehen, kannst du mir bitte diese Angabe hier erklären:
| HTML-Quelltext | 1:
2:
3:
| <div id='b' style="visibility:hidden;
position:absolute; top:-300000;
left:-300000; width:34px;"> |
:-300000 ??? |
| geschrieben von okley am 04.04.2004 - 19:21 |
| Zitat | | |
aa. dieser div hat eine position auserhalb des bildschirmberreichs
|
ich denke -30000 ist ausserhalb des bildschirmberreichs.
ich hab leider a und b vertauscht, aber das tut ja nichts zur sache 
was vielleicht noch wichtig ist, den div füll ich mit innerHTML, nachdem alle threads einmal dargestellt worden sind, also der div wird also neu gefüllt nachdem die ganze seite aufgebaut wurde..., ich denka da liegt der fehler |
| geschrieben von starleos am 04.04.2004 - 19:24 |
sicher tut es zur Sache, denn du hast da Inhalt reingetan.#
Und wozu ein div außerhalb des Bildschirms?
Es geht dir ja darum das der obere Eintrag breiter ist als der Untere oder?
du brauchts da kein position:absolute
einfach <div style="width usw, und das kannst du per css definieren |
| geschrieben von okley am 04.04.2004 - 20:13 |
es ist so.
ich hab da ne function die sagt ob er den beitrag "ausklappen" soll oder nicht. der eine div dient als container und der andere is der anzeigeberreich. momentan ist die funktion deaktiviert, ich hab sie jetzt grad mal wieder aktiviert, damit man ungefähr sieht wie ich das meine. einfach auf die + grafik drücken, dann kommt auch das layout wieder normal.
es geht doch nich ums position absolute..., ich hab zwei divs, der eine als container und der andere dient als anzeiger, und das für jeden thread. also die b divs für den jeweiligen container und die a divs für die anzeige. damit man das auch versteht, hier das script das die a divs füllt:
function expand_property(anzahl){
//Textfeld (div) das sichtbar ist = Textfeld (div) das vorgeladen wurde
var i;
var a="";
var b="";
for (i=0; i<anzahl; i++){
a +="a";
b +="b";
if (this.document.getElementById(a).innerHTML.length>=1){
//this.document.getElementById(a).innerHTML = " ";
}else{
this.document.getElementById(a).innerHTML = this.document.getElementById(b).innerHTML;
}
}
return;
}
ich hoffe nun ist klar wies funzen sollte.... |
| geschrieben von starleos am 04.04.2004 - 20:22 |
Hi,
jetzt weiss ich was du meinst da ich mir das Ganze im ie angeschaut hatte, im Mozilla gibts diese Probleme nicht dafür andere.
Hast du versucht das a div eine feste Größe zu geben und das b div in %?
Eine andere Möglichkeit währe auch die Grafik in einen div reinzustellen der eine feste Größe hat.
Hilf dir das?
und versuche es mal ohne diese Angaben
top:-300000; left:-300000; |
|