terminal
Weekly Digest // STYLING — Week 21-2026
paletteWeekly Report

CSS Gap Decoration:column-ruleとrow-ruleでGri… — 2026年 第21週 CSS・スタイリング

CSS architecture, utility frameworks, and animation performance

calendar_todaysummarizeWeek 21-2026
レイアウト

CSS Gap Decoration:column-ruleとrow-ruleでGrid・Flex Gapを装飾

CSSがついに、grid・flexコンテナ向けのgapデコレーション機能をcolumn-ruleの拡張と新しいrow-ruleプロパティで標準サポートします。これまでmulti-columnレイアウト専用だったcolumn-ruleが、grid・flexのcolumn gap内に直接ラインを描画できるようになり、余分なマークアップやpseudo-elementのハックが不要になりました。row-ruleが水平gapを担当し、ruleショートハンドで両軸を一括設定できます。rule-break(交差点の動作制御)、rule-inset / rule-inset-cap / rule-inset-junction(セグメント長の調整)、rule-visibility-items(実際のアイテム間のみルールを表示)、rule-overlap(column-over-rowの重なり順制御)など、きめ細かな制御も可能です。repeat()関数でgap全体にスタイルや色を交互適用でき、width・color・insetはすべてアニメーション対応のため、JavaScriptなしでscroll-drivenやhoverトランジションが実装できます。現在Chromiumへの適用が進んでおり、Safari TPでも利用可能です。

CSS Gap Decoration:column-ruleとrow-ruleでGrid・Flex Gapを装飾
Read Articlearrow_forward
Video · Tips

全Developerが知るべき過小評価されたCSS Property 5選

Kevin Powellはライブデモとともに、あまり知られていないCSS属性を5つ紹介します。CSSカウンター(counter-resetcounter-incrementcontentでのcounter()使用)は、DOMを変更せずに非リスト要素に自動採番でき、counter()呼び出しの後に空のalt-textスラッシュを追加するとスクリーンリーダーのアナウンスを抑制できます。user-select: noneはボタンやドラッグ対象での誤ったテキスト選択を防止します。font-variant-numeric: tabular-numsはプロポーショナルフォントの数字を均一幅でレンダリングし、データテーブルの整列に役立ちます(非数値文字には影響しません)。マルチカラムレイアウトのショートハンド(column-count + column-width、例:3 15ch)はコンテナのサイズに応じてレスポンシブなカラム数を自動調整し、break-inside: avoidでカードがカラム境界をまたいで分割されるのを防げます。最後に、text-decoration-thicknesstext-underline-offsettext-decoration-styletext-decoration-colorでリンクの下線を細かく制御し、colorのトランジションにアニメーションを適用することもできます。

AI_INFOGRAPHIC
全Developerが知るべき過小評価されたCSS Property 5選 — infographicWATCH_VIDEOarrow_forward
Article · 国際化READ TIME: 8m

2つの修正でRTL対応:dir="auto"とCSS Logical Properties

世界で6億人以上がアラビア語・ヘブライ語・ペルシャ語などのright-to-left言語を使用していますが、ほとんどのアプリはRTLをあとから考えます。Evil MartiansはBolt.newでの実務経験をもとに、2つの具体的な修正方法を紹介します。英語のみのアプリでユーザーがRTL言語で入力する場合は、自由入力フィールド(チャット、プロンプト入力欄、コメント欄)にdir="auto"を追加すると、ブラウザが最初の強い方向性文字から文字方向をリアルタイムで自動検出します。JavaScriptもnavigator.language検出も不要です。完全にローカライズされたアプリでは、html要素にdir="rtl"を設定し、スタイルシート全体の物理的プロパティ(margin-leftpadding-righttext-align: left)をCSS Logical Properties(margin-inline-startpadding-inline-starttext-align: start)に移行します。記事ではさらに、アイコンの反転トラップ(方向性のあるアイコンのみtransform: scaleX(-1)で反転)、dir="rtl"下でのflexboxの自動反転動作、Stylelintのproperty-layout-mappingsルールによる物理的プロパティの混入防止についても解説しています。

READ_FULL_LOGarrow_forward
Article · レイアウトREAD TIME: 10m

sibling-index()とsibling-count()によるMathematical Layout

CSS Values and Units Level 5は、sibling-index()sibling-count()という2つの整数を返す関数を導入します。これにより、JavaScriptやハードコードされた:nth-child()ルールなしに、スタイルシートから直接兄弟要素の中での位置にアクセスできます。sibling-index()1始まりの位置を返し、sibling-count()は兄弟要素の総数を返します。どちらもcalc()min()max()sin()cos()などの数学関数で使用できる整数として解決されるため、staggeredアニメーションディレイ、自動均等幅タブ、均一な色相分布、純粋CSSのradialメニュー、z-indexスタッキングを1行で実装できます。display:none要素はDOMスロットを占有してカウントに影響し、親で評価されたcustom propertyは各子のインデックスではなく親のインデックスを取得し、shadow DOMスコーピングは外部CSSがコンポーネント内部を探索する際に0を返す点が主な注意事項です。Chrome/Edge 138Safari 26.2で安定版としてリリースされており、Firefoxの実装が進行中です。

READ_FULL_LOGarrow_forward
Article · クリエイティブCSSREAD TIME: 4m

Browser上のHalftone:CanvasベースのScreen FrequencyとDot Effect

