Archivlink: javarea.de Forum > (X)HTML & CSS (allgemein) > Exakte DIV-Positionierung
Vollständigen Link anzeigen: javarea.de Forum > (X)HTML & CSS (allgemein) > Exakte DIV-Positionierung

Pages: [1] 2 ... nächste » ... Letzte »

geschrieben von Nico am 08.03.2002 - 11:12
Hallo,

mit den "lieben" DIVs habe ich immer noch so meine Probleme. Hier deshalb meine Frage:

Bei mir ist es so, dass ich DIVs dynamisch aufrufe und genau in einer bestimmten Tabellenzeile positionieren will. Das ist nicht nur eine leidige Herumprobiererei, bis man die endlich an der richtigen Stelle hat, sondern geht auch regelmäßig spätestens dann in die Hose, wenn mit Frames gearbeitet oder die Bildschirmauflösung geändert wird.

Gibt es eine andere Methode oder Möglichkeit als top und left, um DIVs an eine bestimmte Position (hier: eine Tabellenzelle) zu binden?

geschrieben von Klaush am 08.03.2002 - 15:02
es gibt ja 2 verschiende Methoden um position zu binden:

relative und absolute Positionen....

absolute Angaben sind die die vom Rand des Elements ausgehen
relative Angaben sind werden vonm Elemt selbst gemessen.

geschrieben von Nico am 08.03.2002 - 15:26
Ist schon klar, aber damit ist das Problem nicht eindeutig zu lösen.

Stell Dir vor Du hast in Deinem Hauptframe eine zentrierte (!) Tabelle, und mit top und left positionierst Du das DIV so, dass es genau über einer bestimmten Tabellenzelle liegt. SO weit, so gut, ist zwar viel Friemelei, aber hin zu bekommen.

Jetzt brauchst Du nur die Fenstergröße zu verkleinern, und Dein DIV steht ganz woanders; bestimmt aber nicht mehr über DER Tabellenzelle, über der es eigentlich stehen sollte.

Deshalb meine Frage:

Gibt es eine Möglichkeit, auf irgendeine Art und Weise ein DIV so an eine bestimmte Stelle (hier: eine Tabellenzelle) zu "binden", dass es da auch da auch stehen bleibt; egal wie ich die Bildschirmauflösung oder die Framegröße oder die Fenstergröße verändere?

geschrieben von Nico am 13.03.2002 - 13:43
Wie soll ich denn nu die Tatsache auslegen, dass niemand auf meine Frage antwortet?

1. Niemand weiß eine;
2. Jemand weiß eine, verrät sie aber nicht;
3. Das Prob. ist so schwierig, dass bisher niemand eine Lösung fand;
4. Es gibt keine Lösung.

;)

geschrieben von Martin am 13.03.2002 - 18:11
Ave,

hmmm, ganz klar Punkt 1, 3 und vielleicht auch 4.

Warum überhaupt Div 's in einer Tabelle...? Vielleicht geht auch eine zweite Tabelle. Du könnstest den Div tag auch mit einer onChange="" Event Funktion spicken um den Div Tag neu zu positionieren.


mfg martin

geschrieben von Nico am 14.03.2002 - 10:32
Warum in eine Tabelle? Na, weil die anderen Elemente desselben Formulars sich in dieser Tabelle befinden.

Was ich mache, ist folgendes:

In besagtem Formular befindet sich in einer Tabellenzelle eine Selectbox Land. Durch die Auswahl eines Landes wird in einer anderen Tabellenzelle eine weitere Selectbox generiert, die die Bundesländer dieses Landes zur Auswahl anbietet. Die Listen aller Bundesländer sind in DIVs ausgelagert, die entsprechend der Auswahl eines Landes aufgerufen werden. Gesteuert wird das Ganze per JavaScript.

Vielleicht git es ja auch eine ganz andere Lösung. Könnte man das Ganze nicht auch per PHP steuern? Aber dazu sind wir hier wahrscheinlich im falschen Forum ...

geschrieben von Olli am 14.03.2002 - 13:17
Hi,

wieso gibst du dem div überhaupt eine feste position? Wenn du das DIV innerhalb der Tabelle ohne positionsangaben verwendest wird es der Tabelle automatisch "untergeordnet" und positioniert sich selbst neu.

Olli

geschrieben von Martin am 14.03.2002 - 18:36
Ave Nico,

nachdem ich mir die HTML Datei angeschaut habe kann ich dem Olli nur Recht geben. Eine Tabelle hat von Hause aus die Angewohnheit sich bei Änderungen des Fensters automatisch den neuen Begebenheiten, wie Höhe und Breite, neu auszurichten.

