Fieldsets + firefox 3.6 und 4.beta3

---------- [size=150]Mozilla FireFox 3.6 + beta 7 Lösung[/size] -------------

Schuld hat die white-space-Eigenschaft:fieldset,legend{white-space:normal} behebt das Problem.
http://qooqle.bplaced.de/HTML-CSS/fieldset-legend.html

---------- [size=150]Original-Post:[/size] -------------

[code]Gaaaanz laaangeeeeer Teeeeeext hiiiieeeeer
Ooooooodeeeeeeeer hiiiieeeeeeeer

[/code] Weiß jemand wie sich so etwas formatieren läst?

Vorallem wenn der Text über die Bilschirmbreite hinausgeht bin ich mit CSS bereits verzweifelt.
Mit PHP einen fieldset-Generator zu erstellen der Zeilenumbrüche einarbeitet und legends teilweise nur in das title-attribut verlegt, ist meiner Meinung keine elegante Lösung.

fieldset { width:... ; max-width:... ; overflow:hidden|visible|... }

funktioniert nur mit absoluten Angaben und das sieht hässlich aus.
Von dem gewünschten Effekt ist aber nicht wirklich was zu sehen.

Ich habe zwar bei mozilla schon bugs-Reports eingeschickt, aber es giebt ja auch noch die Benutzer mit alter Software oder IE, Opera ( hab ich leider noch nicht getestet :morgen: )

Also Opera10 und Konqueror 3.5 brechen das ganz normal um, wenn
der Platz nicht ausreicht. Scheint mir inhaltlich auch sinnvoll zu sein.
Firefox 3.5 etwa macht das in der Tat nicht.

Formal kann man in (X)HTML in legend inzeiligen Inhalt notieren,
also bei Bedarf auch br - funktioniert bei allen obigen browsern.
Formal kann man legend per CSS genauso dekorieren wie andere
Elemente auch. Bekannt ist allerdings, daß bei der Dekoration von
Formularelementen bei diversen browsern Fehler auftreten ;o)
Man kann auch mal versuchen, per CSS den Typ genau festzulegen,
den man haben möchte (display: inline, block etc), um
sicherzustellen, daß die Eigenschaften auch wirken, die man dafür
angibt. Denn legend ist ein besonderes Element, bei dem das
nicht unbedingt offensichtlich ist. Daher sollte man da alle
relevanten Eigenschaften explizit angeben/überschreiben, um
Unterschiede bedingt durch die browser-Stilvorlagen zu vermeiden,
sofern man da Wert auf eine einheitliche Darstellung einer eigenen
Stilvorlage legt.

Sry hoffmann,

[quote]Also Opera10 und Konqueror 3.5 brechen das ganz normal um, wenn
der Platz nicht ausreicht. Scheint mir inhaltlich auch sinnvoll zu sein.
Firefox 3.5 etwa macht das in der Tat nicht.[/quote]
Nützt den Firefox und evt auch IE usern leider nichts
sieht umgebrochen außedem hässlich aus

[quote]Formal kann man in (X)HTML in legend inzeiligen Inhalt notieren,
also bei Bedarf auch br - funktioniert bei allen obigen browsern.[/quote]
Gleiches wie oben

[quote]Formal kann man legend per CSS genauso dekorieren wie andere
Elemente auch.[/quote]
Geht aber mit Firefox und fieldsets/legends nicht :p

[quote]Bekannt ist allerdings, daß bei der Dekoration von
Formularelementen bei diversen browsern Fehler auftreten ;o)[/quote]
Wo bleibt da der Fortschritt wenn man ( oder seine Umwelt ) ihn braucht?

[quote]Man kann auch mal versuchen, per CSS den Typ genau festzulegen,
den man haben möchte (display: inline, block etc), um
sicherzustellen, daß die Eigenschaften auch wirken, die man dafür
angibt. Denn legend ist ein besonderes Element, bei dem das
nicht unbedingt offensichtlich ist.[/quote]
Hab ich versucht - siehe Anhang

[quote]Daher sollte man da alle relevanten Eigenschaften explizit angeben/überschreiben, um Unterschiede bedingt durch die browser-Stilvorlagen zu vermeiden,
sofern man da Wert auf eine einheitliche Darstellung einer eigenen
Stilvorlage legt.[/quote]
Viel Spaß - aber Webdesign und Browserweichen sind doch eigentlich nur für den IE da.
Wir haben doch besseres zu tun als irgendwas zu coden das nicht alle ( zumindest nicht IE6 ) Browser so darstellen wie sie es wollen :unamused:

Vielleicht funktioniert das hier ja :p

Firefox { fieldset:opera-modus ; fieldset:opera-modus }
Geht nicht :frowning: - Aber man soll ja die hoffnung nie aufgeben …

@All seht euch erst mal den Anhang an, dann wird hier nicht immer wieder etwas aufgegriffen was eh nicht funktioniert.
( Das soll keine Beleidigung für irgendjemanden sein sondern nur die unnützen Posts vermeiden )
Benötigt werden Firefox 3.6 bis 4.0.beta3

