ich habe ein Problem. und Zwar, weiß einer von euch, ob es möglich ist, das Man in einer Tabele definieren kann, das eine Bestimmte Spalte nur so breit ist, wie ihr inhalt, und die nachvolgende Spalte den Rest einimmt. z.b. einfachstes beispiel. ich nehm ne tabele mit einer zeile und 2 spalten und vordefinierter breite. in der ersten soll etwas stehen, in der zweiten nicht. nun soll die erste nur so breit sein, wie deren inhalt, und die zweite soll den rest des Platzes einemen. nun könnt ich das ja per Probieren mit den Pixelzahlen ganz genau machen, aber ich will das später mit Daten aus ner Datenbank füllen, sprich die teile sind Variabel lang. deshalb dieses Problem (ich brauche das ganze fürs layout)
kennt da einer eine möglichkeit, mit die realisirbar wäre, egal ob mot HTML, PHP oder JS
ok, ka ob das jetzt funzt, muss ich ausprobieren, wenn das andere Prob, das jetzt irgendwie auftritt beseitigt is. normalerweise sölte er ja beide spalten mit 50% Tabellenbreite angeben, insofer, bei den breiten nix geregelt is. nur, der zeigt mir nur die erste spalte an, die 2 wird total übergangen. deshalb funzt auch dein vorschlag net, da die 2 irgendwie übergangen wird, sie wird nur angezeigt, wenn ich der zweiten spalte eine definirte breite gebe.
hier mal der komplette seitencode:
in diesem Sinne Borky
EDIT: ok, das Problem hat sich erledigt. Hab jetzt in der zweiten spalte einfach ein Leerzeicher erzwungen. Auch das mit dem Style=.. hat geklappt. Danke nochmal
Borky
All right! Nur nochmal zum Mitschreiben: Leere Tabellenspalten "<td></td>" Werden absolut ignoriert und als nichtexistent betrachtet. Wenn was leer ist, einfach "<td> </td>" schreiben. Genauso leer, aber funzt!
Die Angabe von width: 1px; ist eigentlich sehr unpassend, da damit das Element wirklich nur 1px breit ist (mit Ausnahme des Internet Explorers).
Normalerweise müsste man also für standardkonforme Browser (egal in welchem Modus sie sich befinden) die Angabe min-width: 1px; angeben und nur für IE (<7) width: 1px fordern.
In einem externen Stylesheet sähe das etwa so aus:
Mit Hilfe von Holly geben wir die falsche Angabe als nur den Browsern, die diese auch benötigen (d.h. IE kleiner 7). Der Rest passt sich an, wie es vorgeehen ist.
All right! Nur nochmal zum Mitschreiben: Leere Tabellenspalten "<td></td>" Werden absolut ignoriert und als nichtexistent betrachtet. Wenn was leer ist, einfach "<td> </td>" schreiben. Genauso leer, aber funzt!
...
Das stimmt auch nicht ganz.
Leere Zellen also <td></td> werden schon im Layout so angezeigt als wäre da eine Zelle auch ohne Inhalt. das ist Quatsch. Das merkt man gerade wenn man eine 0.5px Hohe Zelle machen will die sich über 100% der Breite erstreckt. Mit wird die keine 0.5px gross sondern grösser... und Textgrösse unter 1px nehmen viele Browser nicht an
Und ja mir ist klar das 0.5px rein theoretisch nicht gehen dürften, tun sie aber.
Das Problem bei leeren Zellen (oder allgemein leereren Elementen) ist iirc, das Größenangaben bei ihnen ignoriert werden. Das kann man dann einfach mit einem Leerzeichen und der Schriftgröße 1px lösen. Oder man macht ein transparentes Platzhalterbild rein.
Das stimmt auch nicht ganz.
Leere Zellen also <td></td> werden schon im Layout so angezeigt als wäre da eine Zelle auch ohne Inhalt. das ist Quatsch. Das merkt man gerade wenn man eine 0.5px Hohe Zelle machen will die sich über 100% der Breite erstreckt. Mit wird die keine 0.5px gross sondern grösser... und Textgrösse unter 1px nehmen viele Browser nicht an
Und ja mir ist klar das 0.5px rein theoretisch nicht gehen dürften, tun sie aber.
...
Kann das eventuell am internet Explorer liegen, der interpretiert die height/width-Angaben nämlich falsch, so dass sie sich erweitern können.
Standardkonforme Browser behalten bei height: 0.5px; (sofern die Angabe standardgemäß ist) die Höhe auch bei und dass unabhängig vom Inhalt.
Zitat
Oder man macht ein transparentes Platzhalterbild rein.
Die Angabe von width: 1px; ist eigentlich sehr unpassend, da damit das Element wirklich nur 1px breit ist (mit Ausnahme des Internet Explorers).
Normalerweise müsste man also für standardkonforme Browser (egal in welchem Modus sie sich befinden) die Angabe min-width: 1px; angeben und nur für IE (<7) width: 1px fordern.
In einem externen Stylesheet sähe das etwa so aus:
Mit Hilfe von Holly geben wir die falsche Angabe als nur den Browsern, die diese auch benötigen (d.h. IE kleiner 7). Der Rest passt sich an, wie es vorgeehen ist.
...
Um mich selbst nochmal zu wort zu melden, be mir hat das einwandfrei gefunzt. Egal ob im IE, als auch mitm FF. Einzigstes Problem is, des der bei mehreren Wörten zeilenumbrüche macht. Des is doof, aber ic hätte auch aschon ne alternative, ausser jemand kann mir mhier noch nen andern vorschlag für die wariable breite mache
Ich kann im Moment leider nicht an meinem eigenen PC Arbeiten, daher kann ich nicht alles nachtesten.
Ich nehme an, dass der Firefox dies wie von dir gewünscht interpretiert, weil der Browser im QuirksModus läuft. (Im Firefox einfach mal rechtsklicken->Seiteninformationen anzeigen -> Allgemein und hier den Anzeigemodus überprüfen; sollte der Browser sich tatsächlich im QuirksModus befinden ist es wünschenswert, dass du diesen Fehler korrigierst).
Ich kann im Moment leider nicht an meinem eigenen PC Arbeiten, daher kann ich nicht alles nachtesten.
Ich nehme an, dass der Firefox dies wie von dir gewünscht interpretiert, weil der Browser im QuirksModus läuft. (Im Firefox einfach mal rechtsklicken->Seiteninformationen anzeigen -> Allgemein und hier den Anzeigemodus überprüfen; sollte der Browser sich tatsächlich im QuirksModus befinden ist es wünschenswert, dass du diesen Fehler korrigierst).
...
Also ka, wa du jetzt damit meinst, aber bei anzeigemodus steht bei mir: Standardkonformer Modus
Naja, wie gesagt ist mein PC hinüber und ich kann im InternetCafe nichts nachprüfen ; ;
width: *px; müsste normalerweise auch nur * Pixel breit bleiben.
Allerdings kann es auch sein, das die Angabe von 0.5px nicht zulässig ist, wodurch die Angabe laut korrektem Fehlerhandling nicht angewendet wird.