Walter P.: Frage zur Zentrierung u.a.

Hallo!

Wie kann ich hier

https://codepen.io/my1codepen/pen/YPyZREe

das div zentrieren, ohne eine length-Angabe machen zu müssen?

Warum ist der rechte rote Rahmenstrich weiter vom letzten Buchstaben entfernt als der erste vor dem ersten Buchstaben?

akzeptierte Antworten

  1. Servus!

    Hallo!

    Wie kann ich hier

    https://codepen.io/my1codepen/pen/YPyZREe

    das div zentrieren, ohne eine length-Angabe machen zu müssen?

    div.alphabet {
    	  width: fit-content;
        margin-inline: auto;
         border: 2px solid red;
    	span {
    		 color:red;
         margin-right: 1em;
    	 }	 
    }	
    

    Warum ist der rechte rote Rahmenstrich weiter vom letzten Buchstaben entfernt als der erste vor dem ersten Buchstaben?

    Was macht denn margin-right: 1em?

    span:not(:last-child) {
      margin-right: 1em;
    }
    

    Herzliche Grüße
    Matthias Scharwies

    1. @@Matthias Scharwies

      span:not(:last-child) {
        margin-right: 1em;
      }
      

      Kann man machen.

      Möglich wäre auch

      .alphabet {
        display: flex;
        flex-wrap: wrap;
        column-gap: 1em;
      }
      

      und gar kein margin für die spans.

      🖖 Live long and prosper

      --
      “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
      — Bruce Springsteen, Manchester 2025-05-14
  2. @@Walter P.

    https://codepen.io/my1codepen/pen/YPyZREe

    Du hast in deinem Alphabet das ẞ vergessen.

    (Und sag nicht „nur Großbuchstaben“; das ist das große ẞ.)

    🖖 Live long and prosper

    --
    “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
    — Bruce Springsteen, Manchester 2025-05-14
    1. Danke für den Hinweis.

      (Und sag nicht „nur Großbuchstaben“; das ist das große ẞ.)

      Sag ich nicht, aber in der Anwendung kommen keine Städte beginnend mit ß vor, das gleiche gilt für das Ä, was Du vergessen hast.

  3. Hallo Walter,

    wie Dir vielleicht aufgefallen ist, ist der Abstand zwischen A und B anders als der Abstand zwischen den übrigen Spans. Das liegt am Zeilenumbruch zwischen den ersten beiden Spans, der als Whitespace sichtbar bleibt. Das ist bei einem inline-Flow einfach so.

    Ich würde Dir eher raten, für .alphabet display:flex zu setzen, die Größe der Buchstabenzellen mit flex-basis festzulegen und den Buchstaben darin mit text-align:center zu zentrieren. Andernfalls sind die spans für I und M sehr unterschiedlich breit.

    div.alphabet {
      margin-inline: auto;
      width: fit-content;
      border: 2px solid red;
      display: flex;
      padding: 0.1em 0;
     
      span {
        color:red;
        flex: 0 0 1.5em;
        text-align: center;
      }
    }	
    

    Je nach Font mag es sein, dass die flex-Basis (Parameter 3 der flex-Eigenschaft) nicht ausreicht, das musst Du in den Entwicklerwerkzeugen kontrollieren. Ein M, das anderthalbmal so breit wie hoch ist, ist aber selten.

    Ob Du .alphabet mit padding versehen willst, hängt von deinem Layout ab. Ich fand es ohne padding ziemlich gedrängt.

    Sodann solltest Du darüber nachdenken, was passieren soll, wenn dein Bildschirm zu schmal ist, um alle Buchstaben nebeneinander zu stellen. Ist das div.alphabet so breit wie der Body? Oder ist da noch etwas daneben? Davon hängt ab, ob man eine @media- oder @container-Abfrage machen sollte.

    Mit Container sieht es so aus

    Es wäre gerade für diesen Einsatzzweck wirklich GROẞARTIG, wenn das flex-wrap:balanced-Thema endlich mal aus dem Quark käme. Spec- und Implementierungsmäßig. Tab Atkins schlug es schon 2018 vor, aber in den Spec-Drafts ist es noch nicht drin. Ian Kilpatrick von Google (bfgeek) schrieb, er hätte für Blink was in der Pipeline und fast fertig, ich bin sehr gespannt.

    Rolf

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

      Ich würde Dir eher raten, für .alphabet display:flex zu setzen, die Größe der Buchstabenzellen mit flex-basis festzulegen und den Buchstaben darin mit text-align:center zu zentrieren. Andernfalls sind die spans für I und M sehr unterschiedlich breit.

      Ähm, wenn die Dinger alle gleich breit sein sollen, ist Grid das Mittel der Wahl, nicht Flexbox.

      GROẞARTIG

      😍

      🖖 Live long and prosper

      --
      “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
      — Bruce Springsteen, Manchester 2025-05-14
      1. @@Gunnar Bittersmann

        Ähm, wenn die Dinger alle gleich breit sein sollen, ist Grid das Mittel der Wahl, nicht Flexbox.

        Könnte dann so aussehen: lateinisches Alphabet

        🖖 Live long and prosper

        --
        “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
        — Bruce Springsteen, Manchester 2025-05-14
        1. Hallo Gunnar,

          Wie kann ich hier (...) das div zentrieren,

          Man sieht es bei font-size 2em nicht so schnell, aber bei 1em wird es deutlich, dass dein Pen diese Frage nicht beantwortet. Ich finde es bei einer Verteilung auf 2 Zeilen auch sehr unschön, wenn die Anzahl der Zellen pro Zeile nicht balanciert ist.

          Ich habe es auch spontan nicht geschafft, diese Antwort nachzurüsten (width des Grid auf max-content oder fit-content setzen erzeugt ein einspaltiges Grid). Ohne width füllt Edge aus irgendeinem Grund das Grid mit Leerzellen auf, bis es Viewportbreite hat.

          Darum muss ich Dir leider erstmal ein Minus geben, für "eigentliche Frage nicht beantwortet". Meine Flex-Lösung ist auch nicht sooo dolle, zugegeben, aber immerhin ist die Buchstabenleiste zentriert wenn alles in eine Zeile passt.

          Aber bevor wir weitere Lösungen suchen, sollten wir erstmal abwarten, ob Walter Vorgaben zur Darstellung hat, wenn die Buchstaben nicht in eine Zeile passen. Solange alles passt, ist ja auch Matthias Lösungsvorschlag vollkommen hinreichend.

          Rolf

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

            Wie kann ich hier (...) das div zentrieren,

            Man sieht es bei font-size 2em nicht so schnell, aber bei 1em wird es deutlich, dass dein Pen diese Frage nicht beantwortet.

            Hm, die hatte ich wohl aus den Augen verloren.

            Ich finde es bei einer Verteilung auf 2 Zeilen auch sehr unschön, wenn die Anzahl der Zellen pro Zeile nicht balanciert ist.

            Dann halt nicht Grid. Und auch nicht Flexbox. inline-block für die Buchstaben: lateinisches Alphabet 2

            🖖 Live long and prosper

            --
            “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
            — Bruce Springsteen, Manchester 2025-05-14
            1. Hallo Gunnar Bittersmann,

              text-wrap:balance - vielen Dank, war mir nicht mehr bewusst. Matthias hatte letztes Jahr schon Referenzartikel angelegt, aber auf der Textformatierungs-Seite fehlte ein Abschnitt dazu.

              Rolf

              --
              sumpsi - posui - obstruxi
            2. Hallo Gunnar,

              in meinem Safari sieht es am Anfang so aus:

              Screenshot von Gunnars Beispiel

              sobald man das Fenster nur 1px in der Breite ändert, ist die Darstellung ok,

              Gruß
              Jürgen

              1. @@JürgenB

                in meinem Safari sieht es am Anfang so aus:

                Screenshot von Gunnars Beispiel

                In meinem auch.

                AFAIS hängt das mit dem text-wrap: balance zusammen; irgendwas macht der Safari da beim initialen Rendern falsch.

                Nochmals rendern:

                if (navigator.vendor === "Apple Computer, Inc.") {
                  document.querySelector('.alphabet').style.paddingInline = '.1px';
                }
                

                ☞ Codepen: Safari hack

                Ist aber unschön. Da sollte man mal ein Bugticket aufzumachen.

                🖖 Live long and prosper

                --
                “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                — Bruce Springsteen, Manchester 2025-05-14
                1. @@Gunnar Bittersmann

                  Nochmals rendern:

                  if (navigator.vendor === "Apple Computer, Inc.") {
                    document.querySelector('.alphabet').style.paddingInline = '.1px';
                  }
                  

                  ☞ Codepen: Safari hack

                  Look Ma, no JavaScript: CSS animation.

                  ☞ Codepen: Safari hack w/ animation

                  Die läuft dann allerdings auch in Browsern, die den Hack nicht nötig haben.

                  🖖 Live long and prosper

                  --
                  “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                  — Bruce Springsteen, Manchester 2025-05-14
                  1. Hallo Gunnar,

                    Look Ma, no JavaScript: CSS animation.

                    🤦‍♂️

                    Dann verpasse aber nicht den Punkt, wo Safari den Bug fixt.

                    Rolf

                    --
                    sumpsi - posui - obstruxi
            3. @Gunnar

              Dann halt nicht Grid. Und auch nicht Flexbox. inline-block für die Buchstaben: lateinisches Alphabet 2

              Hallo Gunnar, warum füllen die Buchstaben nicht die komplette Reihe aus bevor eine zweite Reihe beginnt?

              1. @@Walter P.

                Dann halt nicht Grid. Und auch nicht Flexbox. inline-block für die Buchstaben: lateinisches Alphabet 2

                Hallo Gunnar, warum füllen die Buchstaben nicht die komplette Reihe aus bevor eine zweite Reihe beginnt?

                Wegen text-wrap: balance.

                S.a. den Unterschied zwischen 12 und 13.

                🖖 Live long and prosper

                --
                “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                — Bruce Springsteen, Manchester 2025-05-14
              2. Hallo,

                Dann halt nicht Grid. Und auch nicht Flexbox. inline-block für die Buchstaben: lateinisches Alphabet 2

                Hallo Gunnar, warum füllen die Buchstaben nicht die komplette Reihe aus bevor eine zweite Reihe beginnt?

                der Vorteil an dem Codepen ist doch, dass man Änderungen direkt vornehmen und beobachten kann. Nimm aus dem CSS Zeilen raus und schau was passiert. (In diesem Fall vielleicht mal eine, die sich um text-wrap kümmert)

                Gruß
                Kalk

              3. Hat sich erledigt! balance war mir nicht bekannt.

                Seid Ihr schnell! Eure Antwort habe ich nicht gesehen!

                1. Hallo Walter,

                  Hat sich erledigt! balance war mir nicht bekannt.

                  Den meisten von uns auch nicht 😉.

                  Es ist noch sehr neu. Die Chromium-Browser kennen es seit Mai '23 (v114), Firefox kam im Dezember (v121) und Safari hat bis Mai '24 gebraucht (v17.5).

                  Rolf

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

                    Es ist noch sehr neu.

                    Ein Jahr ist in der Frontend-Entwicklung eine Ewigkeit. Was du „noch sehr neu“ nennst, nenne ich „gibt’s schon eine ganze Weile“. 😏

                    Die Chromium-Browser kennen es seit Mai '23 (v114), Firefox kam im Dezember (v121) und Safari hat bis Mai '24 gebraucht (v17.5).

                    Gerade mal nachgeschaut, wann ich’s beim Tagesspiegel erstmals eingebaut habe: im März 2024. Firefox- und Chromium-Nutzer konnten sich dann schon an ausbalancierten Überschriften erfreuen, Safari-Nutzer noch nicht. Progressive enhancement.

                    🖖 Live long and prosper

                    --
                    “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                    — Bruce Springsteen, Manchester 2025-05-14
                    1. Hallo Gunnar,

                      „gibt’s schon eine ganze Weile“

                      Ich denke halt in den Entwicklungszyklen einer Versicherung.

                      Rolf

                      --
                      sumpsi - posui - obstruxi
                      1. Hi,

                        Ich denke halt in den Entwicklungszyklen einer Versicherung.

                        Oh-oh. Gleich so extrem …

                        Ende Mai, wir haben Probleme, einen Datensatz an die Versicherung zu übertragen. Es ist ein Konto bei einer neuen Bank im Datensatz enthalten.

                        Anfrage an die Versicherung: könnt Ihr die neue Bank bitte aufnehmen?

                        Antwort: ja klar, kommt mit dem nächsten Release rein.

                        Frage: wann ist denn Euer nächster Release?

                        Antwort: na so wie immer, Ende April.

                        cu,
                        Andreas a/k/a MudGuard

                        1. Hallo MudGuard,

                          na, ganz so schlimm sind wir nicht. 4x im Jahr geht schon.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
                          1. Hi,

                            na, ganz so schlimm sind wir nicht. 4x im Jahr geht schon.

                            Erwortung von uns war ja eigentlich:

                            3 bis 4 Tage, damit sie alle Daten zur neuen Bank eingesammelt haben, und dann das insert-Statement in der Banken-Tabelle machen.

                            Also max. 1 Woche …

                            cu,
                            Andreas a/k/a MudGuard

                            1. Moin,

                              Erwortung von uns war ja eigentlich:

                              schöne neue Wartschöpfung. 🤭

                              Einen schönen Tag noch
                               Martin

                              --
                              Manchmal kann man gar nicht so viel fühlen, wie man denkt.
                              Und manchmal fühlt man so viel, dass man gar nicht denken kann.
                              1. Hi,

                                Erwortung von uns war ja eigentlich:

                                schöne neue Wartschöpfung. 🤭

                                jo, jo, wer den Schoden hot, …

                                Sa noh wie o und a ouf der Tostotur nebeneinonder liegen, konn mon sich schan mol vertippen …

                                cu,
                                Andreas a/k/a MudGuard

                                1. @@MudGuard

                                  Sa noh wie o und a ouf der Tostotur nebeneinonder liegen, konn mon sich schan mol vertippen …

                                  Im Sächsischen ist dos eh dosselbe. Dos O und O …

                                  Stadt mit 3 O? Gorl-Morx-Stodt.[1]

                                  🖖 Live long and prosper

                                  --
                                  “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                                  — Bruce Springsteen, Manchester 2025-05-14

                                  1. jetzt wieder Gemnitz ↩︎

                                  1. Hallo,

                                    Im Sächsischen ist dos eh dosselbe. Dos O und O …

                                    Stadt mit 3 O? Gorl-Morx-Stodt.

                                    den Golauer hat Alex Bommes gestern oder vorgestern erst in "Gefragt Gejagt" zum Besten gegeben.

                                    Einen schönen Tag noch
                                     Martin

                                    --
                                    Manchmal kann man gar nicht so viel fühlen, wie man denkt.
                                    Und manchmal fühlt man so viel, dass man gar nicht denken kann.
                                  2. Hi,

                                    Im Sächsischen ist dos eh dosselbe. Dos O und O …

                                    Stadt mit 3 O? Gorl-Morx-Stodt.

                                    Welches Lebensmittel wurde an der deutsch-deutschen Grenze am häufigsten erwähnt?

                                    Gänsefleisch!

                                    Gänsefleisch mol de Koffer aufmochen …

                                    cu,
                                    Andreas a/k/a MudGuard

                                2. Hi,

                                  Ho!

                                  Erwortung von uns war ja eigentlich:

                                  schöne neue Wartschöpfung. 🤭

                                  jo, jo, wer den Schoden hot, …

                                  Jo jo, der Hubert, ne!? 😆

                                  Tschö, Auge

                                  --
                                  „Habe ich mir das nur eingebildet, oder kann der kleine Hund wirklich sprechen?“ fragte Schnapper. „Er behauptet, nicht dazu imstande zu sein“ erwiderte Victor. Schnapper zögerte (…) „Nun …“ sagte er schließlich, „ich schätze, er muss es am besten wissen.“ Terry Prattchett, Voll im Bilde
                                3. Hallo,

                                  jo, jo, wer den Schoden hot, …

                                  Sa noh wie o und a ouf der Tostotur nebeneinonder liegen, konn mon sich schan mol vertippen …

                                  Davon hätt' ich gern mal das Echo in der raxigen Schlucht gehört...

                                  Gruß
                                  Kalk

                                  1. Hallo Tabellenkalk,

                                    🤣 🦊 😨

                                    Rolf

                                    --
                                    sumpsi - posui - obstruxi
                            2. Hallo MudGuard,

                              okay, Datenänderungen sind ja eigentlich kein Change, und EIGENTLICH sollte es eine Pflege-App für sowas geben. Mich deucht, diese Bonk wor wos besanderes.

                              Rolf

                              --
                              sumpsi - posui - obstruxi
                              1. Hi,

                                okay, Datenänderungen sind ja eigentlich kein Change, und EIGENTLICH sollte es eine Pflege-App für sowas geben. Mich deucht, diese Bonk wor wos besanderes.

                                Rolf

                                Du meintest Ralf 😉

                                cu,
                                Andreas a/k/a MudGuard

                    2. @@Gunnar Bittersmann

                      Gerade mal nachgeschaut, wann ich’s beim Tagesspiegel erstmals eingebaut habe: im März 2024.

                      Und im April 2024 was darüber erzählt.

                      Den Effekt auf der Titelfolie (welche in Star-Trek-Picard-Staffel-3-Manier die letzte ist) hatte ich ja schon gezeigt (12 vs. 13). 🖖 Live long and prosper

                      --
                      “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                      — Bruce Springsteen, Manchester 2025-05-14
    2. Hallo Rolf,

      Mit Container sieht es so aus

      sah gut aus bis ich die Breite im JSFiddle variierte.

      Schmaler Viewport (OK)

      Mittlerer Viewport (OK)

      Breiter Viewport (KO)

      1. Hallo Walter,

        ups, der Firefox verhält sich anders als Chromia. width: fit-content berücksichtigt nicht die flex-basis: 1.5em Angabe im li-Element. Chrome/Edge hingegen schon. Da weiß ich jetzt nicht aus dem Handgelenk, ob das ein Firefox-Bug ist oder Chrome über die Spec hinaus geht.

        Ich habe der li-Regel mal ein min-width:1.5em hinzugefügt, das scheint es zu heilen.

        Neuer Link: https://jsfiddle.net/2Lzy819n/

        Aber wie auch immer, Gunnar hatte im 2. Anlauf die bessere Idee, text-wrap: balance ist das ideale Feature hierfür. Es mag aber sein, dass der Safari dann spuckt, siehe Jürgens Screenshot.

        Oh mann...

        Rolf

        --
        sumpsi - posui - obstruxi