Jan: Div und span

Hallo,
ist es korrekt, dass der einzige Unterschied zwischen div und span die Tatsache ist, dass div eine neue Zeile beginnt, span aber nicht?
Gruß
Jan

PS. Hoffentlich bläst der Sturm den Thread nicht weg!

  1. Lieber Jan,

    ist es korrekt, dass der einzige Unterschied zwischen div und span die Tatsache ist, dass div eine neue Zeile beginnt, span aber nicht?

    nein, ist es nicht. Ein div ist ein Blockelement, welches laut Spezifikation weitere Blocklemente enthalten darf, bei span Elementen ist das hingegen anders. Soll Deine Seite also korrekten (X)HTML-Code enthalten, dann ist die Verwendung von div oder span keinesfalls aufgrund optischer Effekte hin zu entscheiden!

    Das mit der neuen Zeile bei divs liegt an den Voreinstellungen im CSS des verwendeten Browsers. Wenn Du Deine Seite mit CSS gestaltest, dann solltest Du ganz schnell merken, dass Du bei span-Elementen ebenso eine neue Zeile erzeugen lassen kannst, wie Du es bei div-Elementen dagegen abstellen kannst.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Lieber Felix,

      Das mit der neuen Zeile bei divs liegt an den Voreinstellungen im CSS des verwendeten Browsers.

      Das steht aber in http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=div
      anders. Dort steht

      Dieses allgemeine Element bewirkt nichts weiter als dass es in einer     neuen    Zeile des Fließtextes beginnt. Ansonsten hat es keine Eigenschaften.

      Gruß
      Jan

      1. Hallo Jan.

        Das mit der neuen Zeile bei divs liegt an den Voreinstellungen im CSS des verwendeten Browsers.
        Das steht aber in http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=div
        anders. Dort steht

        Dieses allgemeine Element bewirkt nichts weiter als dass es in einer     neuen    Zeile des Fließtextes beginnt. Ansonsten hat es keine Eigenschaften.

        Bei mir steht da¹ (da, ja wo eigentlich?) folgendes:

        Mit <div> leiten Sie ein allgemeines Block-Element ein, in das Sie mehrere andere Block-Elemente einschließen können (div = division = Bereich). Alles, was zwischen diesem Tag und dem abschließenden </div> steht, wird als Teil des Bereichs interpretiert.

        Einen schönen Donnerstag noch.

        Gruß, Mathias

        --
        ¹ http://de.selfhtml.org/html/text/bereiche.htm#block@title=Da.
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
        1. Hallo

          Bei mir steht da¹ (da, ja wo eigentlich?) folgendes:

          Mit <div> leiten Sie ein allgemeines Block-Element ein, in das .....

          Schau mal etwas weiter oben im Text, direkt vor dem Beispiel, da steht das von mir zitierte.

          1. Hallo Jan.

            Hallo

            Bei mir steht da¹ (da, ja wo eigentlich?) folgendes:

            Mit <div> leiten Sie ein allgemeines Block-Element ein, in das .....

            Schau mal etwas weiter oben im Text, direkt vor dem Beispiel, da steht das von mir zitierte.

            Aha. Gut, diese Aussage bezieht sich allein auf den optischen Aspekt. Den strukturellen Aspekt haben Felix genannt und ich zitiert.

            Einen schönen Donnerstag noch.

            Gruß, Mathias

            --
            ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
            debian/rules
  2. Ein Element <div style="display: inline;"> ... </div> würde einem herkömmlichen <span>-Element entsprechen.
    Umgekehrt wäre es <span style="display: block;"> ... </span>

    Näheres zur display-Eigenschaft lässt sich auch nachlesen. (http://www.css4you.de/display.html)

    1. Ein Element <div style="display: inline;"> ... </div> würde einem herkömmlichen <span>-Element entsprechen.
      Umgekehrt wäre es <span style="display: block;"> ... </span>

      Näheres zur display-Eigenschaft lässt sich auch nachlesen. (http://www.css4you.de/display.html)

      Ja warum dann denn beide Elemente, wenn man dasselbe erreichen kann?

      1. Ja warum dann denn beide Elemente, wenn man dasselbe erreichen kann?

        Es gibt schon Unterschiede. Zum Beispiel ist span ein Inline-Element darf also laut HTMl-Standard keine Block-Elemente enthalten. Dagegen darf das dav-Element als Blockelement z.B. nicht in Textabsätzen vorkommen.

        Die Darstellung unterscheidet sich natürlich auch in Browsers, die kein CSS können.