このレッスンのロックを解除するには、まず「レッスン2:Webアプリを視覚的に設計する」を完了してください。前のレッスンに戻る

はじめに

従来、フロントエンド開発と言えば手作業でHTML、CSS、JavaScriptを書くことを意味しました。ドラッグ&ドロップビルダーを使えば、ページを視覚的に組み立てることができ、ツールが背後でクリーンで本番運用可能なコードを生成します。このレッスンでは、レスポンシブなページのレイアウト、再利用可能なコンポーネントの管理、そしてプロフェッショナルな質感を演出するインタラクション設計という実践的なスキルに焦点を当てます。プラットフォームの例としては一貫してWebflowを使用し、アプローチが異なるBubbleやWordPress + Elementorにも簡潔に触れます。

コアレイアウトの概念

すべてのドラッグ&ドロップビルダーは、同じ3つの基本要素を提供します。コンテナ(SectionやContainerと呼ばれることが多い)、行またはflex/gridラッパー、そして個々の要素(テキスト、画像、ボタン、フォーム)です。ビルダーの役割は、ユーザーが描いたものをCSS(通常はFlexboxまたはCSS Grid)に変換することです。

レスポンシブページはモバイルファーストで構築します。すなわち、最小サイズの画面を基準にデザインし、その後タブレットとデスクトップに合わせて調整します。Webflowではキャンバス上部のブレークポイントビューを切り替えて作業します。重要な習慣として、width、padding、font-sizeは固定ピクセルではなく、パーセンテージベースまたは相対単位(VH、VW、REM、EM)で設定することです。

css
.hero-section {
width: 100%;
padding: 8vh 5vw;
font-size: 1.125rem;
}

上記の値はビルダーのスタイルパネルから設定しますが、その背後にあるCSSは手書きのコーダーが書くものとまったく同じです。この仕組みを理解しておくと、レイアウトの問題をデバッグしたり、ブレークポイントについて論理的に考えたりする際に役立ちます。

キャンバスデザインから生成されたCSS、そしてレスポンシブプレビューへと至る3ステップのレイアウトプロセスを示すフローチャート

再利用可能なコンポーネントとCMS

すべてのページに同じナビゲーションバーを手作業で配置するのは典型的なアンチパターンです。プラットフォームのSymbols(Webflow)、Reusable Elements(Bubble)、Global Widgets(Elementor)機能を活用しましょう。シンボルを一度編集すれば、すべてのインスタンスが更新されます。

頻繁に更新されるコンテンツ——ブログ記事、商品一覧、メンバー情報など——については、ページをCMSコレクションに接続します。テンプレートを1つデザインするだけで、ビルダーがコレクションの各エントリに対してページを自動生成します。コレクションのスキーマはシンプルなデータベーステーブルに対応します。

json
{
"collection": "BlogPosts",
"fields": {
"title": "Short Text",
"slug": "Short Text",
"coverImage": "Image",
"publishedAt": "Date",
"body": "Rich Text"
}
}

この構造(テンプレート)とデータ(コレクションエントリ)の分離こそが、ノーコードフロントエンドが単なるランディングページを超えてスケール可能にする仕組みです。

実践的なインタラクションの設計

静的なページだけでは不十分です。現代のビルダーにはインタラクションパネルが備わっており、トリガー(スクロールイン、クリック、ホバー)とアニメーション(フェード、スライド、ムーブ)を定義できます。ほとんどのニーズをカバーする2つのパターンがあります。スクロールに合わせたセクション表示と、メニューやFAQアコーディオンのクリック切り替えです。

フォームには特に注意が必要です。フォームブロックを各種サービスに接続しましょう——メールマーケティング(Mailchimp、ConvertKit)、スプレッドシート(Google Sheets)、あるいはAIエージェントのバックエンドへのWebhookなど。フォーム設定でクライアントサイドのバリデーションを有効化し、送信成功を確認するサクセス状態を必ず設定してください。送信が受理されたことを示すフィードバックが他にはないため、ユーザーはそれなしには不安を感じません。

html
<form action="/webhook/lead" method="POST">
<input type="email" name="email" required />
<input type="text" name="name" required />
<button type="submit">Get Started</button>
</form>

上記のWebhook URLは、レッスン2で構築したAIエージェントバックエンドが生成します。ビルダーはエージェントの存在を認識せず、提供されたエンドポイントにフォームデータをPOSTするだけです。

よくある間違い

モバイル環境で要素が重なって表示される場合、どこかに固定ピクセル幅が使用されていることが原因です。最小ブレークポイントでまずwidthとpaddingをすべて点検してください。もう一つの頻出問題は、ヒーロー画像にmax-widthを設定し忘れることで、大画面モニターで4000px幅で描画され、ページの表示速度が低下します。画像要素のmax-widthのデフォルトを100%に設定しておきましょう。最後に、コンテナを過度にネストしないでください。レイアウトの把握が困難になる限界は、通常3階層までです。

まとめ

ドラッグ&ドロップビルダーは、手作業で書くのと同じCSSとHTMLのためのビジュアルエディタです。レスポンシブの基礎(相対単位、モバイルファーストのブレークポイント)に注力し、SymbolsとCMSコレクションを活用して繰り返しを避け、実際のインタラクションとフォームWebhookを設定してフロントエンドをAIエージェントバックエンドと接続しましょう。次のレッスンでは公開とカスタムドメインの接続について扱います。

レッスン3:ドラッグ&ドロップビルダーによるフロントエンド構築