CSS で文字を回転させるには、 style="transform: scale(-1, -1)" のように指定する。 style="transform: rotate(180deg)" という指定でもよいが、こちらは位置が定めにくいという問題がある。
将棋盤を CSS で実現している例に、将棋アルバトロス (kifusaisei.com) がある。
この将棋アルバトロスのコードを参考にして、CSS で将棋盤を作ってみた。次がその第1案である。
後手持駒 角 | |||||||||
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
香 | 桂 | 銀 | 金 | 玉 | 金 | 銀 | 桂 | 香 | 一 |
飛 | 二 | ||||||||
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 三 | ||
歩 | 四 | ||||||||
歩 | 歩 | 五 | |||||||
六 | |||||||||
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 七 | |
馬 | 飛 | 玉 | 八 | ||||||
香 | 桂 | 銀 | 金 | 金 | 銀 | 桂 | 香 | 九 | |
先手持駒 なし |
いろいろな点で改良の余地がある。第2案として、一般的な書籍の例にならい、先手後手の持ち駒を縦書き表示にしよう。
持駒 ☖角 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | ||
香 | 桂 | 銀 | 金 | 玉 | 金 | 銀 | 桂 | 香 | 一 | 持駒 ☗なし | |
飛 | 二 | ||||||||||
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 三 | ||||
歩 | 四 | ||||||||||
歩 | 歩 | 五 | |||||||||
六 | |||||||||||
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 七 | |||
馬 | 飛 | 玉 | 八 | ||||||||
香 | 桂 | 銀 | 金 | 金 | 銀 | 桂 | 香 | 九 |
デザインとしてはまだ改良の余地はあるが、ここまでにしておく。
将棋の盤面を表す形式のうち、 sfen 形式で CSS に基づく盤面が表示できるか、試してみる。 sfen 形式の1行テキストを入れて [表示] ボタンをクリックすると、テキストエリアに HTML が生成される。これを WEB ページに貼り付けると、 盤面が表示される。まだバグもあるが、とりあえず作った。