担当領域

コーディング

使用言語等

HTML, CSS(SASS), jQuery, JavaScript

制作のポイント

CSS設計の方針

  1. 命名: BEMに準拠(.l-header, .c-button, .u-spなど)
  2. レスポンシブ: 768pxブレークでPC/SP切替
  3. ユーティリティ: .u-pc, .u-spでテキストの改行を制御
  4. ファイル構成: foundation/layout/component/utility に分割
  5. 変数管理: カラー・フォント・ブレークポイントをSass変数化

JavaScriptで実装した機能

  • ドロワーメニュー: ハンバーガーとドロワーの連動
  • スムーズスクロール: jQuery animateでページ内リンクに対応
  • スライダー: About(自動スクロール)、Spot(ナビゲーション付き)
  • アコーディオン: GSAPで高さアニメーション
  • モーダル: dialogで実装し背景をクリックで閉じる
  • ページトップ: スクロール表示切替(300px閾値)
  • フォーム: 送信シミュレーションとバリデーション

スライダー(Swiper.js)

Aboutは自動スクロール、Spotはナビゲーション付き。PC/SPでスライド枚数を調整。画像の自動ループを実装。

アコーディオン(GSAP)

HTMLの<details>でマークアップ。GSAPで高さとopacityをアニメーション。is-openedで状態管理。

モーダル(dialog)

showModal()/close()で開閉、オーバーレイクリックで閉じる。HTML dialog要素を採用し、JS依存を最小化。

スムーズスクロール

jQueryでページ内リンクに対応。ヘッダー高をouterHeight()で取得し、20pxオフセットを適用。

このコーディングで特に工夫した点

  • レトロテーマに合わせた猫をテーマにした装飾要素をcalc()を用いて相対位置・相対サイズで配置
  • セマンティックHTMLで構造化、適切なARIA属性を付与
  • Sass変数でカラー・フォントを一元管理
  • ブレークポイントを変数化し、メディアクエリを統一
  • Swiper.jsとGSAPで実装を簡素化

このコーディングでの学び

  • GSAPでアコーディオンの高さをアニメーション
  • HTML標準の<dialog>でモーダルを実装
  • アクセシビリティ対応でaria-labelledbyを付与
  • レスポンシブ画像の<picture>でPC/SP出し分け
  • 変数・mixinによるSassの保守性向上
  • スクロール量でのページトップボタンの表示切替