Webの最新トピックを配信中!

【上級編】企業サイトのコーディング練習


無料コーディング練習所【上級編】の学習ページです。

8ページの企業サイトを作ります。今まで学んできた知識をフルに活用して作っていきましょう。Gitの使い方やNetlifyへのアップロード方法も覚えましょう。余裕があればIE11に対応してみましょう。
※IE11は2022年6月16日にサポートが終了したので、対応するかどうかはご自由に判断してください。余裕がある方は「古いブラウザにも対応するための練習」として、AutoprefixerとPolyfillの使い方をここで学習してみてください。また、「IE11対応」とは一体どういう対応だったのかを歴史として読んでみてください。

「デザインデータ」と「完成版コーディングデータ」を無料でダウンロード可能です。
デザインデータ(XD/71.2MB)
完成版コーディングデータ(ZIP/11.4MB)
※FontAwesomeのCDNは本サイトによるアカウントによって発行したものを埋め込んでいます。もし、このコーディングデータを外部サーバー等にアップロードする場合は、FontAwesome公式サイトよりご自身で埋め込みタグを発行して差し替えてご利用ください。

実際のコーディング例はこちらです。わからない箇所は解答例として参考にしてみてください。
コーディング例
※今回は無料のホスティングサービス「Netlify(ネトリファイ)」を利用します。

依頼ねこ(ディレクター)からの伝言

依頼ねこ

ポンポコ
(ディレクター)

とうとう上級編まで来たにゃご!おめでとうにゃご!今回はややページ数が多い企業サイトを作ってくれにゃご。Sass(DartSass)でしかもFLOCSSで書いてほしいにゃご。font-sizeの単位はremでお願いにゃご。静的サイトのホスティングサービス「Netlify」にサイトを上げてほしいにゃご。今まではMateral iconを使ってきたけど今回はFontAwesomeを使ってくれにゃご。パンくずリストはスクロール途中でヘッダーに固定するようしてにゃご。リセットCSSはress.cssを使ってにゃご。
あ、そうだ……余裕があればIE11にも対応して崩れないようにしてにゃご……NEWSの記事のツイッターのボタンはIE11非対応だから崩れてもいいよ。あとRecruitページのスタッフの斜めの写真もclip-pathはIE11で使えないから斜めじゃなくて水平に表示されててOKにゃご!
ここまでできたらもう初心者は脱出にゃご!立派なコーダーにゃご!

上級編のレベル

コーディング自体はこれまでに学んだ知識とスキルで十分に対応できるレベルです。
今回の課題は、CSSはSass(DartSass)かつFLOCSSの書き方で対応し、GitHubにPushすることで自動でNetlifyへサイトがデプロイ(アップロード)されるようにすることです。font-sizeの単位にはremを使用しましょう。また、余裕があればIE11でも表示が可能な限り表示が崩れないようにします。とりあえずここまでできるようになれば、コーディング初心者は脱して中級者の入り口に立った状態と言えるでしょう。

上級編の学習内容

コーディング手法

Sass(Dart Sass)/FLOCSS/単位「rem」の使用/IE11対策/Autoprefixerで自動でベンダープレフィクスを付与/Git初歩/Netliyへのデプロイ/FontAwesome

HTMLタグとCSSプロパティ

clip-path

デザインデータ


デザインデータ(XD/71.2MB)

完成版コーディングデータ

完成版コーディングデータ(ZIP/11.4MB)
コーディング済みのファイル一式です。回答例として参考にしてみてください。
※FontAwesomeのCDNは本サイトによるアカウントによって発行したものを埋め込んでいます。もし、このコーディングデータを外部サーバー等にアップロードする場合は、FontAwesome公式サイトよりご自身で埋め込みタグを発行してご利用ください。

学習の進め方

デザインカンプから必要な画像を書き出してコーディングします。
また、コーディング例を見たり、完成版コーディングデータをダウンロードして参考にしてみてください。

