Rolf B: Frage zum Wiki-Artikel „Spalten“

Beitrag lesen

problematische Seite

Hallo Matthias,

„Andererseits ist es sowieso nicht möglich, die column-Eigenschaft so zu steuern, dass bei Absätzen nicht einzelne Zeilen isoliert am Ende (Schusterjunge), bzw. Beginn (Hurenkind) der Spalte überstehen“

Okay, der Satz kam 2017 von Dir. Du hast auch eine Referenznote hinzugefügt, zu Castor&Pollux. Aber die schreiben das nicht oder haben es irgendwann rausgenommen. Und selbst wenn es da stünde, der Artikel ist von 2010 und die orphans/windows-Eigenschaften wurden 2013 implementiert.

Du selbst begründest diesen Satz mit dem Verhalten der Listen in der nSpalten-Vorlage. Aber DORT ist er keine Begründung, weil das Listen mit einer Zeile pro Absatz sind. orphans und windows wirken aber immer nur innerhalb eines Absatzes. Wenn wir die nSpalten Listen ohne li Elemente gestalteten, also als Absätze mit <br>-gesteuerten Zeilen, dann würden die Umbruchregeln dort greifen.

Grundsätzlich funktionieren orphans und widows auch im n-Spaltensatz in Chrome. Mit einer Ausnahme: Hat der Absatz weniger als (orphans+widows) Zeilen - sprich: Es gibt Zeilen, die schusternde Hurenkinder sind, dann vergessen sie ihre hart anschaffende Mama und nageln lieber beim Schuster. Äh, also, die orphans-Eigenschaft hat Vorrang vor widows. Der Browser könnte natürlich auch versuchen, den kompletten Absatz zusammenzuhalten. Tut er aber nicht.

Ich hatte schon einige Male mit nSpalten experimentiert, um es zu bändigen. Bislang ohne Erfolg. Im Moment scheint es, als ob man mit

.nSpalten li:first-child {
    break-after: avoid;
}
.nSpalten li:last-child {
    break-before: avoid;
}
.nSpalten p {
    margin-top: 0;    /* wg vertikalem Rhythmus */
    break-after:avoid;
}

in Chrome guten Erfolg hätte. Das teste ich jetzt noch im Fuchs. Ist aber doch nicht so ganz einfach, gerade bei geschachtelten Listen wird es schwierig und vor allem ist Chrome ungnädig, wenn man in den Dev-Tools damit spielt. Das wird nicht immer sauber akzeptiert, scheint mir.

Rolf

--
sumpsi - posui - obstruxi