Da ich nicht weiß aus welchen Gründen du den Link als private Mitteilung geschickt hast werd ich mich hier auf ein allgemeines Beispiel mit meinen Erklärungen stützen.
Der Einfachheit halber habe ich deine <div>-Tag sammt eingecshlossenen Tabellen auf ein <input> Feld reduziert.


<form id=form action=... >
<table border=0 cellpadding=5 cellspacing=0>
<tr>
<td width=100 align=left>Beschreibung:</td>
<td width=200 align=left><input type=text size=20></td>
<td align=left>Beschreibung 3:</td>
<td align=left><input type=text size=20></td>
</tr>

<tr>
<td align=left>Beschreibung 2:</td>
<td align=left><input type=text size=20></td>
<td align=left><!-- leere Beschreibung --></td>
<td align=left>
<div id="textdiv" style="display:none;">
<input type=text size=20>
</div>
<div id="textdiv2" style="display:none;">
<input type=text size=20>
</div>
</td>
</tr>

<tr>
<td>
<input type=submit value=submit><input type=reset value=clear>
</td>
</tr>

</table>
</form>


So wie man sehen kann gibt es insgesammt 5 Eingabefelder, wobei die letzten beiden Eingabefelder einen <div> Tag mit dem StyleSheet Attribut display:none ausgestattet sind. Sprich, das vierte und fünfte Eingabefeld wird nicht angezeigt. (Ähnlich dem bei dir). Eine weitere Besonderheit ist das diese Felder auch im selben Tebellenabschnitt stehen. Nebst den obligatorischen Submit / Reset Buttons.

Wenn du jetzt die <div> - Tags dynamisch mit document. ... .style.display versteckst oder anzeigst werden.

Dies wäre mein Vorschlag.

mfg martin

geschrieben von Nico am 15.03.2002 - 09:42
Hallo Martin,

herzlichen Dank (auch an Olli!) für Deine Erklärungen, wie mein Prob. in den Griff zu bekommen ist.

Ich Habe zwar grundsätzlich verstanden, was Du meinst, sehe aber ehrlich gesagt -auch nach unzähligen Versuchen- nicht, wie ich das auf meine Datei anwenden kann.

Ich wäre Dir also wirklich dankbar, wenn Du mir anhand meiner Datei zeigen könntest, wie ich es anstellen soll. Danke Dir im voraus!

Eine Beispiedatei ist angehängt.

geschrieben von Martin am 15.03.2002 - 17:45
Ave Nico,

ich hab das ganze mal nach meinen Vorstellungen umgebaut nur leider greifen jetzt die JavaScript Funktionen nicht mehr da ich die untergeordneten Forms entfernt habe. Ich hab zwar schon angefangen die Funktionen umzuschreiben aber im Moment funktioniert es nur teilweise.

mfg martin

geschrieben von Nico am 15.03.2002 - 18:22
Hallo Martin,

danke fÜr Deine Arbeit an der Datei. Ich probiere zwar auch weiter daran herum, bezweifle aber, dass ich es alleine schaffen werde. Bitte gib nicht auf und gib mir Bescheid, wenn Du das JavaScript so wie Du es Dir vorstellst wieder ans Laufen bekommst.

geschrieben von Nico am 20.03.2002 - 10:48
Hallo Martin,

ist es Dir in der Zwischenzeit gelungen, das JavaScript so anzupassen, dass es wieder funzt? Ich muss zu meiner Schande gestehen, dass ich es auch nach unzähligen Versuchen nicht geschafft habe.

geschrieben von Martin am 20.03.2002 - 16:33
Ave Nico,

entschuldige das ich dir deine letzten Anfragen nicht beantwortet habe aber im Moment habe ich generell einige computertechnische Probleme ( Netzwerk futzt nicht, T-DSL futzt nicht, Arbeitstier kaputt ... *blah blah blah* ) Ich hab den lieben Klaus gebeten sich der Sache mal anzunehmen... . Scheint aber selber einige Probleme zu haben... vielleicht kann Rene, Daniel oder helfen... ? Ich hoffe das ich bis zu Wochenende wenigsten wieder von zu Hause aus ins Netz kann...

mfg martin

geschrieben von Nico am 20.03.2002 - 16:39
Hallo Martin,

danke für Deine Reaktion. Hoffentlich hast Du Deine Porbs bald wieder gelöst. Ich wünsche es Dir.

Danke auch an Klaus, Daniel oder René, wenn sie Zeit dinden, sich des Probs anzunehmen.

geschrieben von Martin am 26.03.2002 - 11:00
Ave,

ich hab dich nicht vergessen, nur leider bin ich hier wahrscheinlich auf meine eigenen Grenzen gestoßen. NS4 hat eine ziemlich undurchschaubaren Anbau. Ich weiß nicht ob ich noch dahinterkomme um das Problem zu lösen.

mfg martin


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.