Kalle_: Layout (Spalten) NUR mit CSS ???

Hallöle,

ich biete einen datbenbankbasierten Terminkalender an für den Einbau in fremde HTML- Seiten und möchte ihn neu gestalten.

Jeder Termin soll ein Absatz <p></p> werden und einige logische Blöcke wie <span class='datum'>...</span> enthalten. Diese können dann per externer CSS- Datei farbig, fett usw. gestaltet oder unterdrückt werden (display:none).

Der Webmaster legt seine eigene CSS- Datei auf seinen Server und übergibt ihren Namen per Parameter, sodass PHP die Zeile
<link rel='stylesheet' type='text/css' href='http://www.meineseite.de/meinlayout.css'>
einfügt.

Doch wie bekomme ich es per CSS hin, dass etwa der Tag in Spalte 1, die Uhrzeit in Spalte 2 und der Rest in Spalte 3 steht?

Okay, <span> akzeptiert {display:block;float:left}, aber der Rest aus Spalte 3 "unterläuft" die Spalten 1 und 2, wenn er länger ist als sie.

Hier dieselbe HTML- Datei mit verschiedenen CSS- Dateien:
http://www.aktivferien.de/leutershausen2a.htm
http://www.aktivferien.de/leutershausen2b.htm

Ich möchte die Spalten nicht per <div> getrennt anbieten, sondern konsequent Inhalt und Layout trennen. Geht das überhaupt?

Lieben Gruß, Kalle

  1. Hallo Kalle_.

    Doch wie bekomme ich es per CSS hin, dass etwa der Tag in Spalte 1, die Uhrzeit in Spalte 2 und der Rest in Spalte 3 steht?

    https://forum.selfhtml.org/?t=117604&m=753293

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    1. Hallo Ashura,

      danke für deine schnelle Antwort, aber alle beschriebenen Dokumente arbeiten mit <div>, das heisst, zumindest die Spalten- Einteilung ist Bestandteil der HTML- Datei.

      Meine Frage war:
      Ist es möglich, aus HTML- Fließtext mit CSS Spalten zu machen, vorausgesetzt natürlich, CSS kann irgendwie "angreifen"?

      LG Kalle

      1. Hallo Kalle_.

        danke für deine schnelle Antwort, aber alle beschriebenen Dokumente arbeiten mit <div>, das heisst, zumindest die Spalten- Einteilung ist Bestandteil der HTML- Datei.

        Natürlich. Das div-Element wird ja hierbei auch schließlich genau dafür eingesetzt, wofür es geschaffen wurde: zum Gruppieren anderer Elemente.

        Warum sträubst du dich so gegen den sinnvollen Einsatz des div-Elementes?

        Ist es möglich, aus HTML- Fließtext mit CSS Spalten zu machen, vorausgesetzt natürlich, CSS kann irgendwie "angreifen"?

        Hæh?

        Einen schönen Mittwoch noch.

        Gruß, Ashura

        1. Hallo Ashura,

          bitte vergleiche mal diese beiden Dateien, sie unterscheiden sich NUR darin, dass sie verschiedene CSS- Dateien aufrufen:

          3- spaltig (Datum | Zeit | Veranstaltung):
          http://www.aktivferien.de/leutershausen2a.htm

          2- spaltig (Zeit | Veranstaltung), Datum ist Überschrift:
          http://www.aktivferien.de/leutershausen2b.htm

          Natürlich. Das div-Element wird ja hierbei auch schließlich genau dafür eingesetzt, wofür es geschaffen wurde: zum Gruppieren anderer Elemente.
          Warum sträubst du dich so gegen den sinnvollen Einsatz des div-Elementes?

          Weil der div- Tag ein HTML- Element ist. Damit entscheide ich in der HTML- Datei über das Layout. Das will ich aber mit CSS machen.

          Ist es möglich, aus HTML- Fließtext mit CSS Spalten zu machen, vorausgesetzt natürlich, CSS kann irgendwie "angreifen"?

          Hæh?

          Vergleiche bitte die beiden obigen Datene.

          Einen schönen Mittwoch noch.

          LG Kalle

          1. Hallo Kalle_.

            Warum sträubst du dich so gegen den sinnvollen Einsatz des div-Elementes?

            Weil der div- Tag ein HTML- Element ist. Damit entscheide ich in der HTML- Datei über das Layout. Das will ich aber mit CSS machen.

            Wenn du das so siehst. Wenn du aber *eindeutig* eine Gruppierung von Inhalt vornehmen möchtest, hast du gar keine Wahl. Dafür ist das div-Element da.

            Vergleiche bitte die beiden obigen Datene.

            Ich sehe dort einen Missbrauch des span-Elementes, wo eine Tabelle (oder notfalls auch eine Liste) angemessen wäre.

            Einen schönen Mittwoch noch.

            Gruß, Ashura

            1. Hallo Ashura,

              Vergleiche bitte die beiden obigen Datene.

              Ich sehe dort einen Missbrauch des span-Elementes, wo eine Tabelle (oder notfalls auch eine Liste) angemessen wäre.

              Was heißt "Mißbrauch"? Ich kenne NUR das <span> Element, dass zunächst einen Fliesstext (sagt dir dieser Begriff etwas? ==> OHNE Gestaltung, OHNE Zeilenumbrüche) unverändert zulässt.
              <span>Dies ist</span> <span>eine Zeile</span>
              WAHRHEIT

              Ein <div> stattdessen erzwingt mindestens einen Zeilenumbruch und ist damit ein LAYOUT- Element. Soweit richtig?
              <div>Dies ist</div> <div>eine Zeile</div>
              LÜGE !!!!

              LG Kalle

              1. Hallo Kalle_.

                Was heißt "Mißbrauch"? Ich kenne NUR das <span> Element,

                Mein Beileid.

                dass zunächst einen Fliesstext (sagt dir dieser Begriff etwas? ==> OHNE Gestaltung, OHNE Zeilenumbrüche) unverändert zulässt.

                Tabellarische Daten (sagt dir dieser Begriff etwas?) gehören in eine Tabelle, nirgendswo anders hin.

                Ein <div> stattdessen erzwingt mindestens einen Zeilenumbruch und ist damit ein LAYOUT- Element. Soweit richtig?

                Falsch.
                Nichts, nichts, absolut garnichts in HTML hat etwas im Entferntesten mit optischer Darstellung zu tun.
                Jegliche Darstellungsangaben--ob vom Autor des HTML-Dokumentes oder den Programmierern des Anzeigegerätes--obliegt CSS.

                <div>Dies ist</div> <div>eine Zeile</div>
                LÜGE !!!!

                div {display:inline;}

                Und nun?

                Einen schönen Mittwoch noch.

                Gruß, Ashura

            2. Lieber Ashura,

              Ich sehe dort einen Missbrauch des span-Elementes, wo eine Tabelle (oder notfalls auch eine Liste) angemessen wäre.

              das ist absolut richtig.

              Es ist auch als HTML-Tabellen-Daten möglich, diese per CSS in eine andere Darstellung zu zwingen. Ob Kalle_ nun SPANs oder ein TABLE einsetzt, ist nur von semantischer Bedeutung. Wie das dann aussieht ist alleine eine Frage von CSS.

              Mein Vorschlag: Kalle sollte eine HTML-Tabelle (mit einer ID!) ausgeben, die man dann per CSS in eine gewünschte Darstellung bringen kann. Es wird sinnvoll sein, für jedes in der Tabelle verwendete TAG ein CSS-Ruleset zu definieren...

              Liebe Grüße aus Ellwangen,

              Felix Riesterer.