≪ Today I learned.
RSS購読
    公開日
    更新日
    タグ
    CSS
    著者
    ダーシノ

    Style Queriesを使ってコンテナ要素のスタイルを評価する

    Chrome111/Edge111でStyle Queriesが使えるようになった。

    Style Queriesを使うことでコンテナ要素のスタイルを評価できる。

    <div class="container">
      <div class="item"><span>Item</span></div>
      <div class="item" style="--active: true"><div>Item</div></div>
      <div class="item"><span>Item</span></div>
    </div>
    
    <style>
    .container {
      container-type: inline-size;
      container-name: container;
    }
    
    .item {
      container-type: inline-size;
      container-name: item;
    }
    
    /* Container Query */
    @container container (max-width: 300px) {
      .item { ... }
    }
    
    /* Style Query */
    @container item style(--active: true) {
      /* コンテナの --activeプロパティが true だったら以下のスタイルが適用される */
      div {
        background-color: #B4E5D9;
      }
    }
    @container item not style(--active: true) { ... }
    </style>

    デモ

    inline-style

    style=“—active: false;“
    style=“—active: true;“

    :hover

    .item:hover { --active: true; }
    .item:hover { --active: true; }

    追記: 2024-09-17

    Safari 18でStyle Queriesが使えるようになった。Style

    残すはFirefox。