HTML&CSS Webデザイン 現場レベルのコーディング・スキルが身につく実践入門 第3章

学習初期にお世話になったサイト「Codejump【旧 Codestep】」の方が出版された本です。
全575ページとボリューム満点ですが、楽しみながら取り組みたいと思います!

書籍情報

タイトルHTML&CSS Webデザイン
現場レベルのコーディング・スキルが身につく実践入門
著者小豆沢 健
出版社技術評論社
発売日2025/1/14
価格3,520 税込
ページ数576ページ

本の詳細は、こちらのリンクをご参照ください。

目次

第1章【入門編】プロフィールサイトを作ろう(済)
第2章【初級編】ブランドサイトを作ろう
第3章【中級編】サービスサイトを作ろう ←今、ココ
第4章【上級編】カフェサイトを作ろう
第5章【応用編】ランディングページを作ろう
第6章【実践編】コーポレートサイトを作ろう

進捗

第3章 【中級編】サービスサイトを作ろう

難易度 ★★★
簡単なHTML&CSS&JavaScript(jQuery)を使用した複数ページの練習サイト

いよいよ、複数ページの作成です。
ハンバーガーメニューも楽しみ♪

日数日付メモ
12025/02/223-1 完成イメージの確認URL
⇒ 「トップ」「サービス」「料金」「お問い合わせ」の4ページ
⇒ ハンバーガーメニュー(jQuery)
⇒ 斜めの背景、 吹き出し、ご利用の流れ、表、フォーム
3-2 コーディングポイントの確認
⇒ ディレクトリ構成、ラインが斜めのボックス、吹き出し、三角形(疑似要素)、表、フォーム、Googleフォント、ハンバーガーメニュー
3-3 コーディングの準備をしよう
⇒ ダウンロード、デザインデータ確認、素材確認、完成サイト確認、フォルダとファイルの作成

使い回せるコードの検討(調整中…)

使い回しができるように、コードの基本形を作る試みをしています。
まだまだ試行錯誤の現状で整っていませんが、テキストが終わる頃には仕上げたいと思います。

HTMLの基本の型

<!DOCTYPE html>
<html lang="ja">
<head>
    <!-- 文字コード -->
    <meta charset="UTF-8">
    <!-- レスポンシブ対応 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- タイトル -->
    <title>ページタイトル</title>
    <!-- 概要 -->
    <meta name="description" content="説明">
    <!-- ファビコン -->
    <link rel="icon" href="./img/favicon.ico">
    <!-- アップルタッチアイコン -->
    <link rel="apple-touch-icon" href="./img/apple-touch-icon.png">
    <!-- リセットCSS -->
    <link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css">
    <!-- CSSファイルの読み込み -->
    <link rel="stylesheet" href="./css/style.css">
</head>
<body>

    <!-- ヘッダー -->
    <header class="header wrapper">
        <!-- ロゴ -->
        <h1 class="header__logo">
            <a href="./index.html">
                <img src="./img/logo.svg" alt="タイトルロゴ">
            </a>
        </h1>
        <!-- グローバルナビ -->
        <nav class="header__nav global-nav">
            <ul class="global-nav__list">
                <li class="global-nav__item">
                    <a href="#menu1" class="global-nav__link">メニュー1</a>
                </li>
                <li class="global-nav__item">
                    <a href="#menu2" class="global-nav__link">メニュー2</a>
                </li>
            </ul>
        </nav>
    </header>

  <!-- メイン -->
    <main class="main wrapper">

        <!-- メインビジュアル -->
        <div class="mainvisual">
            <img src="./img/mainvisual.jpg" alt="代替テキスト">
        </div>

        <!-- セクション -->
        <section class="section-name section">
            <div class="section-name__wrapper">
                <!-- セクションタイトル -->
                <h2 class="section-name__title section-title">
                    セクションタイトル
                </h2>                
              <!-- 画像 -->
              <div class="section-name__img">
                  <img src="./img/section-name.jpg" alt="">
              </div>
              <!-- テキストボックス -->
              <div class="section-name__text-box">
                  <h2 class="section-name__heading heading-lg">
                      <span class="heading-lg__en">Title</span>
                      <span class="heading-lg__ja">タイトル</span>
                  </h2>
                  <p class="section-name__description">
                      セクションの説明
                  </p>
              </div>
                <!-- リスト -->
                <ul class="section-name__list">
                    <li class="section-name__item">
                        <img src="./img/item1.jpg" alt="アイテム1">
                    </li>
                    <li class="section-name__item">
                        <img src="./img/item2.jpg" alt="アイテム2">
                    </li>
                </ul>
            </div>
        </section>

    <!-- フッター -->
        <footer class="footer wrapper">
            <p class="footer__copyright"><small>@ サイト名.</small></p>
        </footer>

  </main>