進捗をTwitterで、 #無料コーディング練習所 のハッシュタグ付きでツイートしていただければ、いいねやRTをさせていただきます。

ポートフォリオへの掲載や著作権について

こちらのデザインをコーディングしたものはポートフォリオやブログへ掲載していただいてOKです。XDのデザインもご自身で改変していただき、オリジナルのデザインを作ってポートフォリオに掲載していただいてかまいません。掲載する際は『無料コーディング練習所』へリンクを貼るようお願いいたします。
デザインを変えず再配布や販売する行為は禁止です。

解説

Sass(Dart Sass)

SassはCSSをより効率的に書ける記法です。

.p-news {
  &__inner {
    display: flex;
    max-width: 950px;
    @include g.mq(md) {
      display: block;
    }
  }
  &__heading {
    margin-right: 50px;
    @include g.mq(md) {
      margin-right: 0;
      margin-bottom: 30px;
      text-align: center;
    }
  }
  &__body {
    flex: 1;
  }
}

SassはBEMやこの後に説明するFLOCSS(フロックス)と相性が良く、上記のようにネスト(入れ子)にしてCSSを記述できます。「&」は親要素の省略でこの場合は.p-newsを指します(この&を使った書き方は各プロパティの検索ができなくなるので好まない人も多いです)。他にも変数の利用やパーシャル(ファイル分割)などSassには様々な機能があります。

Sassをコンパイル(SassからCSSに変換すること)する方法として以前から使われていたLibSassが非推奨となり、DartSass(ダートサス)への移行が必要になりました。DartSassで書いていきましょう。DartSassをVSCodeで使用するために拡張機能の「DartJS Sass Compiler and Sass Watcher」をインストールしましょう。DartSassの概要についてははにわまんさんの記事がわかりやすいです。「DartJS Sass Compiler and Sass Watcher」の使い方については夢見るゴリラさんの記事がとてもわかりやすいです。

この教材も夢見るゴリラさんの「Sassで@useと@forwardを使ったサイト設計 – @importから切り替える手順」記事を参考にさせていただきファイル構成を作っています。

FLOCSS

FLOCSS(フロックス)はBEMに似た書き方で、クラス名の前にそのブロックの役割を示すl-、p-、c-などを付けるのが特徴です。

<div class="c-media">
  <div class="c-media__img-wrapper">
    <img src="img/service02.jpg" class="c-media__img" alt="">
  </div>
  <div class="c-media__body">
    <h3 class="c-media__title">
      Webサイト運用
    </h3>
    <div class="c-media__text">
      <p>サイトの更新作業や独自のアクセス解析に基づいたサイト改善のご提案が可能です。<br>日々の面倒な更新作業は私たちにおまかせください。テキストの修正やリンクの張り替えなどの簡単な作業から、特集ページやバナーのデザインまで可能です。<br>
また、アクセス解析によるサイト改善も承っております。ご購入やお申込数などにお悩みでしたらぜひご相談ください。サイトの課題を発見し、改善案のご提案から実装までワンストップで対応いたします。
      </p>
    </div>
  </div>
</div>

FLOはそれぞれ、F(Foundation)、L(Layout)、O(Object)の略です。
Foundationフォルダの中にはベースとなるCSSファイルやリセットCSS、CSSアニメーション関連のCSSファイルなどサイト全体の基盤となるCSSファイルを格納します。
Layoutフォルダの中にはheaderやfooterなどレイアウト関連のCSSファイルを格納します。
Object内にはcomponentsフォルダとprojectフォルダを用意して、それぞれのファイルにc-で名前が始まる小さな部品のCSSファイルや、p-で名前が始まるより大きなパーツのCSSファイルを格納します。

BEMの場合、規模が大きいサイトになると、各ブロックがシンプルな部品なのかそれともより大きな単位のセクションなのか見分けがつかなくなりがちです。シンプルな部品にはcomponentsの頭文字のc-を、より大きな単位のセクションやパーツにはprojectの頭文字のp-を付与して区別しやすくします。フォルダも分けることで探しやすくなります。

