JavaScript DIV - Länge abschneiden

gfeschu

Ensign
Registriert
Aug. 2010
Beiträge
147
Hallo zusammen.

Ich habe folgendes Problem.
Ich stelle in einem DIV Daten aus einer Abfrage bereit. Maximal 10 Dokumente werden angezeigt.
All diese Dateien haben ein Funktionsmenü, dass relativ gross ist.
Siehe 2 Screenshots im Anhang.

Mein Problem ist folgendes.

Wenn die Namen der Dokumente zu lang sind, schreibt das Div über das untenstehende.

Lösung1:
Scrollbalken. Leider wird das Funktionsmenü auch nur im Scrollbalken dargestellt. = Unbrauchbar.

Lösung2:
Abschneiden. Das Funktionsmenü wird auch abgeschnitten. = Unbrauchbar.

Zum Funktionsmenü. Dies ist ein vom Server vorgegebenes Javascript an dem ich keine Anpassungen vornehmen kann.


Hat jemand eine Idee, wie ich das Problem lösen kann?
Wäre Genial!

Lieber Gruss,
Gfeschu
diverror.JPGFunktionsmenü.JPG
 
Hat Dein DIV eine vorgegebene Größe? Sonst lass dein DIV-Tag doch einfach mit dem Inhalt "mitwachsen".
 
Prüfe mal, wo das div-tag 'definiert' wird. Vielleicht ist es ja - wie mein Vorredner sagte - begrenzt.
 
Womöglich hat die Dokumenten-Liste die CSS-Zuordnung

position: absolute;

So werden die Elemente ja aus dem normalen Fluss entfernt und haben keinen Einfluss auf nachfolgende oder umschließende Elemente. Hier würde ich ansetzen.
 
Vor die Größenangabe (height) des DIVs einfach "min-" (min-height="123").
 
Das beste wäre wohl, den DIV mitwachsen zu lassen. Ansonsten würde mir nur noch einfallen, die Dateinamen server- oder clientseitig auf eine bestimmte Zeichenlänge zu begrenzen. Der vollständige Dateiname könnte dann per Tooltip eingeblendet werden.

Bsp.: "Dateiname ist zu lang.xls" > "Dateiname ist zu... .xls"

Ist vielleicht nicht die ideale Lösung, sollte aber ausreichend sein, um mit den Dateien arbeiten zu können.
 
Das Problem ist, dass das DIV keine begrenzte Grösse haben darf. Sonst wir das Funktionsmenü abgeschnitten.
Das Modul ist wirklich sehr "bescheiden" gebaut worden, kann ich aber leider nicht ändern.

Das sind die CSS Einstellungen von dem Div.

Code:
#wrlastfiles{
	margin: 10px 0px 0px 5px;
	color: black;
	position: absolute;
	width: 250px;
	z-index: 1;
}

Die Dokumentenlänge zu überprüfen hatte ich auch schon als Idee. Aber mit dem Quirksmode (von der Anwendung leider vorgegeben... :freak:) erweist sich das als etwas schwierig. Ausserdem arbeite ich mit speziellen Abfragen von System. Da ist die Darstellung sehr schwer einzustellen.

Eine richtig doofe Situation... :(

Lieber Gruss,
Gfeschu
 
position: absolute;

So werden die Elemente ja aus dem normalen Fluss entfernt und haben keinen Einfluss auf nachfolgende oder umschließende Elemente. Hier würde ich ansetzen.

aus dem post eines vorredners. und nun guck mal in denen code
 
Die einzig korrekte Antwort dürfte lauten: Anwendung so umschreiben, dass sie 100% standardkompatibel ist (also keinen Quirks mehr braucht) und außerdem ein flüssiges Layout draufpflanzen.

Ansonsten hilft evtl. overflow:hidden; in Kombination mit text-overflow: ellipsis; und white-space: nowrap;
 
Bitte einmal das

position: absolute;

aus dem CSS-Code entfernen und sicherheitshalber durch

position: static;

ersetzen. Das sollte den normalen Elementfluss wiederherstellen. Dann einmal schauen, wie es aussieht. Das serverseitig vorgegebene Funktionsmenü sollte davon nicht betroffen sein und ganz normal angezeigt werden, ohne dass der DIV seine Größe verändert.
 
Zurück
Oben