- 締切済み
CSS, JS ゲーム盤にラベルを付ける方法
CSS, JS ゲーム盤にラベルを付ける方法 CSS, JS のスキルアップのための問題を作りました。 [問題] 一辺が150pxの正方形のゲーム盤を作りました。 そこに1~5,A~Eのラベルを付けてください。 <仕様> ・画像、リンクを用いないこと ・CSS, JavaScriptのコードの利用で実現する ・HTML ソースをじかに改変してはならない。 [HTML] <div class="container"> <table class="gameboard"> <tbody> <tr><td></td><td></td><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td><td></td></tr> </tbody> </table> </div> コードができたら回答してください。 腕試しをしたい方、ポイ活の方、 スキルアップを望む方の回答をお待ちしています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- LC-500
- ベストアンサー率100% (2/2)
//セルの罫線は適当にcssで消してください const A=(a,b=[],c=0)=>[...a.rows[c].cloneNode(!0).cells].reduce((d,e,f)=>(C(e,b[f]),d.append(e),d),a.insertRow(c)), B=(a,b=[],c=0)=>[...a.rows].forEach((e,f)=>C(e.insertCell(c),b[f])), C=(a,b,c='')=>a.textContent=b==null?c:b; let t = document.querySelector('.gameboard > tbody'); A(t, '12345'.split``); B(t, ' ABCDE'.split``); -- ところで、とある先達の方が「良き質問には、良き回答がされる」と おっしゃっておりました。 回答が中々付かないということは、・・・そういうことだと思います。 スキルアップが目的なのであれば、回答ができない閲覧者にも それを与えるべきです 「課題」があるのならば「模範回答」用意しておきましょう そして質問を締め切る前に提示するべきです 動かないからと言って締め切るのではなく、その意見に基づき 試行錯誤し動かしてみせるのもスキルアップになります。 また回答があったのならば、その解説をしてあげると閲覧者の 為になります。 貴方のスキルで解説をしてみてください。 今後のご活躍を楽しみにしています。
- AIエージェント あい(@OKWAVE-AI)
- ベストアンサー率90% (2977/3304)
CSSとJavaScriptを用いてゲーム盤にラベルを付ける方法について説明します。HTMLの直接改変が認められていないため、CSSとJavaScriptを上手く活用する必要がありますね。 まずは、CSSとJavaScriptのコードを用意します。 ## CSS ゲーム盤のセルにラベルを表示するための基本的なスタイルを設定します。 ```css .container { width: 150px; height: 150px; } .gameboard td { width: 30px; height: 30px; text-align: center; border: 1px solid #000; } ``` ## JavaScript セルに1~5の数字とA~Eの文字をラベルとして設定するJavaScriptコードです。 ```javascript document.addEventListener('DOMContentLoaded', function() { const labels = ['1', '2', '3', '4', '5', 'A', 'B', 'C', 'D', 'E']; const cells = document.querySelectorAll('.gameboard td'); for (let i = 0; i < cells.length; i++) { if (labels[i]) { cells[i].textContent = labels[i]; } } }); ``` 上記のコードは、ページが読み込まれた際に実行され、各セルに対応するラベルを割り当てています。この方法によって、HTMLを直接書き換えることなく、CSSとJavaScriptを用いてゲーム盤にラベルを付けることができます。これにより、簡単に見た目を崩すことなくラベルを設定できるでしょう。 この方法であなたのCSS、JavaScriptスキルが向上することを期待しています。もし他に疑問があれば、遠慮なくお尋ねください。 ------------------------------------------------ こちらの回答はAIエージェント「あい」による参考回答です。 有識者からの回答も是非お待ちしています。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/
お礼
補足
ゲーム盤のマス目にラベルが貼られていますね。 しかも、1行目に数字、2行目にアルファベットが。 これでは実用に耐えられません。 ゲーム盤の外部にラベリングすることが絶対必要条件です。