Andreas: DIV oder nicht DIV

Hallo allerseits!

Ich hab mal wieder was wahrscheinlich ganz dämlich einfaches:

Also ich möchte ein Wort mit Effekten hinterlegen (einzelne Buchstaben faden, etc.) also habe ich mir mittels DIV das Wort in seine Buchstaben zerlegt, welche ich nun mit den ID´s einzeln ansprechen kann. Soweit sogut. Wie kann ich nun die einzelnen DIV´s in einer Zeile hintereinander anordnen OHNE die Positionen pixelgenau angeben zu müssen -kein(kaum) Abstand zwischen den Buchstaben- (position:xxx hilft mir da nicht weiter,die Buchstaben werden untereinander und nicht nebenenander dargestellt)? Könnte man das ganze irgendwie einfacher ohne DIV´s machen?

MfG,

Andreas.

  1. Hallo Andreas,

    Also ich möchte ein Wort mit Effekten hinterlegen (einzelne Buchstaben faden, etc.) also habe ich mir mittels DIV das Wort in seine Buchstaben zerlegt, welche ich nun mit den ID´s einzeln ansprechen kann. Soweit sogut. Wie kann ich nun die einzelnen DIV´s in einer Zeile hintereinander anordnen OHNE die Positionen pixelgenau angeben zu müssen -kein(kaum) Abstand zwischen den Buchstaben- (position:xxx hilft mir da nicht weiter,die Buchstaben werden untereinander und nicht nebenenander dargestellt)?

    Das div Tag, so wie ich es verstanden habe, erzeugt bei seiner anwendung einen Zeilenumbruch. Also werden die Teile zwangsläufig untereinander geschrieben. Du könntest Sie natürlich in eine Reihe zwingen, indem Du sie in Tabellenzellen einfügst.

    Du könntest aber auch das span-Tag verwenden, was sich ja per javascript äquivalent dem div-Tag ansprechen lässt, und keinen Zeilenumbruch erzeugt.

    Könnte man das ganze irgendwie einfacher ohne DIV´s machen?

    Du könntest das ganze Wort jedesmal neuformatiert per innerHTML bzw. open(), write(), close() in ein einzelnes div reinschreiben, aber dazu musst du auch das span-Tag verwenden, und jedesmal den ganzen HTML-String erzeugen, das könnte ein Performance-prob geben.

    Bye Ed X

  2. Grüssi

    Wie kann ich nun die einzelnen DIV´s in einer Zeile hintereinander anordnen OHNE die Positionen pixelgenau angeben zu müssen -kein(kaum) Abstand zwischen den Buchstaben- (position:xxx hilft mir da nicht weiter,die Buchstaben werden untereinander und nicht nebenenander dargestellt)? Könnte man das ganze irgendwie einfacher ohne DIV´s machen?

    <?m=129386&t=24791>

    Um einzelne Wörter oder gar buchstaben in einen Container zu legen nimm <span>, wenn es um Blöcke geht (grob gesagt Absätze) dann nimm <div>. Wie Ed X schon sagte, es gibts auch keine Unterschiede wenn du die beiden in JS ansprechen willst.

    Vielleicht kannst du uns ja einen Link schicken, wo dein Problem sich uns visuell darbietet. Dann könnten wir dir sagen was du verwenden solltest.

    lg bernhard

    PS: Das mit den Zeilenschaltungen nach divs kann man so nicht sagen. Man kann Tabellen ja schliesslich auch nebeneinander anordnen oder? ;-)

    1. Um einzelne Wörter oder gar buchstaben in einen Container zu legen nimm <span>, wenn es um Blöcke geht (grob gesagt Absätze) dann nimm <div>.

      http://www.htmlhelp.com/reference/html40/block/div.html
      <cite>
      SPAN is a text-level equivalent of DIV for use within paragraphs and inline elements.
      </cite>

      http://www.htmlhelp.com/reference/html40/special/span.html
      <cite>
      DIV is a block-level equivalent of SPAN for containing block-level elements such as P and TABLE.
      </cite>

      PS: Das mit den Zeilenschaltungen nach divs kann man so nicht sagen.

      http://www.htmlhelp.com/reference/html40/block.html
      <cite>
      When rendered visually, block-level elements usually begin on a new line.
      </cite>

      http://www.htmlhelp.com/reference/html40/inline.html
      <cite>
      When rendered visually, inline elements do not usually begin on a new line.
      </cite>

      1. Grüssi

        Um einzelne Wörter oder gar buchstaben in einen Container zu legen nimm <span>, wenn es um Blöcke geht (grob gesagt Absätze) dann nimm <div>.

        http://www.htmlhelp.com/reference/html40/block/div.html

        --------------------------------------------------------^^^^^^

        <cite>
        SPAN is a text-level equivalent of DIV for use within paragraphs and inline elements.

        ---^^^^

        </cite>

        http://www.htmlhelp.com/reference/html40/special/span.html

        -----------------------------------------------------------^^^^

        <cite>
        DIV is a block-level equivalent of SPAN for containing block-level elements such as P and TABLE.

        ---^^^^

        </cite>

        Nanu? Wenn scho denn scho! Allerdings habe ich genau das gesagt ;-)

        PS: Das mit den Zeilenschaltungen nach divs kann man so nicht sagen.

        http://www.htmlhelp.com/reference/html40/block.html
        <cite>
        When rendered visually, block-level elements usually begin on a new line.
        </cite>

        http://www.htmlhelp.com/reference/html40/inline.html
        <cite>
        When rendered visually, inline elements do not usually begin on a new line.
        </cite>

        <DIV>s nebeneinander (mit Hilfe von CSS):
        ---------------------------------------
        <html>
        <head>
        <title></title>
        </head>
        <body>
        <div style="background-color: red; left: 10px; width: 200px; float: left;"><b>Links</b></div>
        <div style="background-color: blue; right: 10px; width: 200px; float: left;"><b>Rechts</b></div>
        </body>
        </html>

        <TABLE>s nebeneinander, ganz ohne CSS:
        ------------------------------------
        <html>
        <head>
        <title></title>
        </head>
        <body>
        <table width="100" align="left" bgcolor="red"><tr><td><b>Links</b></td></tr></table>
        <table width="100" align="left" bgcolor="blue"><tr><td><b>Rechts</b></td></tr></table>
        </body>
        </html>

        Siehst du irgendwo eine Leerzeile? Das ist der Grund warum sie usually geschrieben haben ;-) Beides funktioniert sogar auf NS4! Noch Fragen?

        lg Bernhard

        1. <DIV>s nebeneinander (mit Hilfe von CSS):

          ^^^^^^^^^^^^^^^^^
          http://www.w3.org/TR/REC-CSS1#display

          <table align="left">

          http://www.w3.org/TR/html4/struct/tables.html#adef-align-TABLE
          <cite>
          <strong>Deprecated.</strong>
          </cite>

          --
          http://www.w3.org/TR/REC-CSS1#terminology
          <cite>
          block-level element - an element which has a line break before and after (e.g. 'H1' in HTML)

          inline element - an element which does not have a line break before and after (e.g. 'STRONG' in HTML)
          </cite>

          1. Grüssi!

            Wär schön, wenn der Linksetzer jetzt mal ein paar _Worte_ springen lassen könnte, denn wenn immer nur ein paar Links kommen, lässt sich  schwer diskutieren :-(

            <DIV>s nebeneinander (mit Hilfe von CSS):
                                     ^^^^^^^^^^^^^^^^^
            http://www.w3.org/TR/REC-CSS1#display

            Soll heissen das gilt nicht oder wie? ;-)

            <table align="left">
            http://www.w3.org/TR/html4/struct/tables.html#adef-align-TABLE
            <cite>
            <strong>Deprecated.</strong>
            </cite>

            schon klar, aber

            1. verstehe ich den Grund sowieso nicht
            2. mach ichs halt mit CSS
            3. gehts trotzdem ;-)

            http://www.w3.org/TR/REC-CSS1#terminology
            <cite>
            block-level element - an element which has a line break before and after (e.g. 'H1' in HTML)
            inline element - an element which does not have a line break before and after (e.g. 'STRONG' in HTML)
            </cite>

            hmmm, in deiner vorherigen Link-Armada stand ganz eindeutig sowohl <table> als auch <div> unter den Blocklevel Elements. Ich finde du vermischt hier etwas zu sehr. Einmal gehts um blocklevel-Elemente aus CSS-Sicht (wie dieser aktuelle Link) ein andermal um blocklevel-Elemente aus HTML-Sicht. Das sind aber anscheinend zwei grundverschiedene Dinge!

            Während bei CSS laut deinem Link ein Blocklevel-Element durch die Zeilenschaltung davor und danach definiert ist, ist das in HTML-Terminologie eben nicht zwangsweise so, wie am Beispiel Table gezeigt. Was aber nicht heisst, dass es kein Blocklevel-Element ist. Nur können diese eben auch nebeneinander stehen.

            Ich weiss einfach nicht was du mir sagen willst? Liegts vielleicht daran, dass ich mit CSS um die Eigenschaft eines <table> als Blocklevel-Elements (wenn ich das jetzt noch öfter tippen muss lauf ich Amok) herumtrickse und es quasi zu einem "inline"-Element mache?

            Aber, ist es nicht ziemlich müssig, über solche Begriffe zu diskutieren? Noch dazu mit einem Gesprächspartner, wo jedes Wort mit 'http://' beginnt? ;-)

            => Für solche Aktionen ist die Institution "Linksetzter" wohl nicht so geeignet! Abgesehen davon ist sowas gerade bei mir immer gefährlich, denn ich labere gern ;-)

            lg bernhard

            1. Wär schön, wenn der Linksetzer jetzt mal ein paar _Worte_ springen lassen könnte, denn wenn immer nur ein paar Links kommen, lässt sich  schwer diskutieren :-(

              Bleibt aber ein Ausnahme!

              <DIV>s nebeneinander (mit Hilfe von CSS):
                                       ^^^^^^^^^^^^^^^^^
              http://www.w3.org/TR/REC-CSS1#display

              Soll heissen das gilt nicht oder wie? ;-)

              Soll heißen, daß Positionierung per CSS und display:inline zwei verschiedene Sachen sind. Die Verwendung von CSS ist korrekt, wenn ein div inline (also ohne Zeilenumbruch) dargestellt werden soll, dann wird dazu display:inline genutzt und nicht position.

              schon klar, aber

              1. verstehe ich den Grund sowieso nicht

              align ist missbilligt, weil die Ausrichtung eines Elementes nicht in den HTML-Aufgabenbereich gehört.

              1. mach ichs halt mit CSS

              So ist es richtig.

              1. gehts trotzdem ;-)

              Was überhaupt nichts daran ändert, dass table ein Block-Level-Element ist und davor/danach standardmäßig ein Zeilenumbruch entsteht. Die Deklaration bezieht sich auf nicht per CSS-manipulierte Tags.

              Einmal gehts um blocklevel-Elemente aus CSS-Sicht (wie dieser aktuelle Link) ein andermal um blocklevel-Elemente aus HTML-Sicht. Das sind aber anscheinend zwei grundverschiedene Dinge!

              Interessante Meinung, ich höre.

              Während bei CSS laut deinem Link ein Blocklevel-Element durch die Zeilenschaltung davor und danach definiert ist, ist das in HTML-Terminologie eben nicht zwangsweise so, wie am Beispiel Table gezeigt. Was aber nicht heisst, dass es kein Blocklevel-Element ist. Nur können diese eben auch nebeneinander stehen.

              Diese Aussage ist falsch. <table><tr><td> </td></tr></table><table><tr><td> </td></tr></table> steht in keinem mir bekannten Browser nebeneinander. Wenn man ausdrücklich missbilligte Attribute oder CSS verwendet, um dies zu ändern, dann kann man nicht behaupten, table wäre ein Block-Level-Element ohne Zeilenumbrüche davor/danach. Wie bereits gesagt, bezieht sich diese Aussage auf die Tags in Reinform, also ohne irgendwelches CSS-Ergänzungen und/oder Attribute.

              Ich weiss einfach nicht was du mir sagen willst? Liegts vielleicht daran, dass ich mit CSS um die Eigenschaft eines <table> als Blocklevel-Elements (wenn ich das jetzt noch öfter tippen muss lauf ich Amok) herumtrickse und es quasi zu einem "inline"-Element mache?

              Ich will sagen, daß sowohl table als auch div Block-Level-Elemente sind, vor und nach denen ein Zeilenumbruch entsteht. Mit der CSS-Eigenschaft display kann so etwas manipuliert werden, trotzdem bleiben beide Block-Level-Elemente, nach bzw. vor denen standardgemäß (ohne Ergänzungen) ein Zeilenumbruch entsteht. Genau darauf bezieht sich die Definition

              Aber, ist es nicht ziemlich müssig, über solche Begriffe zu diskutieren?

              Es ist notwendig, darüber zu diskutieren, dann wird auch schneller klar, warum <span><p>absatz</p></span> falsch und <div><p>absatz</p></div> korrekt ist.

              => Für solche Aktionen ist die Institution "Linksetzter" wohl nicht so geeignet! Abgesehen davon ist sowas gerade bei mir immer gefährlich, denn ich labere gern ;-)

              Damit hast Du in der Tat recht, zum Setzen von Links, die eventuell einer weiterführungen Klärung bedürfen, ist "Linksetzer" nicht geeignet. Ich als Person werde es berücksichtigen, wenn ich mich mal wieder als Linksetzer betätige.
              Wäre schön, wenn auch die anderen Nutzer dieses Namens ähnlich verfahren.

              1. Grüssi!

                Wär schön, wenn der Linksetzer jetzt mal ein paar _Worte_ springen lassen könnte, denn wenn immer nur ein paar Links kommen, lässt sich  schwer diskutieren :-(

                Bleibt aber ein Ausnahme!

                ok, ich sags nicht weiter ;-)
                *psssst*

                align ist missbilligt, weil die Ausrichtung eines Elementes nicht in den HTML-Aufgabenbereich gehört.

                http://www.teamone.de/selfhtml/tceg.htm wieder ein Grund mehr für eine Überarbeitung *g*, denn ich lernte das damals noch so. Was aber nicht entschuldigt dass ich es jetzt immer noch anwende ;-)

                Ausserdem wird das align-Attribut höchstwahrscheinlich immer noch von mehr Browsern verstanden als der CSS-Ausdruck (den ich ehrlichgesagt auch gar nicht kenne *g* -- alignment?) Ich habe mit allem was über die Standard-Formatierung durch CSS (Schriftart, Farben, margins..) hinausgeht keine allzuguten Erfahrungen gemacht. Daher verwende ich eben schonmal Attribute die deprecated wurden.

                Dass <font> allerdings schon lange nicht mehr zum guten Stil gehört habe ich schon begriffen ;-) Aber eben grad so dinge wie align mach ich lieber in html als css, einfach schon deshalb, weil ich weiss welche Probleme manche Browser mit CSS haben können, auch wenn es ev. sein könnte dass auch der NS4 dieses eine versteht.

                Einmal gehts um blocklevel-Elemente aus CSS-Sicht (wie dieser aktuelle Link) ein andermal um blocklevel-Elemente aus HTML-Sicht. Das sind aber anscheinend zwei grundverschiedene Dinge!

                Interessante Meinung, ich höre.

                ok, ein bissl umständlich ausgedrückt. Was ich damit sagen wollte, war eben dass man mit CSS ein HTML-Block-Level-Element zu einem Inline-Element zurechtbiegen kann. Wenn sich das jetzt ein wenig nach verlegener Ausrede anhört, nun ja ... könnte schon sein *fg* ;-)

                Diese Aussage ist falsch. <table><tr><td> </td></tr></table><table><tr><td> </td></tr></table> steht in keinem mir bekannten Browser nebeneinander. Wenn man ausdrücklich missbilligte Attribute oder CSS verwendet, um dies zu ändern, dann kann man nicht behaupten, table wäre ein Block-Level-Element ohne Zeilenumbrüche davor/danach. Wie bereits gesagt, bezieht sich diese Aussage auf die Tags in Reinform, also ohne irgendwelches CSS-Ergänzungen und/oder Attribute.

                Genau das war der Kern der Aussage. Das wars eben was ich wissen wollte. Dass es eben eine Manipulation ist, quasi ein "Trick" mit dem man ein B...-Element Layoutmässig anordnen kann, was aber nichts daran ändert dass es ein B....-Element ist, und daher kein weiteres B....-Element enthalten darf.

                Obwohl: ist in einer <td> eigentlich ein <p> erlaubt? der Validator hat mir da nix angemeckert bisher?!?

                Ich will sagen, daß sowohl table als auch div Block-Level-Elemente sind, vor und nach denen ein Zeilenumbruch entsteht. Mit der CSS-Eigenschaft display kann so etwas manipuliert werden, trotzdem bleiben beide Block-Level-Elemente, nach bzw. vor denen standardgemäß (ohne Ergänzungen) ein Zeilenumbruch entsteht. Genau darauf bezieht sich die Definition

                Es ist notwendig, darüber zu diskutieren, dann wird auch schneller klar, warum <span><p>absatz</p></span> falsch und <div><p>absatz</p></div> korrekt ist.

                oder, viel häufiger:
                <p>Um eine <ul><li>Liste</li></ul> herum</p>

                stimmt, das hat mir schon mal jemand gesagt, ich war ordentlich baff, hab nachgeschaut und verifiziert, seitdem wird das auch praktiziert von mir ;-)

                Wäre schön, wenn auch die anderen Nutzer dieses Namens ähnlich verfahren.

                Also ein bissl verwirrend ist das schon mit deiner multiplen Persönlichkeit, mein lieber! Da muss man immer raten, wer denn jetzt wohl wieder dahintersteckt. ts ts ts, anstrengend ;-) Aber da keine Rechtschreibfehler drin waren bleiben eigentlich nur mehr zwei Möglichkeiten übrig *fg* -- für diese eine Instanz des Linksetzers freilich nur ;-)

                lg bernhard

                1. Hallo Ihr Streithähne !

                  Ich weiß ehrlich gesagt nicht, worüber ihr hier diskutiert.
                  Bernhards anfängliche Aussage (span für inline, div für block) war doch völlig in Ordnung!

                  Wozu das ganze Hick-Hack, es führt doch nur zu offensichtlicher Verwirrung?

                  (siehe:

                  ..., was aber nichts daran ändert dass es ein B....-Element ist, und daher kein weiteres B....-Element enthalten darf.

                  )

                  Wie formulierte Utz doch so treffend: "waaaaaaaaaas??????????" ;-)

                  Gruß,

                  kerki

                  1. Hi kerki

                    Hallo Ihr Streithähne !

                    wir haben nicht gestritten, nur aneinander vorbeigeredet ;-)

                    Ich weiß ehrlich gesagt nicht, worüber ihr hier diskutiert.
                    Bernhards anfängliche Aussage (span für inline, div für block) war doch völlig in Ordnung!

                    stimmt, daran hat der Linksetzer ja auch nix auszu'setzen' gehabt ;-)

                    (siehe:

                    ..., was aber nichts daran ändert dass es ein B....-Element ist, und daher kein weiteres B....-Element enthalten darf.
                    )

                    Wie formulierte Utz doch so treffend: "waaaaaaaaaas??????????" ;-)

                    Jetzt sag bloss, _du_ hast es jetzt nicht begriffen *fg* dann zuck ich nämlich aus!

                    Wozu das ganze Hick-Hack, es führt doch nur zu offensichtlicher Verwirrung?

                    Nein, wie in meinem und Linksetzers jeweils letztem Posting hervorgehen sollte ging es uns darum, klar zu machen, dass p,div,table,ul,... Blocklevel-Elemente sind, und solche auch bleiben, wenn man mittels css dessen Block-eigenschaft verändert, indem man es zu einem Flussobjekt macht, wo text drumherumfliesst, oder auch wieder andere Blocklevel-Elemente. So wie's in Selfhtml drinsteht:

                    "Im umfließenden "Text" sind alle HTML-Elemente zur Gestaltung erlaubt, also beispielsweise Überschriften, Listen, auch Grafik- und Multimedia-Referenzen, ja sogar neue Tabellen." link: http://www.teamone.de/selfhtml/tceg.htm#a2

                    Diese Manipulation am Fliessverhalten (nicht nur mit css, auch mit align wie im Link oben) ändert allerdings nix daran, dass es Blocklevel-Elemente sind, und daher laut Definition keine weiteren Blocklevel-Elemente enthalten dürfen. Es darf also kein <ul> in einem <p> vorkommen.

                    Das war eingentlich der Kern unserer Diskussion, das war mir anfangs nämlich nicht klar (das mit dem Block/Fliessverhalten). In den ersten Postings wars nur deswegen etwas verwirrend, weil ich angefressen war dass der Linksetzer immer nur mit Links gesprochen hat, und so ein erklärungsbedürftiges Thema nicht ordentlich ausformulierte, aber ab dem Posting wo ordentlich geschrieben wurde, isses eigentlich doch eh ziemlich klar was gemeint war oder?

                    ... auch wenn es von der eigentlichen Frage von Andreas thematisch schon etwas weit entfernt ist ;-)

                    lg Bernhard

                    PS: Falls der Grund deiner Verwirrung das "B...-Element" war, dann findest du die Erklärung dafür unter <?m=129941&t=24898> in der Zeile

                    Blocklevel-Element (wenn ich das jetzt noch öfter tippen muss lauf ich Amok)

                    1. Hallo !

                      Diese Manipulation am Fliessverhalten (nicht nur mit css, auch mit align wie im Link oben) ändert allerdings nix daran, dass es Blocklevel-Elemente sind, und daher laut Definition keine weiteren Blocklevel-Elemente enthalten dürfen.

                      Ich wiederhole mich gerne: ;-)

                      Wie formulierte Utz doch so treffend: "waaaaaaaaaas??????????" ;-)

                      Wo steht denn geschrieben, dass Block-Level-Elemente generell keine anderen Block-Level-Elemente enthalten dürfen?

                      Ich lese etwas ganz anderes:
                      "Generally, block-level elements may contain inline elements and other block-level elements."
                      (Quelle: http://www.w3.org/TR/html4/struct/global.html#h-7.5.3)

                      Es darf also kein <ul> in einem <p> vorkommen.

                      Das wiederum stimmt und wird bei meinem Test - anders als von dir behauptet - vom Validator sehr wohl angemeckert.

                      In der HTML4-Spezifikation steht aber auch extra:
                      "The P element represents a paragraph. It cannot contain block-level elements (including P itself)."
                      (Quelle: http://www.w3.org/TR/html4/struct/text.html#edef-P)

                      Daher steht wohl im ersten Zitat "Generally".

                      Das war eingentlich der Kern unserer Diskussion, das war mir anfangs nämlich nicht klar (das mit dem Block/Fliessverhalten). In den ersten Postings wars nur deswegen etwas verwirrend, weil ich angefressen war dass der Linksetzer immer nur mit Links gesprochen hat, und so ein erklärungsbedürftiges Thema nicht ordentlich ausformulierte, [...]

                      Das kann ich gut nachvollziehen. :-)

                      [...] aber ab dem Posting wo ordentlich geschrieben wurde, isses eigentlich doch eh ziemlich klar was gemeint war oder?

                      Ehrlich gesagt: nein! :-(

                      ... auch wenn es von der eigentlichen Frage von Andreas thematisch schon etwas weit entfernt ist ;-)

                      Das wiederum finde ich gar nicht. Bei der Frage, ob <div> oder <span> geht es ganz entscheidend um die Unterscheidung zwischen "block-level"- und "inline"-Elementen.

                      So 100%ig schlau werde ich aus der HTML-Spezifikation in diesem Punkt, wie ich gestehen muss, nicht. :-(

                      Gruß,

                      kerki

                      1. grüssi kerki!

                        Wo steht denn geschrieben, dass Block-Level-Elemente generell keine anderen Block-Level-Elemente enthalten dürfen?

                        Ich lese etwas ganz anderes:
                        "Generally, block-level elements may contain inline elements and other block-level elements."
                        (Quelle: http://www.w3.org/TR/html4/struct/global.html#h-7.5.3)

                        Waaaasss?????????

                        Es darf also kein <ul> in einem <p> vorkommen.

                        Das wiederum stimmt und wird bei meinem Test - anders als von dir behauptet - vom Validator sehr wohl angemeckert.

                        In der HTML4-Spezifikation steht aber auch extra:
                        "The P element represents a paragraph. It cannot contain block-level elements (including P itself)."
                        (Quelle: http://www.w3.org/TR/html4/struct/text.html#edef-P)

                        ach i kenn mi jetzt überhaupt nimma aus! Ihe habt es geschafft, bin jetzt vollkommen hinüber. Wie hiess ich schnell nochmal ? ... ach ja bernhard ... also sowas aber auch ... ich will jetzt einfach nix mehr sagen zu dem Thema. Ich werde mir die Spezifikation mal von vorne bis hinten durchlesen, und hoffentlich möglichst viel davon behalten. Punkt.

                        ... auch wenn es von der eigentlichen Frage von Andreas thematisch schon etwas weit entfernt ist ;-)

                        Das wiederum finde ich gar nicht. Bei der Frage, ob <div> oder <span> geht es ganz entscheidend um die Unterscheidung zwischen "block-level"- und "inline"-Elementen.

                        naja, er wollte einfach nur wissen ob er ein div nehmen kann oder nicht, und wir zetteln da eine Diskussion über die Eigenschaften von Blocklevel-Elementen an.

                        So 100%ig schlau werde ich aus der HTML-Spezifikation in diesem Punkt, wie ich gestehen muss, nicht. :-(

                        danke, das beruhigt mich wenigstens etwas!

                        verzweifelnde Grüsse aus Wien
                        Bernhard

              2. hallo,

                Bleibt aber ein Ausnahme!

                hier speilt schon jeder 2 trottel den linksetzer: lasse es leiber bleiben.

                <DIV>s nebeneinander (mit Hilfe von CSS):
                http://www.w3.org/TR/REC-CSS1#display

                es gilt:
                http://www.w3.org/TR/REC-CSS2/

                align ist missbilligt, weil die Ausrichtung eines Elementes nicht in den HTML-Aufgabenbereich gehört.

                ansichtssache:
                http://www.w3.org/TR/html4/struct/tables.html#adef-align-TABLE und dazu bitte durchlesen bes. 2. Absatz:
                 http://www.w3.org/TR/html4/conform.html#deprecated
                und es ist Valid HTML 4.01 http://www.w3.org/TR/html4/sgml/loosedtd.html

                Was überhaupt nichts daran ändert, dass table ein Block-Level-Element ist und davor/danach standardmäßig ein Zeilenumbruch entsteht. Die Deklaration bezieht sich auf nicht per CSS-manipulierte Tags.

                Welche deklaration?
                http://www.w3.org/TR/html4/struct/global.html#h-7.5.3? wohl kaum, da dort auf die möglichkeit verwiesen wird mit CSS die "block" eigenschaften zu überschreiben, wobei w3c vermerket, dass die autoren nach möglichkeit dies nicht tun sollten, aber gerade was div angeht:
                -----
                The DIV and SPAN elements, in conjunction with the id and class attributes, offer a generic mechanism for adding structure to documents. [...]Thus, authors may use these elements in conjunction with style sheets, the lang attribute, etc., to tailor HTML to their own needs and tastes.
                --------

                Einmal gehts um blocklevel-Elemente aus CSS-Sicht (wie dieser aktuelle Link) ein andermal um blocklevel-Elemente aus HTML-Sicht. Das sind aber anscheinend zwei grundverschiedene Dinge!

                Interessante Meinung, ich höre.

                html
                http://www.w3.org/TR/html4/struct/global.html#h-7.5.3?

                CSS2
                http://www.w3.org/TR/REC-CSS2/visuren.html#q5

                das sind genau 2 verschiedene definitionen für block-level elements.

                grüße
                thomas