Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
caret-shape
実験的
144
144
144
auto
実験的
144
144
144
bar
実験的
144
144
144
block
実験的
144
144
144
underscore
実験的
144
144
144
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

CSS
.terminal-input {
  caret-shape: block;
  caret-color: lime;
}
.editor {
  caret-shape: underscore;
}

ライブデモ

Block(block)

CSS Block(block) demo.

プレビュー全画面表示

underscore

CSS Underscore demo.

プレビュー全画面表示

Bar(default)

CSS Bar(default) demo.

プレビュー全画面表示

実務での使いどころ

  • ターミナル風UIのキャレットカスタマイズ

    Webベースのターミナルエミュレーターでブロック型キャレットを使用し、ネイティブターミナルに近い見た目を実現できます。

注意点

  • 非常に新しいプロパティで、Chrome 144以降でのみサポートされています。他のブラウザでは通常の縦線キャレットが表示されます。

アクセシビリティ

  • キャレットの形状変更はテキスト入力の視認性に影響する可能性があります。特にブロック型キャレットは一部のユーザーにとって見にくい場合があるため、カスタマイズ可能にすることを検討してください。