misterunknown: Textareas

Moin,
ich bin gerade dabei meine Seite (http://misterunknown.de) HTML-valide zu machen. Dabei bin ich auf folgendes Problem gestoßen:
Bei einigen Seiten wird in dem mittleren Bereich eine Textarea angezeigt, die ich bisher mit width="95%" auf meine gewünschte größe gebracht habe (beispielsweise, wenn man einen Gästebucheintrag verfasst http://www.misterunknown.de/index.php?site=gb_new ).
Das width-Attribut ist durchaus vorhanden (laut validator.w3.org), aber das Attribut "cols" ist zusätzlich erforderlich. Welche Angabe kann ich bei cols machen, dass trotzdem nur die bei width angegebene Breite relevant ist?

Grüße Marco

  1. Das width-Attribut ist durchaus vorhanden (laut validator.w3.org), aber das Attribut "cols" ist zusätzlich erforderlich. Welche Angabe kann ich bei cols machen, dass trotzdem nur die bei width angegebene Breite relevant ist?

    Wenn mich nicht alles täuscht sollte eine "width"-Angabe _im CSS_ irgendwelche cols-Attribute immer überschreiben.
    Ein width-Attribut kennt textarea soweit ich weiß nicht.

    --
    sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
    1. Wenn mich nicht alles täuscht sollte eine "width"-Angabe _im CSS_ irgendwelche cols-Attribute immer überschreiben.

      Ja, danke. Das width-Attribut in CSS überschreibt die cols-Angabe :)

      Ein width-Attribut kennt textarea soweit ich weiß nicht.

      Ob es nun offiziell existiert oder nicht ist mir auch egal, solange es funktioniert und valide ist ;)

      Grüße Marco

      1. Hallo!

        Ob es nun offiziell existiert oder nicht ist mir auch egal, solange es funktioniert und valide ist ;)

        Dinge die nicht existieren sind auch nicht valide.

        Liebe Grüße aus Norddeutschland.

        --
        ie:{ fl:( br:> va:} ls:[ fo:| rl:? n4:~ ss:) de:> js:| ch:? sh:( mo:) zu:)
      2. Wenn mich nicht alles täuscht sollte eine "width"-Angabe _im CSS_ irgendwelche cols-Attribute immer überschreiben.
        Ja, danke. Das width-Attribut in CSS überschreibt die cols-Angabe :)
        Ein width-Attribut kennt textarea soweit ich weiß nicht.
        Ob es nun offiziell existiert oder nicht ist mir auch egal, solange es funktioniert und valide ist ;)

        Äh ja gut, wenn du das so siehst...
        In CSS gibt es im deutschen Sprachgebrauch Selektoren, Eigenschaften, Werte und wenn du möchtest auch noch Regeln und Deklarationen. Nicht aber gibt es im CSS "Attribute".
        Wenn du also sowas schreibst wie

        Bei einigen Seiten, (...) die ich bisher mit width="95%" auf meine gewünschte größe gebracht habe(...).
        Das width-Attribut ist durchaus vorhanden (laut validator.w3.org), aber das Attribut "cols" ist zusätzlich erforderlich.

        Dann klingt das für mich wie <textarea width="95%"></textarea> und das wäre ein Attribut, welches HTML aber nicht kennt. Du kannst es selbstverständlich hinzufügen, wenn du XHTML verwendest und einen entsprechenden XML-Dialekt reinlinkst.

        Also wie auch immer, du magst dich natürlich ausdrücken wie immer du magst, aber wenn du mit

        Ja, danke. Das width-Attribut in CSS überschreibt die cols-Angabe :)

        eigentlich das meinst:
        Ja, danke. Die width-Deklaration im CSS überschreibt das cols-Attribut :)
        Dann solltest du die entsprechenden Begrifflichkeiten einfach benutzen um Missverständnisse zu vermeiden. Oder du lebst halt damit missverstanden zu werden, ich weiß jetzt immernoch nicht genau ob und wie du ein width-Attribut eingebunden hast oder doch eine Deklaration oder was auch immer.
        Muss ich aber auch nicht unbedingt wissen ^^

        --
        sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
  2. @@misterunknown:

    nuqneH

    Welche Angabe kann ich bei cols machen, dass trotzdem nur die bei width angegebene Breite relevant ist?

    textarea ohne rows und cols

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hi!

      Welche Angabe kann ich bei cols machen, dass trotzdem nur die bei width angegebene Breite relevant ist?
      textarea ohne rows und cols

      Das Leerlassen dürfte keine Option sein. HTML 4.01 definiert rows und cols als NUMBER und das bedeutet at least one digit. XHTML 1.0 hat den Typ von rows und cols auf CDATA geändert und im Kommentar stehen, dass das "one or more digits" sein sollen. Nach meinem Wissen liegt das daran, dass NUMBER kein offizieller Wert für eine DTD ist. Die HTML4.01er DTD ist um nicht standardisierte Syntax und Elemente erweitert worden. Bei der XHTML1.0-DTD hält man sich an den Standard, weswegen nach dessen strenger Auslegung auch ein Leerstring erlaubt ist. Normalerweise müsste nun ein Validator eine zusätzliche Regel haben, der den Kommentar berücksichtigt.

      Lo!

      1. @@dedlfix:

        nuqneH

        Das Leerlassen dürfte keine Option sein. HTML 4.01 definiert rows und cols als NUMBER und das bedeutet at least one digit.

        Nun, dann ist @cols="" kein valides HTML. Leerlassen (und damit Verzicht auf das grüne Licht des Validators) könnte dennoch eine Option sein, s.u.

        XHTML 1.0 hat den Typ von rows und cols auf CDATA geändert und im Kommentar stehen, dass das "one or more digits" sein sollen. Nach meinem Wissen liegt das daran, dass NUMBER kein offizieller Wert für eine DTD ist.

        Nicht in XML.

        Die HTML4.01er DTD ist um nicht standardisierte Syntax und Elemente erweitert worden.

        ?? Vermutlich bietet SGML diesen Datentypen.

        Bei der XHTML1.0-DTD hält man sich an den Standard, weswegen nach dessen strenger Auslegung auch ein Leerstring erlaubt ist. Normalerweise müsste nun ein Validator eine zusätzliche Regel haben, der den Kommentar berücksichtigt.

        Nein. Ein Validator soll gegen die Grammatik prüfen, ob ein Dokument deren Regel entspricht (i.e. valide ist) oder nicht.

        Die Gramatik liegt mit der DTD in maschinenlesbarer Form vor, wobei die Kommentare für Menschen sind! Ein Validator sollte nicht noch Verstöße gegen irgendwelche Sonderregeln, die nicht in der DTD stehen, als Fehler melden. (Er tut es dennoch und meldet die Verstöße als Warnungen.)

        Soviel zu den Formularien. Widmen wir uns der Frage, warum @cols und @rows überhaupt REQUIRED ist.

        Die Breite von Eingabefeldern ist Darstelung ist CSS. Und width hat beim Rendern Vorrang vor @cols.

        Ein UA sollte für Breite und Höhe von textareas sinnvolle Vorgabewerte haben, damit trotz Fehlens von Angaben von @cols und @rows oder width und height das Eingabefeld dargestellt wird. Und das haben die Browser auch. Die Pflichtangabe von @cols und @rows ist damit unsinnig.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Hi!

          Die HTML4.01er DTD ist um nicht standardisierte Syntax und Elemente erweitert worden.
          ?? Vermutlich bietet SGML diesen Datentypen.

          Kann auch sein. Jedenfalls enthält die 4.01er DTD noch eine Menge mehr Features, die in Dokumentationen zu XML-DTDs nicht beschrieben werden.

          Ein Validator soll gegen die Grammatik prüfen, ob ein Dokument deren Regel entspricht (i.e. valide ist) oder nicht.

          Und da der OP HTML 4.01 verwendet, darf gemäß der Grammatik von dessen DTD und der Bedeutung von NUMBER rows und cols nicht leer sein, wenn er valide sein möchte.

          Soviel zu den Formularien. Widmen wir uns der Frage, warum @cols und @rows überhaupt REQUIRED ist.
          Die Breite von Eingabefeldern ist Darstelung ist CSS. Und width hat beim Rendern Vorrang vor @cols.

          HTML muss auch ohne CSS funktionieren. Aus dem Grunde gibt es auch in den Strict-Varianten solche Möglichkeit wie Input-Felder-Längen anzugeben, Tabellen optisch zu gestalten und die Größe von Bildern festzulegen.

          Lo!

          1. @@dedlfix:

            nuqneH

            HTML muss auch ohne CSS funktionieren.

            Natürlich. Das tut textarea ohne @cols und @rows ja auch.

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)