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

border-radiusの先へ:CSS corner-shapeが日常のUIにもたら… — 2026年 第11週 CSS・スタイリング

CSS architecture, utility frameworks, and animation performance

calendar_todaysummarizeWeek 11-2026
詳細解説

border-radiusの先へ:CSS corner-shapeが日常のUIにもたらす可能性

新しい CSS の corner-shape プロパティは border-radius の補助プロパティとして機能し、半径を置き換えるのではなくコーナーの形状を変更します。bevel、scoop、notch、squircle、さらに細かく制御できる superellipse() 関数をサポートします。Chrome 139 以降では outline、box-shadow、background にも影響し、clip-path では実現できなかった動作が可能です。著者の Brecht De Ruyte は CSS @layer@supports (corner-shape: bevel) を使った 5 つの Progressive Enhancement デモを構成しています。round bevel bevel round のリボンバッジ、scoop コーナーの料金カード、squircle のアバターなど実践的なパターンも含まれます。仕様は CSS Borders and Box Decorations Module Level 4 にあり、Firefox と Safari のサポートはまだ未定です。

border-radiusの先へ:CSS corner-shapeが日常のUIにもたらす可能性
Read Articlearrow_forward
Video · チュートリアル14:18

CSSクイックTipsをさらに紹介

Kevin Powell がこの 14 分の動画で 7 つ以上の実践的な CSS Tips を紹介します。主なトピックは、overscroll-behavior: contain でスクロールチェーンを要素内に封じ込める方法(タッチデバイスで背の高いコンテナへの注意点あり)、ブランドカーソルのための caret-color、Progressive Enhancement プロパティの caret-shape(録画時点では Chrome のみ、値: barblockunderscore)です。accent-color は継承可能な 1 つの宣言でチェックボックス、ラジオ、range 入力をスタイリングし、自動的にハイコントラストなチェックマーク色に切り替えます。color-scheme プロパティと light-dark() 関数によるダークモードベーススタイルの設定、そして grid コンテナへの place-content: center による最もシンプルなセンタリング方法も解説されています。

AI_INFOGRAPHIC
CSSクイックTipsをさらに紹介 — infographicWATCH_VIDEOarrow_forward
Article · ガイドREAD TIME: 9m

CSSからSassを外す:Native CSS Nestingの意外な展開

このガイドは 2026 年時点でモダンブラウザすべてがサポートするネイティブ CSS Nesting を実践的に解説し、Sass との相違点を整理します。親セレクタが複数ある場合、ブラウザは :is() でラップし、リスト中で最も高い詳細度を継承します。.card, #featured {} のようなセレクタは、ネストされた子要素に ID レベルの詳細度 (1,1,0) を付与するため、デバッグの落とし穴になります。Sass との重要な違いは、& が文字列ではなくオブジェクト参照である点で、&--modifier のような BEM スタイルの連結はネイティブではサポートされません。pseudo-class、media/container/feature クエリ、prefers-reduced-motion の上書きには nesting を活用し、BEM 要素セレクタはルートレベルに保つことを推奨しています。

READ_FULL_LOGarrow_forward
Article · リリースREAD TIME: 3m

@supports at-rule(@keyword)でCSS at-ruleの対応を検出する

Chromium 148@supports at-rule(@keyword) が搭載されました。CSS Conditional Rules Module Level 5 で標準化されたこの機能により、@starting-style@view-transition などの CSS at-rule をスタイルシート内や @import 条件で直接検出できます。@supports at-rule(@supports) で自己検出も可能です。ただし、ディスクリプタレベルのクエリ、prelude の検出、完全な at-rule ブロックはスペックから除外されました。style クエリや anchored クエリの検出には container-type 値の確認や sentinel カスタムプロパティによる回避策が必要です。Firefox(issue #1751188)と Safari(issue #235400)はまだ未対応です。

READ_FULL_LOGarrow_forward
Article · テクニックREAD TIME: 4m

CSS AnimationをState Machineとして使い、フォーカスとホバー状態を記憶する

このテクニックは JavaScript なしで状態を保持するために、CSS animation の animation-fill-mode: forwardsanimation-play-state を活用します。要素にほぼ瞬間的なアニメーション(duration: .00001s)を paused 状態で付与します。:focus:hover が発生すると play state が running に切り替わり、アニメーションが即座に完了し、fill-mode が最終状態を永続的に固定します。同じクラスを共有する複数の要素があっても、各要素で独立して動作します。再利用性を高めるため、@keyframes--was-focused カスタムプロパティをトグルし、@container style() クエリでその値を読み取り、子孫要素に条件付きスタイルを適用する形にリファクタリングします。

READ_FULL_LOGarrow_forward
Article · テクニックREAD TIME: 4m

contrast-color()でアクセシブルなテキストを自動生成 | una.im

contrast-color() が Chrome 147 安定版(2026 年 3 月末)に搭載され、すべての主要ブラウザで利用可能になりました。この関数は有効な CSS カラー値を受け取り、WCAG 2 AA の最小コントラスト比 4.5:1 を満たす black または white のいずれかを返します。同点の場合は white を返します。デザインシステムでのテキスト色の手動管理が不要になります。color: contrast-color(var(--brand-color)) の宣言一つで動的ボタン、prefers-color-scheme を使ったダークモード本文テキスト、color-mix() で生成したパレットまで対応します。現在の仕様は意図的に black と white のみに制限されており、#222 のようなカスタムコントラストターゲットの提案は、アクセシビリティ保証のために却下されました。

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

今週のCSSの表現力がさらに向上しました。今週のfeatured記事であるcorner-shapeプロパティ(Chrome 139+)は、border-radiusの補助プロパティ一つでbevel、scoop、notch、squircleのコーナー形状を実現できることを示しています。clip-pathとは異なり、outline、box-shadow、backgroundにも正しく適用されます。Brecht De RuyteによるCSSの@layer@supportsを使ったprogressive enhancementアプローチは、FirefoxとSafariのサポートを待つブラウザでも優雅なフォールバックを保証します。

アクセシビリティと機能検出も進展しました。contrast-color()Chrome 147安定版に搭載され、デザインシステムでWCAG 2準拠のテキストカラーペアリングを手動管理なしに1つのCSS宣言で実現できるようになりました。Chromium 148では@supports at-rule(@keyword)が登場し、スタイルシートで@starting-style@view-transitionなどのat-ruleのサポートをネイティブに検出できます。ネイティブCSS nestingの実践ガイドはSassから移行する開発者を陥穽にはめる:is()の詳細度問題を明確にし、Patrick Brossetのanimation-as-state-machine技法はanimation-fill-mode: forwardsとcontainer style queryを活用してJavaScriptなしで持続的なhover/focus状態記憶を実現する方法を示しました。

Kevin Powellのクイックtipsはoverscroll-behavior: contain、フォームinput用のaccent-color、最もシンプルなgridの中央揃えショートハンドであるplace-content: centerなど実用的な内容で締めくくりました。

Key Takeaways
  • Chrome 139+のcorner-shapeはborder-radiusの補助プロパティとしてbevel、scoop、notch、squircleコーナーを実現し、clip-pathとは異なりoutlineとbox-shadowにも正しく反映されます。
  • contrast-color()がクロスブラウザで安定化し、1つのCSS宣言でWCAG 2 AA準拠のテキストカラー選択を自動化します。
  • ネイティブCSS nestingの:is()詳細度昇格とBEMスタイルの文字列連結非対応は、Sassから移行する際に必ず押さえるべき2つの重要な動作の違いです。