</body>
</html>

CSSの基本の型

@charset "UTF-8";

:root {
  --font-set: 'YuGothic', 'Yu Gothic', sans-serif;
  --font-set-min: 'YuMincho', 'Yu Mincho', serif;
  --font-size: 15px;
  --font-weight: 500;
  --letter-spacing: 0;
  --line-height: 1.8;  /* calc(27/15) */
  --color-text: #333;
  --color-link: #333;
  --color-bg: #fdf8f8;
  --width-contents: 1040px;
}

/*-------------------------------------------
ベース
-------------------------------------------*/

html {
    font-size: 100%;
}

body {
    font-family: var(--font-set);
    color: var(--color-text);
    background-color: var(--color-bg);
}

p {
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  letter-spacing: var(--letter-spacing);
  line-height: var(--line-height);
  text-align: justify;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

li {
    list-style: none;
}

a {
    color: var(--color-link);
    text-decoration: none;
}

a:hover {
    opacity: 0.7;
}

/*-------------------------------------------
共通パーツ
-------------------------------------------*/
/* コンテンツ幅の指定 */
.wrapper {
    max-width: var(--width-contents);
    padding: 0 var(--padding-inline);
    margin: 0 auto;
}

/* セクション */
.section {
  padding-top: 130px;
  padding-bottom: 130px;
}

/* セクションタイトル */
.section-title {
    font-family: var(--font-set-min);
    font-weight: var(--font-weight);
    font-size: 80px;
    letter-spacing: 0.1em;
    line-height: 1.2;
    margin-bottom: 40px;
}

/* 見出し(大) */
.heading-lg {
    font-family: var(--font-set-min);
    font-weight: var(--font-weight);
    line-height: 1.5;
}

.heading-lg__en {
    display: block;
    font-size: 40px;
}

.heading-lg__ja {
    display: block;
    font-size: 14px;
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/
.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 35px;
    padding-bottom: 35px;
}

.header__logo {
    width: 100%;
    max-width: 190px;
    line-height: 0;
}

.header__logo a {
    display: block;
}

.global-nav__list {
    display: flex;
    align-items: center;
}

.global-nav__item {
    font-size: 14px;
    margin-left: 40px;
}

/*-------------------------------------------
メインビジュアル
-------------------------------------------*/
.mainvisual img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}

/*-------------------------------------------
フッター
-------------------------------------------*/
.footer {
    padding-bottom: 20px;
}

.footer__copyright {
    text-align: center;
}
.footer__copyright small {
    font-size: 12px;
}

/*-------------------------------------------
スマートフォン
-------------------------------------------*/
@media screen and (max-width: 767px) {

  /* 共通パーツ
  ---------------------*/
  .section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .section-title {
    font-size: 24px;
  }

  /* ヘッダー
  ---------------------*/ 
  .header .logo {
    max-width: 120px;
  }

  /* メインビジュアル
  ---------------------*/ 
  .mainvisual img {
    height: 480px;
  }

}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA