v9.5.0で右寄りレイアウトに戻した後、CSSを整理し、v9.6.0でヘッダーとフッターだけ幅いっぱい使うように戻した。結果があまり変わっていないのに、CSSだけ変わっている。いろいろな書き方ができるようになった上、新旧の知識が混ざるので、書き方が安定しない。他には、タグラインが最重要な見出しだと問題がありそうなので、最重要な見出しはページ名(雑記とか近況とか)にするようにした。CSSでそれにタグラインが追加される。
サムネイルの列数の調整は、minmax()
を使うものに書き換えた。サムネイルの数が12の倍数なら余りが出ないとしたかったので、最大で4列に制限するようにする。これなら1列から4列で可変なので、必ず割り切れる。
.thumbs {
display: grid;
grid-gap: var(--space-small);
grid-template-columns: repeat(
autofill,
minmax(
calc(var(--width-main) / 5),
1fr
)
);
スペースを余らせずに(autofill
)、均等に割り振りつつ(1fr
)、最低でもコンテンツ幅(--width-main
)の1/5は確保する、というrepeat()
関数はこうなる。最大で4列にしたいなら5で割ると簡単だ。grid-gap
プロパティーがないなら4で良い。
メディア・クエリーを減らすために、以前からこうしようとは思っていた。しかし、昔は最大6列だったので、5列の時に割り切れないのが気に食わず、先送りしていた。しばらく前に最大4列に変えた時はすっかり忘れていた。12の力はすごい。
基本フォント・サイズの調節をcalc()
を使って行うようにできれば、完全にメディア・クエリーを追放できそうだ。ユーザー設定のフォント・サイズを尊重しつつ、ビューポート幅に応じて基本フォント・サイズを調整し、rem
単位で統一できるようにする方法が思いつかない。Utopiaは興味深いけど、body
要素でフォント・サイズを調節する前提なので、rem
単位での統一は難しそうだった。これについては別にちょっと書く。