einsiedler: Anfänge mit GRID: HTML- und CSS-Sheets korrekt strukturieren

Start mit GRID

Hallo liebe Forumer,

nach einer langen Abstinenz vom Forum habe ich nun erneut Fragen zu einem Projekt das ich mit Grid umsetzen möchte.

Ich möchte alles so einfach wie möglich halten, schlicht Fotos / Videos und einen Kurztext dazu, ähnlich einem Blog, öffentlich machen.

Mir ist klar das alles noch nicht perfekt ist, aber durch eure Mithilfe wäre ich zumindest näher daran.

Ich habe mal verschiedene Versionen von allem erstellt, da ich nicht sicher bin ob die Struktur (das Grid / Flexbox - Raster) jeweils so richtig ist.

Projekt A) - schlichter BLOG (ohne Menüführung)

Sub-Projekt B) - Version mit Menüführung

Ich möchte anmerken, ich verwende hier noch Blindtexte und diverse Vorschau / Ansichts Fotos und Videos.

===

Projekt A) - schlichter BLOG (ohne Menüführung)

LINK: Testseite_V8

1a) Grundsätzliches zum Grid - Raster:

Ist es erforderlich das angefangen vom obersten html über body, main bis zum verschachtelsten, untersten div, komplett alles mit display: grid; "durchgerastert" wird?

Oder kann ich einmal beispielsweise dem main ein grid mitgeben und weiterhin einer untergeordneten section ebenso ein display: grid; wie ich es einfach benötige?

Ist dies legitim?

Siehe bitte meine Beispielsseite.

2a) Frage zu inline-size

Breiten von nav id="skip-to-section" / header class="subheader" / details class="related-links" --- mit inline-size korrekt festlegen!

Bisher habe ich immer das Problem damit, auch wenn ich % - Angaben verwende, dann passiert es, das das jeweilige grid Raster dem ganzen Raster nach ausserhalb überspringt / überlagert. So gehört sich das aber nicht. Auch möchte ich diese Elemente zentrieren, das gelingt mir aus irgendeinem Grund auch nicht, auch nicht mit justify-items

Kann mir jemand zeigen wie es richtig geht?

3a) "to-the-top" Botton --- beim vertikalen auf- und abscrollen zum schnellen anklicken "nach oben"

Zum "to-the-top" Botton gibt es noch eine anders gelöste Version, momentan ist es hier so, das der "Sprung-Botton-Pfeil" jeweils innerhalb eines "section - Bereiches" " vertikal auf und ab" fährt.

Bei einer anderen Version ist dieser "Sprung-Botton-Pfeil" übergreifend aller sections, bleibt aber innerhalb des übergeordneten article. Hier habe ich das Raster dementsprechend geändert. Näheres später bei der "Version mit Menüführung" zum anschauen.

Villeicht verwirrend beschrieben, deshalb einfach mal angucken.

Hier nun meine Frage: Ob man es so löst oder ob es noch anders, allerdings ohne JS, "machbar" ist.

!!! Wichtig ist mir hier allerdings dabei. das bei einem verschmälerten Bildschirmfenster dieser Botton jeweils unter einer section steht, da immer ein "to-the-top" Botton beim vertikalen auf- und abscrollen zum schnellen anklicken verfügbar sein soll.

Ich hoffe es ist verständlich.

4a) Größe eines Videos

Die Bitrate meines Videos liegt bei mir bisher immer bei 1100 kbps bei einer maximalen Länge des Videos von 2 - 3 Min. Ist das zuviel und kann ich dies noch um einiges verringern. Ich frage, weil das Video ja noch "geladen" werden muss und deshalb "zu gross" ist und eine lange Ladezeit benötigt.

Sub-Projekt B) - Version mit Menüführung

Hier, um das oben beschriebene mit den "to-the-top" Botton deutlicher zu machen.

LINK : Testseite_V7b2

Link : Testseite_V7b1

Dann eine Version mit fixed Menüs :

LINK : Testseite_V7d.html

und LINK : Testseite_V7c.html

Das mit dem fixieren der Menüs hat nach meiner Ansicht mehr Nachteile, vorallem wenn man die Schrift vergrößert, weniger wenn man das Bildschirmfenster zusammenschiebt.

Wenn man natürlich die querie-Abstände so geschickt setzt würde es weniger auffallen. Was denkt ihr dazu?

Weitere Fragen zum zweiten Projekt muss ich grad noch formulieren.

An die lustigen Witzbolde unter euch mit irgendwelchen Spökskes, unterlasst es einfach hier etwas beizutragen. Danke.