Ich habe nichts von browser-Weichen geschrieben.
browser haben eine eigene Stilvorlage zur Darstellung von (X)HTML,
diese kann von browser zu browser unterschiedlich sein und kann
auch durch eine Nutzerstilvorlage noch individuell ergänzt werden.
Da die Stilvorlage des Autors aber höhere Priorität hat, können
darin angegebene Eigenschaften die in der browser-Stilvorlage
überschreiben. Gibt der Autor sie hingegen nicht an, ist die
entsprechende Eigenschaft aus der browser-Stilvorlage wirksam.
Das ist kein Fehler, sondern Absicht.
Hört sich aber so an, als ob du schon eine Menge durchprobiert
hast und mit nichts das Verhalten vom firefox hast beeinflussen
können. An der browser-Stilvorlage (allein) wird es also wohl nicht
liegen.

Generell, wenn browser Fehler oder Lücken haben, kann man da
wenig machen, als Tests zu schreiben, die Fehler zu publizieren und
Fehlerberichte einzuschicken und das Beste zu hoffen.
Kann man den Fehler so eingrenzen, ist es ja auch vielleicht möglich,
die Stilvorlage oder den Inhalt provisorisch so anzulegen, daß der
Fehler wenigstens nicht die Lesbarkeit der Seite beeinträchtigt -
hier als etwa in legend eine Kurzlegende und dann eventuell
benachbart dazu im Formular eine längere Beschreibung in einem
anderen Element - kann man dann ja im Bedarfsfalle mit einem
Verweis versehen.
Notfalls muß man eben legend und fieldset ganz weglassen und
den Kram mit einer Tabelle zuordnen, da gibt es zahlreiche
Mechanismen, um eine eindeutige Zuordnung zu gewährleisten.
Und Tabellen zur Relation von Beschreibung zur Eingabe können
inhaltlich sinnvoll sein.

Wenn man nun beginnt, bei fehlerhaften browsern so lange
herumzutricksen, daß man durch Nutzung weiterer Fehler und
Mängel irgendwas improvisiert, darf man auf solche Konstruktionen
bei jeder erneuten Veröffentlichung einer browser-Version erneut
aufpassen - ist also nicht sinnvoll. Eine Ausnahme sind da wohl
nur die bedingten Kommentare beim MSIE, den Fehler kann man
gut nutzen, um andere Fehler des MSIE zu kompensieren, weil
eine Behebung dieses Fehlers (ein Kommentar sollte nicht
interpretiert werden) dann einfach nur die Kompensation
abschaltet.

Aber wenn das fieldset wirklich dazu verwendet wird wozu es gemacht wurde - um input[type=radio] zu gruppieren - und der user die Texte eingiebt ( natürlich mit php:htmlspecialchars ) dann sollte das nicht das ganze Layout verändern!

Beim Inhalt mag das mit einem gestylten extra div-Tag noch gehen, aber spans im legend-Element füren wieder zu ganz anderen Fehlern …

Die einzige Möglichkeit ( die mir einfällt ) ist, den Rand weg zu stylen und andere Elemente für eine Überschrift zweckzuentfremden.

Aber:

  1. wiederspricht das einer Trennung von Inhalt und Layout
  2. wird durch mehr Elemente die zweckentfremdet und im CSS berücksichtigt werden müssen ( also nicht parent > child sondern parent > blablabla > child ) alles unübersichtlicher, und der Container ( hier das blablabla - was keine unmittelbaren Rückschlüsse auf den Verwendungszweck erlaubt ) muss eventuell auch noch wegen allen vorherigen Formatierungen entstylt werden.

Wenn sich das irgendwie umgehen lässt — dafür hab ich doch den Thread eröffnet.

Außerdem wäre dieses Element auch noch ganz Praktisch, wenn man sich mal nicht explizit um Ränder oder Überschriften kümmern möchte, bzw keine Unterschiede zwischen h1 bis h6 braucht.

Wenn dann aber daraus mehr wird, oder das HTML für ein Plugin geschrieben wird, sollte das Framework doch einfach ein bisschen CSS bereitstellen können das dann alles Heile macht ( ohne Javascript ).

Hoffentlich habt ihr eine bessere Lösung als folgende:

legend:before { content:"Mit Firefox zieht sich alles über 5 Bildschirme, mit IE haben Sie diesen Nachteil: ..., Mit Opera entschuldigen wir ... - bitte suchen Sie sich einen Browser aus, denken Sie an die armen Webdesigner die sich mit den Browser-Fehlern herumplagen und besuchen Sie die Seite weiterhin" }So in etwa ist momentan meine neue Version mit Standart-Elementen.

Das kann doch nicht sein ( Webdesigner ) :motz: :smoke: ( Internet-Browser )

---------- [size=150]Mozilla FireFox 3.6 + beta 7 Lösung[/size] -------------

Schuld hat die white-space-Eigenschaft:fieldset,legend{white-space:normal}behebt das Problem.
http://qooqle.bplaced.de/HTML-CSS/fieldset-legend.html