INDEX
目次
2章 "コメント"でコードを意のままに操る!
この章の目安学習時間:90分
この章で到達できるゴール:
- 日本語のコメントや指示から、HTML/CSS/JavaScriptのコードを生成できる。
- 自分の作りたいものを自然言語でAIに伝え、コーディングさせるスキルが身につく。
【2-1】コメントからHTML/CSSを生成する
目安の学習時間:30分
コメントがコードに変わる!基本の術
これからのコーディングの基本スタイルはコメント駆動開発(Comment Driven Development)です。
これは、まず「これから何を作りたいか」をコメントとして書き、そのコメントに基づいてAIにコードを生成させる手法です。
このように、HTMLファイルやCSSファイルに日本語でコメントを書くと、Copilotはそのコメントのすぐ下に、対応するコードをインライン補完で提案してくれます。
この手法により、頭の中のイメージをまず言語化し、その言語化された指示から具体的なコードを生み出すという、新しい開発フローが実現します。
これは、まず「これから何を作りたいか」をコメントとして書き、そのコメントに基づいてAIにコードを生成させる手法です。
このように、HTMLファイルやCSSファイルに日本語でコメントを書くと、Copilotはそのコメントのすぐ下に、対応するコードをインライン補完で提案してくれます。
この手法により、頭の中のイメージをまず言語化し、その言語化された指示から具体的なコードを生み出すという、新しい開発フローが実現します。
秒速で組めるHTMLの骨格
それでは、実際にHTMLの骨格をコメントから生成してみましょう。
空のHTMLファイルの body タグ内に「サイト全体の基本構造を作成します。header、main 、footerタグを使って構成してください。」のようなコメントを記述し、その下でEnterキーを押すと、Copilotがコメントの構造通りに header , main , footer タグを含んだ骨格全体を提案してくれます。
Tab キーで受け入れるだけで、サイトの基本構造が一瞬で完成します。
複雑な構造であっても、コメントで「 section の中に article を3つ配置して、それぞれに h2 と p タグを入れる」のように具体的に指示すれば、その通りに生成してくれます。
空のHTMLファイルの body タグ内に「サイト全体の基本構造を作成します。header、main 、footerタグを使って構成してください。」のようなコメントを記述し、その下でEnterキーを押すと、Copilotがコメントの構造通りに header , main , footer タグを含んだ骨格全体を提案してくれます。
Tab キーで受け入れるだけで、サイトの基本構造が一瞬で完成します。
複雑な構造であっても、コメントで「 section の中に article を3つ配置して、それぞれに h2 と p タグを入れる」のように具体的に指示すれば、その通りに生成してくれます。
CSSはAIに"いい感じ"を伝えるのがコツ
次に、生成したHTMLにスタイルを当てていきましょう。
CSSの指示は、Copilot Chatを使うとより柔軟に行えます。
先ほど生成したHTMLコード全体をコピーし、Copilot Chatに貼り付けて、次のように指示します。
CSSの指示は、Copilot Chatを使うとより柔軟に行えます。
先ほど生成したHTMLコード全体をコピーし、Copilot Chatに貼り付けて、次のように指示します。
ポイントは、「モダンでおしゃれに」「ホバーしたら少し濃く」といった、具体的な数値ではなく「いい感じ」を伝えることです。
AIはこちらの曖昧な意図を汲み取り、適切なCSSコードを提案してくれます。
AIはこちらの曖昧な意図を汲み取り、適切なCSSコードを提案してくれます。
練習問題
問題
HTMLファイルに「サイトのフッターを作成します。ロゴとコピーライトの表記を含めてください。」というコメントを書き、CopilotにHTMLを生成させてみましょう。
解答例
Copilotは以下のような、footer タグと基本的なクラス名、そして内部要素を含んだHTMLを提案するはずです。(クラス名などは提案によって変わります)
HTMLファイルに「サイトのフッターを作成します。ロゴとコピーライトの表記を含めてください。」というコメントを書き、CopilotにHTMLを生成させてみましょう。
解答例
Copilotは以下のような、footer タグと基本的なクラス名、そして内部要素を含んだHTMLを提案するはずです。(クラス名などは提案によって変わります)
<footer class="site-footer">
<div class="footer-content">
<div class="footer-logo">
<img src="logo.png" alt="会社ロゴ">
</div>
<div class="footer-copyright">
<p>© 2025 会社名. All Rights Reserved.</p>
</div>
</div>
</footer>HTML
さらにチャットで「このフッターのCSSを書いて。
ロゴとコピーライトが左右に分かれるようにflexboxを使って」と指示すれば、CSSもすぐに完成します。
ロゴとコピーライトが左右に分かれるようにflexboxを使って」と指示すれば、CSSもすぐに完成します。
【2-2】AIと創るJavaScriptアニメーション!
目安の学習時間:30分
動きをプラス!JavaScriptアニメーション
Webサイトに動きを加えることで、ユーザー体験は格段に向上します。
インタラクティブな機能の実装に欠かせないのがJavaScriptです。
ここでは、Webサイトで頻繁に使われるUI(ユーザーインターフェース)の一つである「アコーディオン」をAIと共に実装してみましょう。
アコーディオンとは、質問部分をクリックすると回答部分がスライドして開閉するUIのことです。
インタラクティブな機能の実装に欠かせないのがJavaScriptです。
ここでは、Webサイトで頻繁に使われるUI(ユーザーインターフェース)の一つである「アコーディオン」をAIと共に実装してみましょう。
アコーディオンとは、質問部分をクリックすると回答部分がスライドして開閉するUIのことです。
JavaScriptの処理をAIと実装する
まずはアコーディオンの見た目となるHTMLとCSSを準備します。
これもCopilotに「アコーディオンUIのHTMLとCSSを生成して」と頼めば、基本的な構造はすぐに作ってくれます。
ここでは、以下のようなHTML/CSSが準備できたとします。
これもCopilotに「アコーディオンUIのHTMLとCSSを生成して」と頼めば、基本的な構造はすぐに作ってくれます。
ここでは、以下のようなHTML/CSSが準備できたとします。
<div class="accordion">
<div class="accordion-item">
<h3 class="accordion-question">質問1はなんですか?</h3>
<div class="accordion-answer">
<p>回答1です。ここに回答文が入ります。</p>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-question">質問2はなんですか?</h3>
<div class="accordion-answer">
<p>回答2です。ここに回答文が入ります。</p>
</div>
</div>
</div>HTML
/* CSS (回答部分は初期状態で非表示) */
.accordion-answer {
display: none;
}CSS
この状態で、Copilot Chatに次のように表示します。
Copilotは、指定されたクラス名( .accordion-question と .accordion-answer )を元に、イベントリスナーを追加し、クリックされた際の表示/非表示を切り替えるロジックを正確に生成してくれます。
生成されたコードをJavaScriptファイルに貼り付け、HTMLに読み込ませれば、アコーディオンUIの完成です。
生成されたコードをJavaScriptファイルに貼り付け、HTMLに読み込ませれば、アコーディオンUIの完成です。
考えてみよう!
Copilotが生成したアコーディオンのコードは、一つ開くと他の項目も開いたままでした。
「一つの項目を開いたら、他の開いている項目は閉じる」ように機能変更するには、AIにどんな追加指示を出せば良いでしょうか?
「一つの項目を開いたら、他の開いている項目は閉じる」ように機能変更するには、AIにどんな追加指示を出せば良いでしょうか?
解答例
現在の状況と、望む結果を具体的に伝えることが重要です。
「ありがとうございます。素晴らしいコードです。
追加で、一つのアコーディオンを開いた時に、他の既に開いているアコーディオンは自動的に閉じるように機能を変更してください。」
このように、まずはAIの働きを肯定し、その上で追加の要件を明確に伝えることで、AIは文脈を理解し、適切な修正コードを提案してくれます。
現在の状況と、望む結果を具体的に伝えることが重要です。
「ありがとうございます。素晴らしいコードです。
追加で、一つのアコーディオンを開いた時に、他の既に開いているアコーディオンは自動的に閉じるように機能を変更してください。」
このように、まずはAIの働きを肯定し、その上で追加の要件を明確に伝えることで、AIは文脈を理解し、適切な修正コードを提案してくれます。
【2-3】2章 -章末課題- [AIだけで作るカードコンポーネント]
目安の学習時間:30分
問題
AI(Copilot)へのコメントやチャットでの指示だけを使って、「画像、タイトル、説明文、ボタン」で構成されるカード型のコンポーネントを作成してください。
ホバーするとカードが少し浮き上がる( box-shadow が濃くなる、または少し上に移動するなど)CSSも適用してください。
ホバーするとカードが少し浮き上がる( box-shadow が濃くなる、または少し上に移動するなど)CSSも適用してください。
解答手順
解答例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="card">
<img src="image.jpg" alt="Sample Image">
<h2>Card Title</h2>
<p>This is a description of the card. It provides some information about the content.</p>
<button>Click Me</button>
</div>
<script>
document.querySelector('.card button').addEventListener('click', function() {
alert('Button clicked!');
});
</script>
<p>
このコードは、HTML、CSS、およびJavaScriptを使用しています。
カードのスタイルはCSSで定義され、ボタンのクリックイベントはJavaScriptで処理されています。
</p>
</body>
</html>HTML
.card {
background-color: #fff; /* 白い背景 */
border: 1px solid #e0e0e0; /* 薄いグレーの枠線 */
border-radius: 8px; /* 角丸 */
padding: 16px;
max-width: 300px;
text-align: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* 軽い影(任意) */
transition: box-shadow 0.3s, transform 0.3s; /* 追加: 滑らかな変化 */
}
.card img {
width: 100%;
height: auto;
border-radius: 4px;
margin-bottom: 12px;
}
.card h2 {
margin: 12px 0 8px;
}
.card p {
margin-bottom: 16px;
}
.card button {
margin-top: 8px;
}
.card:hover {
transform: translateY(-8px); /* 少し上に移動 */
box-shadow: 0 6px 20px rgba(0,0,0,0.15); /* 影を濃くする */
}CSS
この章のまとめ
これで「2章:"コメント"でコードを意のままに操る!」の解説を終わります。
コメントという自然言語から、構造(HTML)、見た目(CSS)、動き(JS)を自在に生み出すテクニックを学びました。
これは、これからのコーディングのスタンダードとなる強力なスキルです。
次の章では、新しくコードを作るだけでなく、既存のコードをAIの力でより良く改善する「リファクタリング」の技術を学びます。
コメントという自然言語から、構造(HTML)、見た目(CSS)、動き(JS)を自在に生み出すテクニックを学びました。
これは、これからのコーディングのスタンダードとなる強力なスキルです。
次の章では、新しくコードを作るだけでなく、既存のコードをAIの力でより良く改善する「リファクタリング」の技術を学びます。