一方でやみくもにFLOCSSを使うことは避けた方がいいというのが個人的な見解です。componentsとprojectのどちらにすべきか案件やチームによってその定義が様々で混乱を生みやすいです。サイトによっては大勢の人間が関わります。誰がも自由にオレオレFLOCSSを書いてしまうとcomponentsとprojectがごちゃごちゃに混じってしまい逆に破綻します。
またこれが地味にすごく重要なのですが、FLOCSSの書き方を知らないコーダーも多く、改修する際はBEMで書いてしまった…という事態も起こりえます。こうなるとHTMLもCSSもグチャグチャになりCSS設計は破綻します。
FLOCSSを使用する場合は、しっかりとガイドラインを設けてチームや社内で運用する必要があります。

単位「rem」の使用

今回はfont-sizeの単位として「px」ではなく「rem」を使いましょう。つねにWeb制作界隈ではpx・rem論争が起こっています。どちらを単位として使うべきかは案件やチームにもよるので、どちらも使えるようにしておきましょう。

Sassでremを使うために専用のmixinを用意します。mixinは繰り返し使いたいプロパティ等をまとめて表示できる仕組みです。少しややこしいですが便利なので覚えましょう。

@mixin font-size($size) {
  font-size: $size + px;
  font-size: ($size / 16) * 1rem;
}

_mixin.scssファイル内の記述です。このmixinでは、font-size()の引数にフォントサイズの数字を渡して、pxとremの2行を出力してくれます。

@include g.font-size(14);

font-size:14pxの記述の代わりに、このように記述します。

font-size: 14px; /* フォールバック */
font-size: 0.875rem;

すると、このようにCSSファイルに書き出されます。remだけでなく古いブラウザに対応するためにpxも併記させることをフォールバックと言います。remが無効の場合はpxが適用されます。IE11も一応remには対応しているようですが、念のためフォールバックを書いておきました。

IE11対策

余裕があれば、IE11でも崩れないようにサイトを表示します。

IE11では、CSS変数、postion:sticky、object-fit、clip-path、画像フォーマットWebPなど様々なプロパティや機能が使えません。Polyfill(ポリフィル)という古いブラウザでも動くようにするJSファイル等によって一部対応可能になります。
今回はpostion:stickyのPolyfillを使用します。使い方はこちらのブログが参考になります。

画像はWebPではなく、JPGを使用しています。

display:grid;は一応使えるのですが、一部でIE11特有の書き方をする必要があり面倒です。そのためGridは使わずFlexboxで対応しています。

Swiperのバージョンも新しすぎるとIE11を切り捨てているためうまく動きません。コーディング例ではIEでも動くバージョン5.4.5を使用しています。

また、以下で紹介する「Autoprefixer」によって、自動でIE11対応のベンダープレフィクス付きのCSSプロパティを書き出してくれるようにします。これでIE11でも問題なく表示されるようにします。

Autoprefixerで自動でベンダープレフィクスを付与

"autoprefixer.formatOnSave": true,
"autoprefixer.options": {
  "browsers": ["last 1 versions", "> 5%", "ie 11"]
}

VSCodeの拡張機能「Autoprefixer」で、指定したブラウザに合わせて自動でベンダープレフィクスを付与してくれます。これはVSCodeのsetting.jsonに記述した内容です。このように書くと「最新バージョン・シェア率5%以上・IE11」のブラウザに対応したベンダープレフィクスを書き出してくれます。

writing-mode: vertical-lr;

Autoprefixerを実行する前は、テキストを横から縦に変えるwriting-modeはこの記述だけでした。

-ms-writing-mode: tb-rl;
-ms-writing-mode: tb-lr;
-webkit-writing-mode: vertical-lr;
writing-mode: vertical-lr;

Autoprefixerを実行すると、このようにベンダープレフィクス付きのCSSプロパティが自動で追加されます。

ブラウザの指定方法などautoprefixerの使い方については、詳しくは「autoprefixer browsers」などでGoogle検索して探してみましょう。

