モバイル
モバイルツールバーモードを有効にする
スマートフォンやタッチ操作が中心のデバイス向けにエディターの形を変える、オプトインのスタイルシートです。エディターのマークアップは変更しません。CSS だけで動作し、狭いビューポート用のメディアクエリの中に限定されているので、デスクトップのレイアウトは変わりません。
有効にする
エディターのコンテナーに rte-mobile クラスを追加し、rte_mobile.css を読み込みます。
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css" />
<link rel="stylesheet" href="/richtexteditor/rte_mobile.css" />
<div id="editor" class="rte-mobile"></div>ASP.NET Core のタグヘルパーを使う場合は、enable-mobile-toolbar="true" を設定するだけです。リンクを出力し、クラスも追加してくれます。
<richtextbox asp-for="Body" toolbar="full"
enable-mobile-toolbar="true" />変わること
- 44×44 のタップ領域 — WCAG 2.5.6 のターゲットのサイズを満たします。
- 横スクロールするツールバー — 折り返さないので縦のスペースを失わず、端にはスクロールできることを示すフェードのグラデーションがあります。
- 固定表示のツールバー — 仮想キーボードの上に固定されたままになります。
- ボトムシートのドロップダウン — フォント、色、挿入のメニューは、画面外にはみ出さず、下からスライドするシートとして表示されます。
- 全幅のダイアログ — リンク、画像、Ask AI のダイアログは、左右に 8px のセーフエリアの余白を取って表示されます。
- 下から開くレビュードロワー — コメント/変更履歴のドロワーは、右からではなく下からスライドして開きます。
- フローティングの段落ツールバーは無効 — iOS のキーボードと干渉していたためです。
- 16px のコンテンツフォント — エディターをタップしたときの iOS の自動ズームを防ぎます。
すべては次の中に限定されています。
@media (max-width: 768px), (pointer: coarse) {
.rte-mobile .rte-toolbar { /* ... */ }
/* ... */
}そのため、本番環境のコードでクラスを付けたままにしても問題ありません。デスクトップのビューポートでは、モバイル専用のルールは一切適用されません。
サイト全体の既定
すべてのエディターがスマートフォン優先の管理アプリでは、<body> にクラスを一度だけ付けます。
<body class="rte-mobile">
...
</body>これはページ上のすべてのエディターに適用されるので、インスタンスごとの属性は必要ありません。