Grüße T.

  1. Noch zu : Sub-Projekt B) - Version mit Menüführung

    Könnt ihr mir bitte zeigen wie man die Menüführung korrekt mit aria-label bestückt. Das ist noch ein weiterer Punkt.

    Bei den nachfolgenden Versionen überlagert der Menübereich den Contentbereich, die Buttons habe ich mal sticky gemacht, was ich gesamt nicht grad Ideal finde. was denkt ihr?

    Eigentlich würde ich es so wollen das der Contentbereich immer gleich breit bleibt beim ausdehnen des Menüs, deshalb die Überlegung mit der Überlagerung. Hier muss sicher auch noch mit position: absolute und relative gearbeitet werden, oder?

    !!! Achso, noch eine Frage: Ist es notwendig das es zusätzlich noch eine flexbox-Alternative der Seite gibt oder ist dies heutzutage unerheblich?

    T.

  2. Servus!

    1a) Grundsätzliches zum Grid - Raster:

    Ist es erforderlich das angefangen vom obersten html über body, main bis zum verschachtelsten, untersten div, komplett alles mit display: grid; "durchgerastert" wird?

    Nein, ein Raster wird nur für ein Element und seine direkten Kind-Elemente, aber nicht für die Kindes-Kind-Elemente angelegt.

    Oder kann ich einmal beispielsweise dem main ein grid mitgeben und weiterhin einer untergeordneten section ebenso ein display: grid; wie ich es einfach benötige?

    Ist dies legitim?

    Ja genau!

    body {
      display:grid;
      grid-template-columns: repeat(3,fr);
    }
    
    footer {
      grid-column: 1 / -1;
      display:grid;
      grid-template-columns: repeat(3,fr);
    }
    

    Siehe bitte meine Beispielsseite.

    2a) Frage zu inline-size

    Breiten von nav id="skip-to-section" / header class="subheader" / details class="related-links" --- mit inline-size korrekt festlegen!

    Bisher habe ich immer das Problem damit, auch wenn ich % - Angaben verwende, dann passiert es, das das jeweilige grid Raster dem ganzen Raster nach ausserhalb überspringt / überlagert.

    Das Grid überlässt dem Browser die Breitenberechnung. Ich würde da nicht reinpfuschen!

    So gehört sich das aber nicht. Auch möchte ich diese Elemente zentrieren, das gelingt mir aus irgendeinem Grund auch nicht, auch nicht mit justify-items

    CSS/Tutorials/Grid/Ausrichtung_von_Grid-Items

    An die lustigen Witzbolde unter euch mit irgendwelchen Spökskes, unterlasst es einfach hier etwas beizutragen.

    Schade, Humor gehört doch dazu.

    Herzliche Grüße

    Matthias Scharwies

    --
    Die Signatur findet sich auf der Rückseite des Beitrags.
    1. Bist auch nicht gemeint, denn Du hast ja einen konstruktiven Beitrag geleistet der wenigstens einen meiner Fragen beantwortet. Danke. +1 Bewertung

  3. Zur Teilfrage 2a) inline-size

    Nun das Skip - Menü intern etwas konkreter:

    <nav id="skip-to-section" aria-labelledby="skip-to-section-label" class="skip-navi-intern">
    		<p id="skip-to-section-label" class="visually-hidden">Section - Skip</p> 
    		<details class="site-navigation">
    			<summary class="site-navigation-header">
    				Site-Navigation
    			</summary>					
    			<ul class="section-skiplinks">
    				<li><a href="#blogartikel05">30-07-2024<span>18:00 Uhr</span></a></li>
    				<li><a href="#blogartikel04">28-07-2024<span>16:45 Uhr</span></a></li>
    				<li><a href="#blogartikel03">20-06-2024<span>11:25 Uhr</span></a></li>
    				<li><a href="#blogartikel02">18-06-2024<span>16:30 Uhr</span></a></li>
    				<li><a href="#blogartikel01">16-06-2024<span>11:20 Uhr</span></a></li>
    			</ul>
    		</details>
    </nav>
    

    Sollte es so einfach sein das wenn man der nav ein display flex mitgibt + einem justify-content center und dem details meinetwegen ein width mit 80%, das ich so die Breite des Elementes beeinflusse? Wäre das in meinem Fall so korrekt?

    Wen ich allerdings noch die Hintergrundfarbe die ich jetzt dem nav gegeben hab dem details mitgebe, würde es mir sogar gefallen.

    Ist es etwa so einfach?

    Aber wie mache ich es hier beim Subheader?

    <header class="subheader">
    	<hgroup>
    						<h2>The Walking Dead: <span>Dead City</span></h2>
    						<p><span>Who's There?</span> - <span>25. Juni 2023</span></p>
    			
    			<div>
    						<p class="blogpost"><span>Posting vom</span> 18-06-2023 -- 16:30 Uhr -- Admin</p>
    						<ul>
    							<li class="tags"><a href="https://www.facebook.com/hashtag/TheWalkingDead">#TheWalkingDead</a><a href="https://www.facebook.com/hashtag/DeadCity">#DeadCity</a><a href="https://www.facebook.com/hashtag/Negan">#Negan</a></li>
    						</ul>
    			</div>
       </hgroup>
    </header>
    

    klar, die Klasse .subheader bekommt ein display flex mit + einem justify-content center , der hgroup ein width 80%? T.

    1. Hallo einsiedler,

      Sollte es so einfach sein das wenn man der nav ein display flex mitgibt + einem justify-content center und dem details meinetwegen ein width mit 80%, das ich so die Breite des Elementes beeinflusse? Wäre das in meinem Fall so korrekt?

      Wen ich allerdings noch die Hintergrundfarbe die ich jetzt dem nav gegeben hab dem details mitgebe, würde es mir sogar gefallen.

      Ist es etwa so einfach?

      Keine Ahnung. Bislang ist es Dir nicht gelungen, mir auch nur ansatzweise verständlich zu machen, was Du eigentlich erreichen möchtest, und was Du bei deiner aktuellen V8 Seite für falsch oder unzulänglich hältst. Du schreibst, dass der Versuch einer Breitenfestlegung mit dem Grid in Konflikt steht. Dazu fällt mir nur ein "Hä?" ein, denn das nav Element ist in keinem Grid.

      Zur Zeit ist <main> ein einfaches Blockelement, in dem sich 5 Kindelemente befinden (header, nav, article, article, footer). Diese werden in ihrer natürlichen Größe dargestellt, d.h. jedes der 5 ist so breit wie <main> und so hoch wie der Inhalt es erfordert.

      Flexbox wirkt auf die direkten Kindelemente eines Elements. D.h. wenn Du <nav> zur Flexbox machst, gibt es zwei Flexitems: das verborgene p mit id=skip-to-section-label (dessen Sinn ich nicht verstehe) und das details-Element. Ich bezweifle, dass Du damit viel anfangen kannst.

      Das skip-to-section-label Element soll wohl eine Beschriftung für das nav Element bilden. Muss das sein? Ich habe keine Ahnung. Ich hätte das weggelassen und das <summary>-Element als Überschrift für die Navigation als hinreichend empfunden.

      Update: Ich habe jetzt noch einen Blick auf die V7 Seiten geworfen, wo sich alles zusammenschiebt, wenn man das Menü aufklappt. Wenn das Dein Problem ist, ok. Das liegt daran, dass das Grid so gestaltet ist, dass sich die Spurbreiten an ihren Inhalt anpassen. Wenn Du dem ul, das die Hauptmenüpunkte enthält, position:absolute; und right:0 gibst, und dann die Hintergrundfarben undurchsichtig machst, passiert das nicht mehr, dann überlagert das Menü den Inhalt. Da musst Du natürlich schauen, für welche Medienbreiten Du das machst. Ob Du Dir damit andere Probleme einfängst, weiß ich spontan nicht.

      Und wie gesagt: eigentlich weiß ich ja auch nicht, wo Du genau hinwillst. Das ist aus der Masse schwierig herauszufiltern. Oder ich bin einfach zu doof, kann auch sein. Normalerweise würde ich, wenn ich in M. wäre und mit Dir am Tisch Business Analyse betriebe, Skizzen der Seite erstellen, aus denen erkennbar ist, welche Box sich wo befinden soll. Und das jeweils für die möglichen Zustände. Was sich wie überlappen soll, oder auch nicht. Die Skizzen müssen nicht ausgefeilt sein. Da reichen ein paar Rechtecke, die mit Paint gezogen werden. Das nennt sich „Wireframe-Darstellung“.

      Für mich selbst mach ich sowas nicht. Weil ich meine Skizzen im Kopf habe und zumeist das CSS dafür auch hinbekomme. Aber wenn ich es nicht schaffe und jemanden um Hilfe bitten müsste, mit dem ich keine Livesession machen kann, dann würde derjenige von mir sicherlich auch Wireframes verlangen.

      Rolf

      --
      sumpsi - posui - obstruxi
    2. @@einsiedler

      <nav id="skip-to-section" aria-labelledby="skip-to-section-label" class="skip-navi-intern">
      		<p id="skip-to-section-label" class="visually-hidden">Section - Skip</p>
      

      Gut, dass du da (visuell versteckt) etwas hast, was die Bedeutung dieses Abschnitts (landmark) angibt. Aber: das sollte eine Überschrift sein. Also nicht p, sondern h2 oder welches Level bei deiner Struktur richtig ist.


      <header class="subheader">
      	<hgroup>
      						<h2>The Walking Dead: <span>Dead City</span></h2>
      						<p><span>Who's There?</span> - <span>25. Juni 2023</span></p>
      			
      			<div>
      						<p class="blogpost"><span>Posting vom</span> 18-06-2023 -- 16:30 Uhr -- Admin</p>
      						<ul>
      							<li class="tags"><a href="https://www.facebook.com/hashtag/TheWalkingDead">#TheWalkingDead</a><a href="https://www.facebook.com/hashtag/DeadCity">#DeadCity</a><a href="https://www.facebook.com/hashtag/Negan">#Negan</a></li>
      						</ul>
      			</div>
         </hgroup>
      </header>
      

      Das hgroup-Element scheint mir hier unangebracht zu sein. header als Container reicht.

      Kwakoni Yiquan

      --
      Ad astra per aspera
      1. Hallo Gunnar,

        Gut, dass du da (visuell versteckt) etwas hast, was die Bedeutung dieses Abschnitts (landmark) angibt.

        Zugänglichkeit macht mich immer wieder fertig. Muss man das in dieser aufwändigen Pracht machen? Klar, wenn's mehr als ein nav gibt, ist ein Label sinnvoll. Aber reicht da nicht aria-label="Section - Skip"?

        Was als „Navigationsbereich Section Skip“ vorgelesen würde. Und dann kommt das Details-Element mit dem Summary. Ist das ideal?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. @@Rolf B

          Zugänglichkeit macht mich immer wieder fertig. Muss man das in dieser aufwändigen Pracht machen? Klar, wenn's mehr als ein nav gibt, ist ein Label sinnvoll. Aber reicht da nicht aria-label="Section - Skip"?

          Hattest du das nicht schon mal gefragt? (Rhetorische Frage, du musst nicht drauf antworten. 😉)

          Das Archiv vergisst nicht.


          Was als „Navigationsbereich Section Skip“ vorgelesen würde. Und dann kommt das Details-Element mit dem Summary. Ist das ideal?

          Nö, „Section - Skip“ als Überschrift ist sicher nicht ideal. Hatte ich in meinem vorigen Posting vergessen zu erwähnen.

          Und auch die Berichtigung des falsch gesetzten Bindestrichs in einen Gedankenstrich würde das nicht wirklich verbessern. Oder war ein Bindestrich gemeint und die Leerzeichen müssten weg?

          Kwakoni Yiquan

          --
          Ad astra per aspera
          1. Dieser Beitrag wurde gelöscht: Der Beitrag ist ein Duplikat eines anderen Beitrags.
          2. Leute, bitte verwirrt mich nicht so.

            Kann ich es so nun machen oder nicht?

            <nav id="skip-to-section" aria-labelledby="skip-to-section-label" class="skip-navi-intern">
            		<h6 id="skip-to-section-label" class="visually-hidden">Section - Skip</h6>
            

            T.

            1. @@einsiedler

              <nav id="skip-to-section" aria-labelledby="skip-to-section-label" class="skip-navi-intern">
              		<h6 id="skip-to-section-label" class="visually-hidden">Section - Skip</h6>
              

              Nicht irgendwelche Überschriftlevel verwenden, sondern das passende. Dabei keine überspringen. (Punkt 4 auf der Liste)

              Die Seitenüberschrift ist h1. Davon sollte es nur eine geben. Die Überschrift für die Navigation ist i.d.R. eine Ebene darunter, also h2.

              Die Überschrift ist schon die Bezeichnung für einen Bereich; ARIA braucht man dann keins:

              <nav id="skip-to-section" class="skip-navi-intern">
                <h2 class="visually-hidden">Section - Skip</h2>
              

              Beispiel 1

              Mit aria-labelledby sollte es auch gehen; dann kanst du das Element (p oder div) aber gleich ganz verstecken:

              <nav id="skip-to-section" aria-labelledby="skip-to-section-label" class="skip-navi-intern">
                <p id="skip-to-section-label" hidden>Section - Skip</p>
              

              Beispiel 2

              Variante 1 ist wohl besser; dann kann das Navigations-Menü auch über das von Screenreadern angebotene Überschriften-Menü angewählt werden.

              Kwakoni Yiquan

              PS: Was soll „Section - Skip“ den Nutzern sagen? Mir sagt es nichts.

              --
              Ad astra per aspera
              1. Nunja, anhand, zum Beispiel eines bekannten Datums, kann man direkt zu diesem Artikel dorthin-springen, wenn man nicht komplett alles von oben nach unten lesen will und speziell eben nur einige von diesen Eintragen.

                Dazu habe ich es gedacht.

                Meine Frage ist jetzt aber: Gilt auch Beispiel 1,wenn ich ein zusätzliches Hauptmenü habe wo man dann auf einer anderen Unter-Seiten springt?

                Könntest Du bitte auch etwas zu meinem Post vom 11.03.2024 22:58 sagen? Ich würde gerne nachher etwas weiterkommen. Ich komme da mit der Kurzschreibweise nicht zurecht (2te Beispiel)

                grid: "main-head navigations" 1fr 16em
                			"main main content" auto / 1fr 60%;
                

                Erste zeile: Da wird für main-head 1fr berechnet (der Platz was übrig bleibt wenn navigations 16em ist) und navigations exakt 16em ist.

                Doch jetzt die zweite Zeile: Das erste auto bezieht sich auf die HÖHE (rows) das zweite 1fr nochmal auf main-head und der content wird 60% breit.

                Ist das so?

                T.

                1. Hallo einsiedler,

                   grid: "main-head navigations" 1fr 16em
                         "main main content" auto / 1fr 60%;
                  

                  so geht's nicht - bzw. ich weiß gar nicht, was der Browser sich daraus dann zurechtbastelt.

                  Die grid-Eigenschaft fasst grid-template-areas, grid-template-rows und grid-template-columns zusammen (und noch ein paar mehr, die ignorieren wir jetzt mal).

                  Für grid-template-areas ist es wichtig, dass die benannten Bereiche ein sauberes Rechteck bilden. D.h. in den Strings müssen für jede Zeile gleich viele Namen stehen (oder ein Punkt für unbenannte Bereiche). Bei Dir stehen aber in der ersten Zeile 2 Namen und in der dritten Zeile 3 Namen.

                  Wenn Du ein Konstrukt dieser Art hast (foo, bar, baz und hurz sind die Area-Namen):

                     +---------------+-----------------+------------------+
                     |  foo                            |  bar             |
                     |                                 |                  |
                     +---------------+-----------------+------------------+
                     |  baz          |  hurz                              |
                     |               |                                    |
                     +---------------+-----------------+------------------+
                  

                  dann hat dein Grid de facto 3 Spalten und die Bereiche foo und hurz überdecken jeweils zwei Spalten. Für die grid-Areas beschreibst Du das so:

                     grid-template-areas: "foo foo  bar"
                                          "baz hurz hurz";
                  

                  Die Namen müssen nicht übereinander stehen, das hilft nur bei der Lesbarkeit.

                  Der Übergang von der Eigenschaft grid-template-areas zur Sammeleigenschaft grid geht nun so, dass Du hinter jeden String, der eine Zeile beschreibt, die gewünschte Zeilenhöhe setzt. Und hinter all das machst Du einen Schrägstrich und legst die Spaltenbreiten fest. Es hilft, den Schrägstrich und die Spaltenbreiten auf eine eigene Zeile zu setzen, dann kann man das wunderbar unter den Spaltenbezeichnungen verteilen:

                     grid-template-areas: "foo  foo  bar"  1em
                                          "baz  hurz hurz" 1fr
                                         / 10em 1fr  20%;
                  

                  Hat es das klarer gemacht?

                  Rolf

                  --
                  sumpsi - posui - obstruxi
                  1. Sorry lieber Rolf, habe mich da auch vertippselt, da ich mehrmals nachkorregiert habe.

                    In der zweiten Zeile sollte es auch "main-head content" heissen und nicht anders.

                    So wie Du es im Post beschrieben hast ist es mir jetzt klar. DANKE.

                    Jetzt schau ich mal, Dein Seitenlayout welches Du im Post von 10.03.2024 22:35 beschrieben hast, umzusetzen. Wenn die Hauptmenüführung nach Beschreibung funktioniert, wäre es toll.

                  2. Okay, noch eine Frage: Wenn ich nun ein Grid-Bereich überlagern möchte (wie in meinem Beispiel "Testseite_V7d.html") das Main-Menue und den "To-Top" Button:

                    Ähnlich wie hier NUR mit in der (anderen) Schreibweise:

                      .main-content {
                    		  display: grid;
                    
                    			grid-template-rows:    [row-1-start] autofit [row-2-start] autofit [row-3-start] autofit [row-4-end];
                    			grid-template-columns: [col-1-start] 1fr [col-2-start] 1fr [col-3-start] 1fr [col-4-start] 1fr [col-5-start] 14rem [col-5-end];
                    			
                    			gap: 0;		
                    		}
                    		
                    	.main-head {
                    			grid-row: 1 / 2;
                    			grid-column: 1 / col-5-end;
                    		}
                    	.articlebox {
                    			grid-row: 2 / 3;
                    			grid-column: 1 / col-5-end;
                    		}
                    	.footerbox {
                    			grid-row: 3 / 4;
                    			grid-column: 1 / col-5-end;
                    		}
                    	#navigations {
                    			grid-row: 2 / 3;
                    			grid-column: 5 / col-5-end;
                    			z-index: 10;
                    		}
                    

                    Geht dies auch mit dieser Schreibweise:

                    body {
                     display: grid;
                    
                     grid: "main-head content content" 1fr auto auto
                              "main-head content content" auto / 1fr auto auto;
                    

                    Nun möchte ich in der ersten Zeile (ROW) beim zweiten content die Navigation überlagernd abbilden und im zweiten ROW beim letzten content den "To-Top"-Button.

                    Jetzt mal zur Übung.

                    Geht das auch?

                    In etwas mit:

                    body >  .contentbox {
                      grid-area: content;
                      }
                    
                    body .contentbox > #navigations {
                      grid-area: content;
                      grid-row: 1 / 1;
                      grid-column: 3 / col-4-start;
                    	}
                    
                    body .contentbox > #skiptop {
                      grid-area: content;
                      grid-row: 2 / 2;
                      grid-column: 3 / col-4-start;
                    	}
                    

                    T.

                    1. Hallo einsiedler,

                      Geht dies auch mit dieser Schreibweise:

                      body {
                       display: grid;
                      
                       grid: "main-head content content" 1fr auto auto
                                "main-head content content" auto / 1fr auto auto;
                      

                      Nun möchte ich in der ersten Zeile (ROW) beim zweiten content die Navigation überlagernd abbilden und im zweiten ROW beim letzten content den "To-Top"-Button.

                      Ja. Geht. Wird aber hässlich.

                      Zur Erklärung: Ein Grid besteht aus den Gridzellen, die in Zeilen und Spalten verteilt sind. Vor, zwischen und hinter den Zeilen und Spalten sind die Gridlinien. Wie hier gezeigt. Die Linien sind ab 1 nummeriert, d.h. bei 4 Spalten hast Du vertikale Gridlinien von 1-5.

                      Gridlinen können Namen bekommen. So ein Name kann "hugo" sein, aber auch "main-start" oder "main-end".

                      Liniennamen müssen nur in einer Richtung eindeutig sein. Es ist okay, wenn Du eine horizontale Linie "content-start" und eine vertikale Linie "content-start" hast.

                      Wenn Du für ein Element festlegst, wo es hin soll, kannst Du grid-area verwenden. Das ist eine Sammeleigenschaft für grid-row und grid-column. Die grid-area Eigenschaft hat viele Syntaxe. Eine ist grid-area: 1/2/3/4, was bedeutet: Beginne ab Zeilenlinie 1, ab Spaltenlinie 1, gehe bis Zeilenlinie 3, bis Spaltenlinie 4.

                      Man kann auch benannte Linien verwenden. grid-area: hugo / otto / foo / bar. Funktioniert, wenn Du entsprechende Linien festgelegt hast.

                      Und jetzt kommts. Wir haben bisher schändlich gelogen. Das Festlegen von Bereichsnamen mit der grid-Eigenschaft erzeugt in Wahrheit gar keine Bereiche! Es erzeugt Linien. Dein Beispiel würde diese Linien erzeugen:

                      Vertikal:
                        main-head-start=1
                        main-head-end=2
                        content-start=2
                        content-end=4
                      Horizontal:
                        main-head-start=1
                        main-head-end=3
                        content-start=1
                        content-end=3
                      

                      D.h. zu jeder benannten Area gehören 2 horizontale und 2 vertikale Linien, die den Namen der Area zusammen mit -start oder -end tragen.

                      Das geht auch andersrum. Ich kann einfach die passenden Linien erzeugen. Und dann mit grid-area: foo; festlegen, dass die Zelle vertikal von foo-start bis foo-end und horizontal von foo-start bis foo-end geht. Immer beachten: horizontales foo-start und vertikales foo-start sind zwei verschiedene Dinge.

                      Wie mixt man Liniennamen mit benannten Bereichen?

                      Liniennamen definierst Du mit [name]. Oder mit [name1 name2 name3], wenn du einer Linie mehrere Namen geben willst. Das weißt Du.

                      Nun musst Du diese Definitionen exakt an der richtigen Stelle in der grid-Eigenschaft hinschreiben. Ich habe diese Stellen mal mit *1 bis *7 durchnummeriert.

                      body {
                         display:grid;
                         grid:    [*1]  "a   b   c"   1fr  [*2]
                                  [*3]  "d   e   f"   2fr  
                                        "g   h   i"   3fr  [*4]
                                   /  [*5] 1fr [*6] 2fr [*6] 3fr [*7];
                      

                      Das ist ein 3×3 Grid mit 9 benannten Bereichen. Von Hause aus hat es also bereits 36 Namen für Rasterlinien vergeben, von a-start bis i-end.

                      Du kannst jetzt beispielsweise an Stelle *1 [menu-start] hinschreiben. Diese Stelle befindet sich vor der ersten Zeile, entspricht also der horizontalen Rasterlinie 1. Wenn Du an Stelle *2 [menu-end] hinschriebest, wäre das nach der ersten Zeile, also Rasterlinie 2. Die Stelle *3 ist vor der zweiten Zeile, was ebenfalls Rasterlinie 2 ist. Und wenn Du an Stelle *4 einen Namen setzt, ist er unter der letzten Zeile.

                      Vertikale Rasterlinien legst Du dort fest, wo das Spaltentemplate steht, d.h. genau wie bei grid-template-columns.

                      Möchtest Du also eine benannte Gridzelle haben, die in Spalte 3 ist und die Zeilen 1-3 einnimmt, müsstest Du das im abcdefghi-Beispiel so machen:

                      body {
                         display:grid;
                         grid: [menu-start]  "a   b   c"   1fr
                                             "d   e   f"   2fr  
                                             "g   h   i"   3fr  [menu-end]
                                          /  1fr 2fr [menu-start] 3fr [menu-end];
                      

                      Und dann kann dein Menübereich einfach grid-area:menu sagen und ist in der ganzen dritten Spalte. Ob er über oder unter anderen Elementen ist, hängt von der HTML-Reihenfolge ab. Oder vom z-index.

                      Hat das geholfen?

                      Rolf

                      --
                      sumpsi - posui - obstruxi
                      1. Sehr sehr GUT erklärt. PRIMA. Bin jetzt zwar beim 3ten mal durchlesen und mein Hirn verknotet sich nicht mehr so stark wie am Anfang. Das ist echt ein Paar mal "um die Ecke denken".

                        Nun geht es weiter.

                        Grüße T.

                        1. Hallo einsiedler,

                          ich habe noch was gelernt: Wenn ich in grid-area auf benannte Linien Bezug nehme, dann wird dieser Name kontextabhängig interpretiert.

                          Zunächst einmal wird aber die Kurzform grid-area: a auf die volle Form expandiert. Dazu gibt es Regeln. Die Spezfikation sagt dazu:

                          • fehlt der zweite Wert und ist der erste Wert ein Name, verwende den ersten Wert auch für den zweiten Wert -> grid-area: a / a;
                          • fehlt der dritte Wert und ist der erste Wert ein Name, verwende den ersten Wert auch für den dritten Wert -> grid-area: a / a / a;
                          • fehlt der vierte Wert und ist der zweite Wert ein Name, verwende den zweiten Wert auch für den vierten Wert -> grid-area: a / a / a / a;

                          Dies sind vier Namen, für Startzeile, Startspalte, Endzeile und Endspalte. Laut Spezifikation sind das aber nicht die Liniennamen, sondern CSS fügt für Startzeile und Startspalte automatisch ein -start an und für Endzeile und Endspalte automatisch ein -end.

                          ES SEI DENN – und das steht nicht in der Spec, wird von meinem Browser aber gemacht –, DER NAME EXISTIERT ALS LINIENNAME.

                          Wenn ich dein Grid herbeinehme und etwas modifiziere, dann könnte man den Bereich für .content-box auch so definieren:

                          body {
                            grid: "head  content  menu" 1fr 
                                  "head  content  menu" auto    /* <--- Äh. Hä? */
                                 /  1fr auto auto;
                          }
                          
                          body > .content-box {
                             /* vertikal von content-start bis content-end */
                             grid-row: content;
                             /* horizontal content-start bis menu-end */
                             grid-column: content / menu;
                             /* oder alles in einem, verwirrt mich aber jedes Mal: */
                             grid-area: content / content / content / menu;
                          }
                          

                          Wobei da jetzt noch was faul ist - zwei Grid-Zeilen mit identischen Namen ergeben keinen Sinn. Das kann dann genauso gut nur eine Zeile sein.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
                      2. Schau mal bitte:

                        body {
                        	display grid;
                            height: calc(100vh - 16px);
                        	grid:   [main-navigation-start] "main-head   main-head                        main-head"           1fr  [main-navigation-end]
                        								/       1fr          1fr      [main-navigation-start] auto [main-navigation-end]
                        								
                                    [to-top-button-start]   "articlebox  articlebox                       articlebox"          1fr
                        								/       1fr          1fr           1fr
                        									
                                                            "articlebox  articlebox                       articlebox"          1fr  [to-top-button-end]  
                        			                    /       1fr          1fr      [to-top-button-start]   1fr  [to-top-button-end]
                        			
                        			                        "mainfooter   mainfooter   mainfooter"   auto
                        								/       1fr          1fr           1fr;
                        }
                        
                        .main-head {
                        	grid-area: main-head;
                        }
                        .articlebox {
                        	grid-area: articlebox;		
                        }
                        .footerbox {
                        	grid-area: mainfooter;		
                        }
                        #navigations {
                        	grid-area: main-navigation;
                        }
                        
                        #to-top-button {
                        	grid-area: to-top-button;
                        

                        Gruß T.

                        1. Hallo einsiedler,

                          nein.

                          Die Spaltendefinition gibt's nur einmal, nicht nach jeder Zeile. Wenn Du zusätzliche vertikale Linien definierst, dann gehen die durch's ganze Grid, von oben bis unten.

                          Für main-navigation und to-top-button kannst du eigene Line-Namen verwenden, musst Du aber eigentlich nicht. Der To-Top Button ist ja in der gleichen Spalte wie die main-navigation.

                          Warum Du drei Spalten hast und nicht nur 2, wird vermutlich deinem restlichen Kram geschuldet sein.

                          Ich habe mal etwas gebastelt, was vielleicht deinen Ideen entspricht und mit Line-Namen sparsamer ist:

                          https://jsfiddle.net/sf3u94jh/

                          body {
                            display: grid;
                            grid: "main-head   main-head   main-head" auto
                                  "article-box article-box article-box" 1fr
                                  "main-footer main-footer main-footer" auto
                                / 1fr 1fr [main-nav-start] auto [main-nav-end];
                          }
                          nav {
                            grid-area: main-head / main-nav;
                          }
                          nav details {
                            position: relative;
                          }
                          nav details > ul {
                            position: absolute;
                            right:0;
                            width: max-content;
                            margin: 0;
                            padding: 0 1em;
                            list-style: none;
                          }
                          #to-top-button {
                            grid-area: article-box / main-nav;
                            place-self: end center;
                            margin-bottom: 2em;
                          }
                          

                          grid-area: main-head / main-nav sorgt dafür, dass sich dieses Element in y-Richtung an main-head orientiert und in x-Richtung an main-nav. Das erspart Dir das Festlegen von zusätzlichen horizontalen Linien. Ich finde deine Grid-Definition wegen dieser Extralinien sehr unübersichtlich.

                          place-self ist eine Sammeleigenschaft für align-self und justify-self (in dieser Reihenfolge), damit kann ein Element festgelegen, wo es in seiner Zelle platziert werden will. Das überschreibt für dieses Element die justify-items und align-items Eigenschaften des Grids. end center ist unten in der Mitte. Und der margin-bottom schiebt es wieder 2em nach oben.

                          Es kann natürlich sein, dass das für Dich nicht funktioniert, wenn Du das Grid beim Umschalten an @media-Breakpoints umdefinierst. Das muss man dann schauen. Schlimmstenfalls musst Du es doch so machen, wie Du angefangen hast; das sähe dann so aus:

                          body {
                            grid: [main-nav-start] "main-head   main-head   main-head" auto [main-nav-end]
                                  [to-top-start]   "article-box article-box article-box" 1fr [to-top-end]
                                                   "main-footer main-footer main-footer" auto
                                                   /    1fr        1fr 
                                                [main-nav-start to-top-start] auto [main-nav-end to-top-end];
                          }
                          #navigations { grid-area: main-nav; }
                          #to-top-button { grid-area: to-top; }
                          

                          Der Zeilenumbruch in der Spaltendefinition ist nicht erforderlich, verbessert aber die Lesbarkeit, meine ich.

                          Die Navigation ist zuerst nur so breit wie das Summary-Element. Wenn Du sie aufklappst, wird sie breiter und auch höher. Das stört, deshalb sollte das Aufklappmenü absolut positioniert werden. Die für dich passenden Ränder und Paddings musst Du natürlich selbst rausfinden.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
  4. Hallo Einsiedler,

    schön, dass Du jetzt den offenen Weg gehst 😀

    Da hast Du uns ja einen ganzen Katalog vorgelegt. Es kann passieren, dass davon Punkte nicht angesprochen werden. Frage dann einfach nochmal nach. Und zumindest ich verstehe auch nicht alles, was Du meinst, glaube ich.

    Grid hat Matthias schon angesprochen. Du legst das Layoutmodul, das der Browser verwenden soll, für jedes HTML Element einzeln fest, und zwar das Modul, was für den jeweiligen Zweck das Richtige ist. Das Standardmodul ist Flow-Layout (was Du mit display:inline oder display:block bekommst).

    Grid für das <html> Element ist übrigens wenig sinnvoll. Dieses Element hat nur ein sichtbares Kindelement, den Body.

    Einen Flexbox-Fallback brauchst Du nicht. Vor ein paar Jahren hätte man das für den IE überlegen können, aber der ist offiziell tot. Also: Grid für jeden. Eine Doppelentwicklung mit Flexbox als Default und Grid als Enhancement wäre auch schwierig. Was Grid mit recht klarem HTML hinbekommt, verlangt bei Flexbox nach zusätzlichen divs. Und die stören das Grid dann auch noch. Lass das. Meine ich.

    Dein Thema mit inline-size verstehe ich nicht. Welches Element hat deiner Ansicht nach derzeit die falsche Breite? Was wäre richtig? Und was soll zentriert sein, ist es aber nicht? Wenn Dir irgendwas schief geht und Du nicht weißt, woran es liegt, dann bau es doch einfach in eine Testseite ein und lass uns gucken.

    Deine 7d Testseite hab ich nur kurz angeschaut. Die Layoutidee "Vertikale Überschriften" fehlt, ok. Beim Dropdown-Menü hab ich eine Weile gebraucht, bis ich verstanden habe, dass das Submenüs sind. War vermutlich eigene Doofkeit. Aber ich finde die Buttons (nicht: Bottons!!!) im Vergleich zum Menütext zu aufdringlich, da würdest Du sicherlich noch am Aussehen feilen wollen. Und was ist da fixed, außer dem "to top" Link?

    Einen Spökes muss ich machen: Verwende keine Pixel für Mediaqueries. Verwende em, die orientieren sich an der Basisschriftgröße der Seite. Wenn jemand den Text zoomt, passt em sich an, px aber nicht.

    Eine Idee für ein Seitenlayout wäre ggf. auch ein Grid im Body zu erzeugen, den Body auf 100vh Höhe zu setzen und dann Header und Navigation in die erste Row des Grids zu legen. Das main-Element kommt in die zweite Row und bekommt overflow-y:scroll. Dann scrollt nicht mehr der Body, sondern nur noch der main-Teil. Beim Inhalt der Navigation musst Du dann einen position:absolute-Container verwenden, damit sich beim Aufklappen nicht der ganze Main-Bereich verschiebt. Es sei denn, du willst das so… Ein solches Grid könnte rechts auch eine Spalte haben, in dem der "to top" Link herumschwebt.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Ja DANKE, so gefällt es mir auch... bisher...

      Zum inline-size, les da bitte auch meine übrigen antworten, hier die von 22:10 Uhr. Es geht mir da z.B. darum, die Breite der untergeordneten Elemente von nav festzulegen oder aber auch bei der Klasse .subheader die Breite zu verschmälern und mittig zu setzen.

      Beim Post von 22:10 ist eine meiner möglichen Lösungen, wo ich aber hier Frage, ob es wirklich so einfach ist.

      Um mein Konzept des Dropdown-Menü mit dem zusätzlichen to-top button zu verstehen würde ich bei jeder Testversion jeweils bei den Dev-Tools alle grids "anschalten" das man die Raster sehen kann, so ist es leichter alles zu verstehen. Das empfehle ich allen hier die im Thread mitwirken.

      Wichtig ist mir, das hatte ich schon mal geschrieben, das bei einem schmalen Browserfenster unter allen sections jeweils ein "to-top button" sich befindet um dann schneller mit dem Button nach oben zu scrollen.

      Weil hier mehrere labels und somit id`s im spiel sind, gebe ich den "to-top buttons" jeweils die id-nummer der darüberstehenden section (also #blogartikel01 , #blogartikel02 ... etc.

      Okay, also keine Pixel für Mediaqueries...

      Ich habe ein wenig bei den dev-tools herumgespielt, dort kann man ja auch in etwa sehen wie die Seite bei unterschiedlichen Handys etc. aussieht, und momentan passt es so ganz gut, jeweils vom aussehen her.

      Sprich, ich habe folgende Werte gefunden:

      600 px small tablet portrait -- 768 px large tablet portrait – 800 px phone small tablet landscape -- 1024 px large tablet landscape --

      und ich fand noch einige werte wie 600px, 980px, 1260px... u.s.w.

      Doch wie sieht es dann jetzt mit den den werten in em aus...

      Gibt es da auch, ich sag mal Richtlinien woran man sich hält. wo dann auch das Layout mit kleineren, schmaleren Handys passt?

      Momentan habe ich ein media-querie so gesetzt, das grid nur bis min-width 768px angewendet wird, das also bei kleineren Handyformaten schlicht alles tabellenartig untereinander wiedergegeben wird. So passt es mir ganz gut und sieht bei schmalen handys auch ganz gut aus.

      Dein letzteren Vorschlag finde ich ganz gut, werde ihn morgen mal umsetzen, ich möchte nur nicht das wenn man das main-Menü ausklappt sich dann auch die grid-Höhe der Hauptüberschrift nach unten verschiebt. Das sieht meiner Meinung nach nicht aus.

      Bitte schau Dir auch mal alle anderen Versionen an.

      Soweit für heute.

      Grüße T.

      1. @@einsiedler

        Sprich, ich habe folgende Werte gefunden:

        600 px small tablet portrait -- 768 px large tablet portrait – 800 px phone small tablet landscape -- 1024 px large tablet landscape --

        und ich fand noch einige werte wie 600px, 980px, 1260px... u.s.w.

        Da hast du an der falschen Stelle gesucht. Responsive design heißt nicht, Breakpoints an Stellen zu setzen, die sich an irgendwelchen gegenwärtig(!) handelsüblichen Geräten orientieren.

        Setze Breakpoints dort, wo es der Seiteninhalt erfordert. Das heißt bspw., von ein- auf zweispaltig dort umzuschalten, wo die Breite für die jeweiligen Spalteninhalte nebeneinander ausreicht. Wo das ist, kann also von Seite zu Seite verschieden sein. Du siehst, dass der Breakpoint vom Inhalt abhängt, nicht von 600, 768 oder sonstwelchen aus der Luft gegriffenen Zahlen.

        Wenn überhaupt. CSS Grid (und auch Flexbox) lassen sich ggfs. so einsetzen, dass man bspw. für ein-/zweispaltig gar keine Breakpoints braucht.

        Kwakoni Yiquan

        --
        Ad astra per aspera
    2. Zu Deiner idee:

      Du meinst also als oberstes Raster in etwa so:

      body {
      		height:100vh;
      		display grid;
      		grid-template-rows: 1fr 1fr; 
      		grid-template-columns: 1fr 16em;
      	}
      	
      header .main-head { 
        background: tomato; 
        grid-row: 1 / 2;
        grid-column:1 / 2; 
      }
      
      #navigations { 
        background: gold; 
        grid-row: 1 / 2;
        grid-column:2 / 2; 
      }
      
      main #main-content { 
        background: lightgreen; 
        grid-row: 2 / 2;
        grid-column: 1 / 2; 
      }
      

      Wäre das so richtig?

      Oder etwa so:

      html

      <body id="skip-to-top" class=" ">
      
        <header class="main-head">			
      	 <h1>Wandzeitung - <span>täglich Neuigkeiten</span></h1>		
      	</header>
      		
      	<aside id="navigations">
      		<nav id="main-nav" class="main-navi" aria-labelledby="mainnav-label">
      				   ...
      		</nav>
         </aside>
      
         <main id="main-content" class="main-content">
      
         </main>
      
      body {
      	display grid;
          height: calc(100vh - 16px);
      				
      		grid: 	"main-head navigations" auto
      					  "main main" auto / auto; 									
      		gap: 0;		
      		}
      
      		.main-head {
      			grid-area: main-head;
      		}
      		
      		.navigations {
      			grid-area: navigations;
      		}
      
      		main #main-content{
      			grid-area: main;
      		}
      

      Wie wäre es korrekter um da vorzugehen?

      Oder müsste ich header und nav (ohne aside) mit einem div zusammenfassen?

      T.

  5. Hallo liebe Forumer, habe nun etwas mehr Zeit gehabt und "weiter gebastelt".

    Wie gesagt handelt es sich hier immer noch um Fülltexte mit diversen Fotos + Videos um meine Idee einer einfachen Site zu veranschaulichen.

    Hier der Link zur Testseite V9a

    Ich habe mich jetzt mit dem TAB-SKIP beschäftigt, bitte probiert es mal aus ob es geht, sprachlich-vorgelesen wird im Edge alles genau nach Vorgabe. Eigentlich gefällt es mir so ganz gut, wenn es so korrekt ist, villeicht aber könnte man die TAB-LINKS versteckt links von der Überschrift hervor-erscheinen lassen wie bei diesem Webdesigner: Beispielseite TAB + TAB ... und schon... Nach diesem Vorbild habe ich mich orientiert.

    b) Die ganzen Menüsachen haben jetzt doch ein eigenes Row, sorry Rolf... Was mich gestört hat wenn der Hauptnavigations-Button überlagernd rechts auf der Überschrift wäre (wie Dein Vorgabe Beispiel), so ist es eben diese Überlagerung die recht schnell eintritt, wenn das Bildschirmfenster beispielsweise schmaler wird. So kann man dann die Überschrift nicht mehr lesen.

    Jetzt wo die beiden Navis in einer eigenen Row sind kann ich mir überlegen ob, wenn das Bildschirmfenster zu schmal wird, nicht eine Navi in eine nächste Zeile rutscht. So wie es schon ist wenn man das Bildschirmfenster ganz verschmälern würde, also dann untereinander steht. Die Reihenfolge kann man ja im html festlegen.

    c) Zu den Related - Links, immer am Ende einer SECTION Die habe ich mit einem übergeordneten zusätzlichen div, anscheinend geht es nicht ohne, diese Links stehen nun mittig und haben, wie ich es mir gedacht habe, eine vorgegebene Breite (von 50%).

    So sieht es nun aus:

    <div class="related-links">
     <details> 
    	<summary>
    		Weiterführende Links:
    	</summary>
    	<ul>
    		<li><a href="https://thewalkingdead.fandom.com/de/wiki/Negan_Smith">Negan & Lucille</a></li>
    		<li><a href="https://www.moviepilot.de/serie/the-walking-dead-dead-city">The Walking Dead: Dead City</a></li>
    	</ul>
     </details>
    </div>
    
    .related-links {
    		display: flex;
    		justify-content: center;		
    	}
    	
    	.related-links > details {		
    		width: 50%;
    		background-color: rgba(219, 219, 219, 0.5);
    	}
    

    Details benötige ich noch für andere stylische Angaben, deshalb das übergeordnete div.

    Anscheinend funktioniert hier nur eine % - Angabe, ich habe mal 80em eingesetzt, dann schoss alles seitlich rechts hinüber.

    Genauso habe ich es oben in der Navi mit dem Skip-To-Section - Menu, gemacht.

    Nach dem Muster und es funktioniert. Mittig und 50% breit.

    Nur muss ich nochmal sehen, dass Beisielsweise bei einem query - Umbruch (meinetwegen bei 50em) das Skip-To-Section - Menu in die nächste Zeile rutscht und das Hauptmenü darüber steht.

    d) Nicht ganz so einfach geht es mit dem vertikalen Sub - Menü.

    Hier habe ich header .sub-header mal mit inline-size auf eine Breite von 50% gesetzt, das ist aber nicht die richtige Lösung.

    Mein Problem ist hier, das header .sub-header das nächste Kindelement meines Grids ist (brauche ich für die Überschriftendrehung) und ich habe mal bei den darauffolgenden Kindelementen (hgroup und das div) display: flex ausprobiert doch dann zerschoss mir alles.

    <header class="sub-header">
     <hgroup>
    	<h2>The Walking Dead: <span>Dead City</span></h2>
    	 <p><span>Old Acquain&shy;tances</span> - <span>13. Okt. 2023</span></p>
     </hgroup>
    	<div>
    		<p class="blogpost"><span>Posting vom</span> 08-02-2024 -- 11:25 Uhr -- Admin</p>
    		<ul>
    			<li class="tags"><a href="https://www.facebook.com/hashtag/TheWalkingDead">#TheWalkingDead</a><a href="https://www.facebook.com/hashtag/DeadCity">#DeadCity</a><a href="https://www.facebook.com/hashtag/Negan">#Negan</a></li>
    		</ul>
     </div>						
    </header>
    

    Das ist mein Problem. Auch wollte ich fragen ob mein html so richtig ist, ich mein das mit dem header, hgroup und dem div darin. Kann man es so machen?

    Eventuell brauche ich sogar direkt nach dem header ein weiteres einrahmende DIV dem ich per flex mittig und auf 50% setzen kann.

    <header class="sub-header">
     <div class="irgendwas">
     <hgroup>
    	<h2>The Walking Dead: <span>Dead City</span></h2>
    	 <p><span>Old Acquain&shy;tances</span> - <span>13. Okt. 2023</span></p>
     </hgroup>
     <div>
    		<p class="blogpost"><span>Posting vom</span> 08-02-2024 -- 11:25 Uhr -- Admin</p>
    		<ul>
    			<li class="tags"><a href="https://www.facebook.com/hashtag/TheWalkingDead">#TheWalkingDead</a><a href="https://www.facebook.com/hashtag/DeadCity">#DeadCity</a><a href="https://www.facebook.com/hashtag/Negan">#Negan</a></li>
    		</ul>
     </div>	
    </div>					
    </header
    

    (JUCHU, ich hab endlich DIVeritis). Ich habe da keine Idee.

    e) Wie ich das jetzt mit dem Nach-OBEN Button löse, weiss ich noch nicht, entweder scrollt der innerhalb von article hoch und runter oder bei jededer section, das muss ich noch ausprobieren dann zeige ich es euch nochmal.

    Was mich jetzt aber dringend interessiert, weil es ja um die richtige Gesamt-Struktur geht: Ist es richtig wie ich es mit article und der section (innerhalb von article) umgehe.

    Es handelt sich ja hier um zweierlei Themen: Einmal um die Serie "The Walking Dead: Dead City" , beim anderen article um die Serie : The Walking Dead: Daryl Dixon. Ich habe es mal extra so ausgewählt.

    Ist es so richtig?

    Eine letzte Sache (für heute) noch: Der Validator meckert beim Sprung-Botton nach oben, da möchte ich unter dem Fontawesome Button --skip-to-top-- stehen haben, das habe ich mit <br/> in die nächste Zeile rücken lassen. Und da meckert der Validator.

    Meine Frage: Wie bringt man die Schrift mit einer besserer Art in die nächste Zeile?

    Soviel für heute. gute n8.

    Grüße der einsiedler