Git初歩

今回はGitを利用し、Git→GitHub→Netlifyの流れでサイトをアップロードします。「Git Netlify」などとGoogle検索すると、Gitでコミットし、GitHubにプッシュ、連携してNetilfyへアップロードできる方法が見つかります。

Gitをこれから学習する方は、ネットの記事やUdemyの講座などで学習しておきましょう。

Netilfyの利用

静的ホスティングサービスのNetlifyにサイトをアップロードします。無料で利用できます。

GitHubとNetlifyの連携

GitHubとNetlifyを連携させます。GitHubにプッシュすると自動でNetilfy上のサイトが更新されるようにしましょう。

FontAwesomeの利用

ボタンの三角形アイコンやページトップへ戻るの矢印アイコンにFontAwesomeを使用しています。公式サイトの「Start for Free」ボタンからタグを発行して使用してください。

 

【上級編】の解説は以上です。おつかれさまでした!

終わりに

上級編はできましたか?ここまで本当におつかれさまでした!

この『無料コーディング練習所』以外にもコーディングを練習できるサイトやサービスがあります。

Codestep(無料)
PENGIN BLOG(無料)
模写修行(一部無料)

質が高くオススメのコーディング教材です。『無料コーディング練習所』では僕の書き方のクセが無意識に反映されてしまっています。そのため、他の制作者によるコーディング教材にも取り組んでみて、様々な書き方に触れることをオススメします。

無料コーディング練習所TOPへ

クレジット表記

画像

Unsplash
Pexeles

フォント

Googleフォント
Material icon
Subtle Patterns

リセットCSS

ress.css

JQueryライブラリ

Swiper

Polyfill

Stickyfill

参考文献

夢見るゴリラ様
HPcode(はにわまん)様
ハシウェブ様

コラム①:Webデザイナーを強くオススメする理由

エンジニアになるのは本当に難しいです。
だからこそ、このサイトでは、Webデザイナーになることを強くオススメしています。

でも、もし、エンジニアになれれば、月収100万円以上も可能です。実際に僕の友人も軽く年収1000万円は超えています。

ほとんどの人がエンジニアにはなれないので、50〜60万円以上はする高額なプログラミングの学校に行くのはお金をドブに捨てる可能性があります。
どうしてもエンジニアになりたい方は、無料でプログラミングを学べるProEnginner開講の学校『プログラマカレッジ』のようなスクールに行きましょう。プログラマカレッジは、学校&就職支援の一体型サービスです。

無料のプログラミング学校は他にも、『GEEK JOB』があります。就職率97.8%と驚異的な数字を出しています!よりエンジニア色の強いカリキュラムを受けたい場合はこちらを受講します。

他にも、PHPに特化した無料の『無料PHPスクール』もあります。PHPはがっつりプログラミングの言語である一方で、ECサイト構築やWordPressにも使われるWeb系と親和性が高い言語なので、Web系に進みたい人には無料PHPスクールはオススメです。23日間通学でけっこうハードなカリキュラムです。

この3つの学校のどれかに通って、自分にエンジニアとしての素質があるのかチェックしてください。もし、あなたに才能があったら、最高にラッキーな人生です。無料見学をしてみて自分に合いそうな雰囲気の学校を選びましょう。20代のみ対象です。もし20代ならこのチャンスをぜひつかんでください。


参考記事 : なぜ「エンジニア」ではなく「Webデザイナー」をすすめるのか

無料のプログラミング学校『プログラマカレッジ』の詳細を読む
コラム②:正社員のWebデザイナーを強くオススメする理由

このサイトでは、
本当にWebデザインのスキルを磨きたいなら、未経験の方はまずはWeb制作会社に正社員で入社すること
を強くオススメしています。

Webの最先端に触れられるWeb制作会社に入社し、スキルをガッツリ高めてほしいです。そして、社内では、やはり派遣でもなく、アルバイトでもなく、長く在籍する可能性のある正社員にこそ成長できるお仕事を振ってくれるのです。派遣やアルバイトは、リンク張り替えやテキスト修正など成長しづらい作業をやらされがちです……。