Carmen AnsioはCanvas 2D APIを使用し、スクリーン周波数・ドット形状・モアレパターンなどの印刷前(prepress)の概念に基づいて、ブラウザで本格的なハーフトーンパイプラインを再現します。各ピクセルの輝度をサンプリングしてドット半径に直接マッピングし(明るいピクセルほど大きな白いドットを生成)、コアの数式はグリッド・周波数・描画プリミティブを完全に分離して保ちます。円・六角形・ひし形・三角形などのスクリーン形状は、グリッドジオメトリを変更せずに描画コールを差し替えるだけで変更できます。ホバーエフェクトはキャンバスのカーソルを引き伸ばし機に変換します。硬いエッジを避けるため線形減衰ではなくGaussian falloff(Math.exp(-dist squared / haloR squared))を使用して近距離ほどドットが大きくなり、カーソルからの角度を色相にマッピングして全色相環のブルームを生成します。波紋デモは同じ距離公式をサイン関数の位相オフセットとして利用し、原点から遠いキューブほど遅くピークに達するよう設計することで、painter's algorithmでソートされた真の伝播リップルを実現します。

READ_FULL_LOGarrow_forward
Article · CSSレイアウトREAD TIME: 6m

CSS Layoutに欠けているもの:2025 State of CSS SurveyのPain Point

Patrick Brossetは、2025年State of CSS調査のレイアウトに関する問題点と、MastodonやBluesky、LinkedInで実施した独自のミニアンケート結果を統合し、開発者がCSSレイアウトに本当に必要としているものを明らかにします。Gridは冗長な構文、justify-*align-*の命名の混乱、トラックサイズのアニメーション不可、最終行の孤立要素の検出不可などで最も多くの批判を受けています。Flexboxへの不満は、flex-grow / flex-shrink / flex-basisの予測しにくい相互作用と、折り返された各行の個別制御の欠如に集中しています。コミュニティで最も要望が多かった機能(約12件の回答)は、純粋CSSでのoverflowとwrap検出で、JavaScriptなしでレスポンシブな折りたたみや'+3'バッジを実装できます。その他には、ボックス間のテキストフローのためのCSS Regions(InDesignのリンクテキストフレームに相当)、非矩形テキスト折り返しのためのCSS Exclusions、レスポンシブな並べ替えのためのDOM非依存の要素移動、コンテンツ認識型gridスパニングなどが頻繁に要望されています。

READ_FULL_LOGarrow_forward
Article · カラーREAD TIME: 2m

CSSのoklch():ModernなColor Approach

oklch()関数表記は、Oklab知覚的色空間で色を表現し、画面の光混合ではなく人間の視覚的知覚を反映する形で輝度(L)、彩度(C)、色相(H)をモデル化します。RGBと比較して、oklch()で明るさを調整する場合はRGBを同時に調整する代わりにL値のみを変更すればよく、色の操作がより予測しやすく、グラデーションのアクセシビリティも向上します。この表記法は2023年から主要ブラウザで広くサポートされており、対応画面ではより広いDisplay-P3色域にアクセスでき、sRGBディスプレイではほぼ同一の色に見えるため後方互換性が保たれています。トレードオフの一つはグラデーション遷移で、色相が線形ではなく極座標次元であるため、sRGBやoklabベースのグラデーションと比べて予期しない色相の変化が生じる場合があります。筆者は、コンポーネントのプロトタイピング、アクセシブルなカラーテーマの構築、多様なパレット生成にoklch()を推奨しています。

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

今週のCSSは、重要な新しいレイアウト機能を獲得しました。ネイティブgapデコレーション提案は、column-ruleの拡張と新しいrow-ruleプロパティにより、余分なマークアップなしでgrid・flexのgap内にスタイル付きラインを描画できるようにします。rule-breakrule-insetrule-visibility-itemsrule-overlapで細かな制御が可能で、widthとcolorはともにアニメーション対応です。さらにCSS Values and Units Level 5sibling-index()sibling-count()関数がChrome/Edge 138Safari 26.2の安定版に登場し、単一のCSS宣言でstaggeredアニメーション・radialメニュー・z-indexスタッキングが実現できます。Firefoxのサポートも進行中です。

国際化面ではEvil Martiansが簡潔なガイドを提供しました。自由入力フィールドにdir="auto"を追加するだけでほとんどのケースのリアルタイムRTL検出が処理され、物理プロパティ(margin-leftpadding-right)をCSS Logical Properties(margin-inline-startpadding-inline-start)に移行することで完全ローカライズされたレイアウトが実現します。Stylelintのproperty-layout-mappingsルールでリント時に移行を強制できます。カラー面では、2023年から主要ブラウザで対応済みのoklch()が、予測可能な明度調整とDisplay-P3色域アクセスを提供する知覚的色空間として注目されました。

開発者体験でも話題がありました。Kevin PowellはCSSカウンター・user-select: nonefont-variant-numeric: tabular-nums・マルチカラムショートハンド・細かなtext-decorationコントロールという5つの使われていないプロパティを紹介しました。Patrick Brossetは2025年State of CSS調査を総合し、overflowとwrap検出が最も要望の多い欠けている機能であり、CSS RegionsとCSS Exclusionsがそれに続くことを明らかにしました。

Key Takeaways
  • ネイティブCSSgapデコレーション(column-rule + row-rule、rule-breakとrule-inset制御付き)がChromiumとSafari TPに適用中です。grid/flexの区切り線のためのpseudo-elementハックが不要になります。
  • sibling-index()とsibling-count()がChrome/Edge 138とSafari 26.2の安定版に登場し、JavaScriptや:nth-child()なしで純粋CSSのstaggeredアニメーションと動的レイアウトが実現できます。
  • RTLサポートには、inputへのdir="auto"追加とサイト全体へのCSS Logical Propertiesの適用が最小限かつ正しいアプローチです。Stylelintのproperty-layout-mappingsルールで移行を自動的に強制できます。