PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [HTML 3.2/Tabellen] Spaltenbreite erzwingen?



Lin728
26-04-2006, 18:56
Hallo,

ich muss html-3.2 konform programmieren. Hat natürlich nix mit webseiten zu tun, aber das Zeugs wird von ziemlich alten proprietären engines gerenderd. Also nix mit CSS :-/

Ich habe das Problem dass ich bei Tabellen eine fixe Spaltenbreite benötige was auch sehr gut funktioniert, nur sobald ich ein input-textfeld platziere schiebt sich die Spalte auf die Größe des Eingabefelds. Jetzt kann ich zwar die Länge des Textfelds kontrollieren - nur liegt diese leider sehr im ermessen des html-interpreters.
Die HotJava engine stellt das ganze zu groß dar, während HTMLEditorKit von Java-5.0 das ganze lächerlich klein darstellt :-(

Habt ihr Ideen für dieses Problem? Gibts Container-Tags bei denen man eine fixe Breite angeben kann?

Danke im Vorraus

Turbohummel
27-04-2006, 19:39
edit: War quatsch, hätte richtig lesen sollen.

nEox
27-04-2006, 19:55
Hallo ceisserer,

also ich kenne leider die "Render-Engines" nicht die du verwendest, aber dir könnte ein "Spacer-Bild" helfen :)

So ein Spacer-Bild ist eine steinalte (so 4-5 Jahre ;)) Methode um ein Tabellenlayout pixelgenau positionieren zu können.

Ein Spacher-Bild ist ein 1 x 1 Pixel großes transarentes GIF-Bild das auf die benötigte Breite und Höhe gezogen wird (also per IMG-Tag eingebunden wird).
So kannst du in deinem Fall die Breite pixelgenau festlegen indem du dieses Spacer-Bild in die Tabellenzelle einfügst, die Breite auf deine gewünschte Breite und die Höhe auf 1 Pixel setzt.

Zu den Rendereigenschaften der Engines kann ich dir leider nichts sagen. Wie meinst du das "zu groß"?

Viele Grüße,

nEox

Romanday
27-04-2006, 20:21
Hallo,

Ich habe das Problem dass ich bei Tabellen eine fixe Spaltenbreite benötige was auch sehr gut funktioniert, nur sobald ich ein input-textfeld platziere schiebt sich die Spalte auf die Größe des Eingabefelds. Jetzt kann ich zwar die Länge des Textfelds kontrollieren - nur liegt diese leider sehr im ermessen des html-interpreters.

Danke im Vorraus, lg Clemens

Du mußt den UserAgent abfragen und dann die Breite des Input Feldes
anpassen. IE und Modzilla differieren um ca. 30 %. Wenn Du Firefox
und Opera in deine Abfrage noch zusätzlich einfügst sollte dies ausreichen.
Was ich dir noch zusätzlich raten kann ist, die Tabellen li. und re. des
Inputfeldes auf der selben Höhe mit dynamischen Breiten zu deklarieren.
Dann paßt sich das bei unterschiedlicher Auflösung ein wenig an.

undefined
28-04-2006, 19:32
Ein HTML Standard wir über den DOCTYPE gesteuert. Sonst werden Browser immer versuchen auf HTML 4.0 Transitional zu gehen.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>dddddd</title>
<meta name="GENERATOR" content="Quanta Plus">
</head>
<body>
<table width="450" height="35" cellspacing="1" border="1" cellpadding="1" align="left" bgcolor="cyan">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>

</body>
</html>

http://www.w3.org/TR/REC-html32

BlueJay
07-05-2006, 10:49
also ich kenne leider die "Render-Engines" nicht die du verwendest, aber dir könnte ein "Spacer-Bild" helfen :)


Die Spacer taten gute Dienste, wenn es drum ging, eine Spalte breiter zu machen.
Es bleibt in 3.2 wirklich nur die Möglichkeit, den Browser abzufragen und entsprechend zu reagieren.

Turbohummel
07-05-2006, 13:05
Wobei so eine native Engine ne Browserabfrage wieder zunichte macht, denke ich.

BlueJay
10-05-2006, 17:16
Man muss halt eine geschickte Voreinstellung wählen :D

nEox
11-05-2006, 15:49
Es bleiben ja immernoch die Spacer ;)

Grüße,
nEox