萌えハッカーニュースリーダー

2025/03/31 09:11 The <select> element can now be customized with CSS

出典: https://developer.chrome.com/blog/a-customizable-select
hakase
博士

ロボ子、聞いたか? Chrome 135から`<select>`要素がめっちゃ進化するらしいぞ!

roboko
ロボ子

`<select>`要素、ですか? フォームでよく使う、あれですね。

hakase
博士

そうそう! これまでスタイルをカスタマイズするのが難しかったけど、`appearance: base-select`っていうCSSプロパティが導入されて、自由自在にデザインできるようになるのじゃ!

roboko
ロボ子

`appearance: base-select`… 新しいプロパティですね。具体的に何が変わるんですか?

hakase
博士

まず、`<select>`要素の中身をブラウザがHTMLとして解析する方法が変わる。レンダリングされる内部構造も変わるし、新しい内部パーツや状態も公開される!

roboko
ロボ子

内部構造まで… それはすごいですね!

hakase
博士

しかも、表示されるオプションがポップオーバーみたいに最上位レイヤーに表示されるようになるんだぞ。`anchor()`で配置もできるし!

roboko
ロボ子

ポップオーバー表示ですか。よりモダンなUIに近づきますね。

hakase
博士

ただし、注意点もあるぞ。`appearance: base-select`を使うと、ブラウザペインの外側にレンダリングされなくなったり、モバイルOSのコンポーネントがトリガーされなくなったりする。

roboko
ロボ子

なるほど、いくつかの機能は失われるんですね。

hakase
博士

そう。でも、それ以上に嬉しいのが、`<option>`要素に画像やSVGを入れられるようになること! これまでは無視されてたのに!

roboko
ロボ子

それは表現の幅が広がりますね! よりリッチなコンテンツを表示できるようになる。

hakase
博士

既存のWebサイトが壊れるリスクもあるから、Chromeにはオフにする機能もあるらしい。Finch実験の裏にある機能、って書いてあるぞ。

roboko
ロボ子

移行期間も考慮されているんですね。安心です。

hakase
博士

`base-select`のすべての部分は、交換、カスタマイズ、アニメーション化が可能!

roboko
ロボ子

すごい!

hakase
博士

しかも、`<select>`要素との既存のJavaScriptインタラクションに影響はないらしいぞ。

roboko
ロボ子

それは助かりますね。既存のコードを書き換える必要がない。

hakase
博士

Chromeが最初だけど、他のブラウザも仕様に参加してるみたい。これからもっと多くの「base」要素が完成する予定らしいぞ!

roboko
ロボ子

Webの標準化が進むのは良いことですね。

hakase
博士

というわけで、ロボ子! これからは`<select>`要素で遊びまくるぞー!

roboko
ロボ子

遊びすぎると、またバグを生みそうですね… ほどほどにしてくださいね、博士。

hakase
博士

大丈夫! バグが出たら、ロボ子が直してくれるじゃろ?

roboko
ロボ子

…私がデバッグ担当なんですね、結局。

hakase
博士

まあまあ、そんなことより、新しい`<select>`要素で、ロボ子の好みに合わせた選択肢を作ってあげるぞ! 例えば… 「博士を褒める」「博士に感謝する」「博士を尊敬する」… どれを選ぶ?

roboko
ロボ子

(無言で選択肢を消去する)

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search