未経験OKで正社員のWebデザイナー・フロントエンドエンジニア案件を多く保有しているのが、IT系に強いWebistです。 ※現在はコロナの影響でWebistですら未経験OKの求人が少ない状況です。ただ、少しでも選択肢を増やすために、また今後状況が改善されてきた時のために、ポートフォリオを制作後に登録しておきましょう。

『Webist』公式サイトへ
コラム③:ポートフォリオのチェックリストをnoteで販売中!

「ポートフォリオを作ってみたけど不安...」「周りにレビューをしてくれる人がいない...」
そんなお悩みを解決するために、ポートフォリオのチェックリストを作りました!27,000文字以上の大ボリュームです笑。noteで販売中です。激安のワンコイン500円です。このチェックリストで改善点を見つけて、少しでもポートフォリオの質を上げて、自分が望む就職に繋げましょう!

noteの販売ページへ

コメントは受け付けていません。

  • 管理人(ねこポン)について

    週3日だけ会社で働く30代前半ウェブデザイナーです!
    インテリ風&仕事できる風を醸し出す腕前では右に出る者はいませんが、電話すら怖くて取れないし、無断欠勤してしまい自宅に警察が来たほどのコミュ症ポンコツ人間です。
    現在Web業界5年目。事業会社とWeb制作会社のウェブデザイナーを経て、フリーランスになりました。

    ★ 僕の20代まるごと黒歴史ストーリー

    最近ちょこっと『月曜から夜ふかし』に出演しました↓

    ★ 『月曜から夜ふかし』にちょこっと出演したら『BizSPA!』さんにインタビューしてもらいました!

    お問い合わせはこちら

  • なんでもWebの質問受け付け中 (^o^) /♪

  • ポートフォリオチェックリスト84 【note】絶対チェック!ここを直せば一気に良くなる84項目
    無料コーディング練習所 デザインカンプ・コーディングデータ付いてます。
    ポートフォリオ用WordPressテーマ作りました!PORTFOLIOベーシック
    スクール23校をまとめました!Webデザインスクール一覧

    おすすめのWebデザインスクール一覧

    おすすめのWebデザイン&プログラミングスクールを一部紹介!主要なスクール23校は『Webデザインスクールの一覧』でチェックしましょう。

    スクール名 料金 授業形式 ジャンル 就職支援

    求職者支援訓練
    ハロートレーニング
    無料
    (教材費のみ)
    通学
    (約6ヶ月/週4〜5日)
    Webデザイン ハローワークによるサポート
    プロによる総評

    一番おすすめのスクールは国の運営する求職者支援訓練(ハロートレーニング)です。授業料が無料!しかも約6ヶ月という期間がWebデザインの基礎スキルを習得するのに十分な長さです。僕自身も求職者支援訓練を経てWebデザイナーになりました。
    東京にはWebデザイナー系の訓練校は6校ほどあり、各地域にも1〜3校ほどは見つかるため、どんな人も通いやすいのもおすすめのポイントです。
    ふだん税金を払っているので、このようなスクールはしっかり活用させてもらいましょう笑。


    失業保険が受給できる方は職業訓練がおすすめです。期間が約3ヶ月と短くやや理解が浅くなる点は不安ですが、復習や独学で補えれば問題ありません。最近は数は2校ほどで少ないですが6ヶ月コースも登場しました!
    スクール名 料金 授業形式 ジャンル 就職支援

    LIG
    有料
    (¥450,000 〜)
    通学
    (6ヶ月)
    Webデザイン 転職セミナーあり/LIGへの採用実績もあり
    プロによる総評

    金銭的に余裕があればLIGを検討しましょう。超有名Web制作会社LIGによるWebデザインスクールです。現役のプロデザイナーが講師で、Mac&デュアルディスプレイという最新設備で学べます!LIG運営のコワーキングスペースも無料で使い放題。生徒のレベルによってはLIGへの就職も可能です。

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    デイトラ
    有料
    (¥89,800〜)
    オンライン
    (90日間/質問期間は1年)
    Webデザイン なし
    プロによる総評

    『デイトラ』はかなりコスパの高いオンライン完結型のWeb制作スクールです。格安ながらもデザインとコーディングのレビュー(添削)が受けられます。人気急上昇中でTwitterで受講生のツイートを見ない日はありません。「課題 + 課題のレビューあり + 質問し放題」というサービスを提供しています。

    デザイン力とコーディングスキルはレビューをしてもらってこそ急速に成長するため、かなりオススメのスクールです。というか今のところ低価格で他にデイトラのようなスクールが存在しないんですよね...。通学式のスクールに40、50万円も払う余裕はないけど、デザインやコーディングのレビューはしてほしい!という方はデイトラを受講しましょう。

    Twitter内にはデイトラの受講生がかなり多くいるので、一緒に学習を頑張る仲間も見つけられます。

    デザインを重点的に学びたい方は「Webデザインコース」、コーディングスキルを高めたい方は「Web制作コース」を受講しましょう。

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    Famm
    有料
    (¥162,800)
    オンライン
    (1ヶ月)
    Webデザイン なし(案件獲得サポートあり)
    プロによる総評

    ママさん専用Webデザインスクールです。現在はコロナでライブ配信授業が中心です。なんと授業中は自宅にシッターを手配してくれるのでしっかり集中できます。受講期間は1ヶ月で5日間という超短期間なので、忙しいママさんでも時間を確保しやすいです。生徒はママさんだけなので、ママさん同士の交流も楽しめます。

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    CodeCamp
    Webデザイン副業コース
    有料
    (¥148,000 〜)
    オンライン
    (2ヶ月〜)
    Webデザイン キャリア支援あり
    (就職エージェントの紹介)
    プロによる総評

    CodeCampはオンラインのWebデザインスクールです。低価格ながら講師から直接指導とフィードバックを受けられるのが最大の特長です!おすすめのコースは「Webデザイン副業コース」。コスパ重視で講師と対話しながら学びたい人に最適なスクールです。

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    プログラマカレッジ
    無料 オンライン プログラミング あり
    プロによる総評

    『プログラマカレッジ』は20代限定のオンラインの完全無料のプログラミングスクールです。無料なのでエンジニアになりたい方はぜひ挑戦してみてください。スクール側は就業先の企業からお金をもらうことで無料で運営をしています。とはいえ授業の質は高いと評判です。『プログラマカレッジ』の卒業生による体験談記事はこちらです。

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    GEEK JOB
    無料 オンライン プログラミング あり
    プロによる総評

    上で紹介した『プログラマカレッジ』と同様の20代限定のオンラインの完全無料のプログラミングスクールです。よりエンジニア色の強いカリキュラムを受けたい場合はこちらを受講します。就職率97.8%は驚異的です!

    詳しくはこちら

    スクール名 料金 授業形式 ジャンル 就職支援

    無料PHPスクール(ドリームシアター)
    無料
    (デポジットあり)
    通学 プログラミング あり
    プロによる総評

    こちらも上で紹介した『プログラマカレッジ』『GEEKJOB』と同様の完全無料のプログラミングスクールです。特徴的なのはオンラインではなく通学式で、学習するプログラミング言語をPHPに絞っている点です。PHPはがっつりプログラミング言語である一方で、ECサイト構築やWordPressで使われるなどWeb系と親和性が高い言語なので、Web系の会社で働きたい人にはこのスクールがオススメです。23日間という短期間でハードめなカリキュラムな分、未経験でも内定2社を保証してくれます!校舎がある池袋に通学できる方が対象です。

    詳しくはこちら

    Web制作会社を歩き回れるゲームを作ってみました!ぜひ探検してみてください。(注意:音が出ます!)

    一番上へ