Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2024新卒技術研修_FE①
Search
DMM.com_新卒採用
September 17, 2024
0
43
2024新卒技術研修_FE①
DMM.comの24新卒エンジニア技術研修_フロントエンド研修の資料①です。
DMM.com_新卒採用
September 17, 2024
Tweet
Share
More Decks by DMM.com_新卒採用
See All by DMM.com_新卒採用
DDD‗20250716_traP×DMM
dmm_recuruit
0
10
組織運営‗20250716_traP×DMM
dmm_recuruit
0
7
DMMにおけるレコメンドの紹介‗20250716_traP×DMM
dmm_recuruit
0
180
KC3Hack2025向け_ハッカソンのコツ.pdf
dmm_recuruit
0
87
DMM.com_技育祭2024秋講演資料
dmm_recuruit
0
210
2024新卒技術研修_BE
dmm_recuruit
0
77
2024新卒技術研修_FE②
dmm_recuruit
0
39
2024新卒技術研修_FE③
dmm_recuruit
0
53
2024新卒技術研修_チームビルディング
dmm_recuruit
1
88
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The Language of Interfaces
destraynor
158
25k
Building Applications with DynamoDB
mza
95
6.5k
Code Review Best Practice
trishagee
69
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Bash Introduction
62gerente
614
210k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
RailsConf 2023
tenderlove
30
1.2k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
フロントエンド研修 HTML/CSS 2024年新卒研修 岡本済 2024/05/23
「よくわからないがとりあえず動くし、なんか作れた」を達成する 細かいことはおいおい覚えて行けばいいので、とりあえず何か作れた体験をしてほしい 怪しい部分を自分でデバッグをできるようになっている HTML, CSSは動くまでの学習コストは他言語に比べ低く、開発業務で必要なレベルの学習コストは高い 基本的な調べ方と背景にある概念を理解し、仮説をもとに試行錯誤できるようになるようになろう 例: CSSのカスケーディングや詳細度をもとに、なぜCSSが当たらないか推測する 目標: フロントエンド技術に親しむ
Today’s TimeTable 3 コンテンツ 時間 概要 午前の部 10:30~12:30 HTML, CSS
お昼 12:30~13:30 午後の部 13:30~18:00ごろ 演習 1時間おきに5分休憩を取ります 忘れてたらコメントスクリーンで 荒らしてください
4 0. Introduction
Webフロントエンドの簡単さ・難しさ フロントエンド開発経験があれば、簡単だという印象を持っている人も多いかも 実際、ブラウザで動くものを作るまでに理解しなければならない概念が少ない 一方で、大規模開発ではフロントエンドへの深い知識が必要となる - さまざまなデバイス・ブラウザ・アクセス方法で正しく動作する
6 1.HTML
HTMLとは 7 HTMLとは、Webページを作成するためのマークアップ言語 Webページのドキュメントがどのような構造と意味をもつ のかを、機械が読めるように記述する ブラウザがHTMLを読み込むことで、Webページが描画され る マークアップ言語: テキストの構造を記述するための言語
9 1.1 HTMLの基本
HTMLの基本 10 HTMLは意味の異なるHTML要素をたくさん組み合わせて、 HTMLドキュメントを表現します 次の3つを覚えていれば、研修中は大丈夫です 1. HTML要素の使い方、書き方 2. HTML全体の書き方 3.
よく使うHTML要素 事前学習でやっていると思うのでざっくり進めます
HTML要素の構造 11 1つのHTML要素は3つの部分から構成されている。 - 開始タグ <タグ名> - コンテンツ コンテンツ -
終了タグ </タグ名> 同じタグ名の開始・終了タグで囲われた要素が、一つの HTML要素になります。 なお、HTML要素の中にHTML要素を含むことができます。 Mozilla Contributorsによる帰属と著作権のライセンスは 、CC-BY-SA 2.5に基づいてライセンスされています。
HTML要素の属性 12 HTML要素の属性は、全ての要素に共通の属性と要素ごとの属性がある グローバル属性: class, id, role属性や、イベントハンドラー属性など 要素特有の属性: a要素の href
属性など 要素特有のHTML属性を調べたい時は、リファレンスから属性セクションを調べる 例: img要素の属性一覧
13 1.2 HTMLの基本要素
パラグラフ要素 使用例: <p>コンテンツ</p> テキストコンテンツを入れるための最もよく使われる要素で、テキストの段落をあらわす。 パラグラフ要素は、通常前後に改行が含まれる形で表示される。 イメージとしては、ドキュメントを段落(パラグラフ)ごとに p 要素で囲うイメージで使用する。
リスト要素 使用例: <h3>ランチメニュー</h3> <ul> <li>ハンバーグ定食</li> <li>野菜炒め定食</li> <li>豚骨ラーメン</li> </ul> 箇条書きを表現するとき、リスト要素を使用する 順序の有無で以下の二つから選択する
ol: Ordered List ul: Unordered List
アンカー要素 使用例: <a href="https://example.com/">Example.com</a> アンカー要素はWebサイト同士のリンクや同じページ内へのハイパーリンクを作成する 注意: リンクのテキストはリンク先の内容を説明すること 「詳細はこちら」 ◦「詳細はこちら: よくある質問」
不適切なリンクテキストの改善例
span要素・div要素 インラインレベル要素・ブロックレベル要素の汎用コンテナ 通常スタイリングやグルーピングのために使う
18 1.3 メタデータ
メタデータとは 19 HTMLの中で、画面に表示されないものを記述する部分です 。 この部分で記述するものとして、以下があります - HTMLページのタイトル - CSSスタイルシートの読み込み -
SNSシェアやSEOのために必要なメタデータ(OGP) 演習のタイミングで必要になる実装方法は Web.devの記事を参考にしてください。
20 2. CSS
CSSとは何か 21 CSSはWebページのデザインやレイアウトをコントロール する言語 HTMLで指定された要素のスタイルを変更することができる これにより、Webページのスタイリングをカスタマイズす ることができる ``` p {
color: red; } ``` ``` <head> <meta rel=”style.css” /> </head> <body> <p>This is red!</p> </body> ```
22 2.1 CSSの基本
CSSの基本要素 23 CSSルールは基本的に以下の3要素を記述すれば良い 1. セレクタ 2. プロパティ 3. 値 ```
p { color: red; } // 全てのp要素を赤にする .class { color: blue; } // class=”class”の要素 #id { color: green; } // id=”id” の要素 ```
CSSの基本要素 セレクタ 24 CSSセレクタは任意のHTML要素にスタイルを当てる方法 主要なセレクタとして3つのセレクタがあります - 要素セレクタ - クラスセレクタ -
IDセレクタ それぞれ次の形で記述します - 要素セレクタ HTML要素 名 - クラスセレクタ .クラス名 - IDセレクタ #ID名 参考: MDN | CSSセレクター ``` p { color: red;} /* 全てのp要素を赤にする*/ .class { color: blue; } /* class=”class”の要素 */ #id { color: green; } /* id=”id” の要素 */ ``` TODO: 複雑セレクタ ``` a#selected { } [type="checkbox"]:checked:focus { } ```
CSSの基本要素 セレクタ 25 Html ``` <body> <h1 class=’’title’>Hello</h1> <p>This is
red</p> </body> ``` css ``` p { color: red; } ``` CSSはHTMLの指定した要素を”セレクト”して装飾する
開発者ツールでCSSをいじる 26 • DevToolの使い方の話 ◦ https://developer.chrome.com/ docs/devtools/open?hl=ja ◦ 実際に示すこと ▪
styleを変える ▪ 有効なCSSのルールを みる ▪ Padding, Marginがいく つかみる
CSSの基本要素 プロパティ 27 CSSプロパティとは、セレクタによって指定された要素の振る舞いを具 体的に定義するキーと値の組です 今回は以下を紹介しますが、無数のプロパティが存在します 1. color, background-color 2.
width, height 3. font-size, line-height 4. margin, padding 「これやりたいんだけどプロパティないかな?」って思った時は、Web サイトで実例がないか探すのが手っ取り早いです 他のプロパティについては Learn CSS などを参考にしてください ``` p { color: red; } /* 全てのp要素を赤にする*/ .class { color: blue; } /* class=”class”の要素*/ #id { color: green; } /* id=”id” の要素 */ ```
詳細度 28 Q: 同じ要素に競合するCSSルールが当たるとどうなる? A: セレクターをみて、優先度が高いものが適用される 詳細度のスコアリングについては、セレクタの種類ごとの スコア を参照してください プラクティス:
- 必要な要素を選択しやすいクラスセレクタでCSSを記述す る e.g. .card-container - 詳細度の強いルール (idセレクタや!importantなど)をむや みに使わない <p class=”text” id=”container”>Hello</p> /* 要素セレクタ */ p { color: blue; } /* クラスセレクタ */ .text { color: green; } /* IDセレクタ */ #container { color: red; }
ボックスモデル 29 CSSは要素のレイアウトをボックスモデルとして表現して います 4つの領域からなり、対応するプロパティで制御できます 1. コンテンツ領域 width, height 2.
パディング領域 padding 3. ボーダー領域 border 4. マージン領域 margin Mozilla Contributorsによる帰属と著作権のライセンスは 、CC-BY-SA 2.5に基づいてライセンスされています。
ブロックボックスとインラインボックス 30 CSSのボックスには、主にブロックボックスとインライン ボックスが存在します ブロックボックス - 新しい行から始まる - widthが未指定のとき利用可能な領域を100%占める -
Padding, margin, borderにより他の要素と距離がで きる インラインボックスは通常のブロックボックスと挙動が異 なります - height, width を指定しても反映されない - 他の要素と同じ行に配置される - 利用可能な幅100%をとる代わりに、必要な幅のみ を占める 参考: MDN | ボックスモデル Mozilla Contributorsによる帰属と著作権のライセンスは 、CC-BY-SA 2.5に基づいてライセンスされています。
31 2.2 演習で使う CSSパターン
中央揃え 32 中央揃えは実装方法がいくつかあり、その要素がインライ ンレベルかボックスレベルかで挙動が異なる Flexboxを使えるならFlexboxで実装してしまうと楽 実装パターンについてはCentering in CSS: A Complete
Guideを参考にすると良い
PC, SPの切り替え 33 • 1つのページでPC・タブレット・スマホに対応する • 画面の幅によって表示を切り替えるなど • レスポンシブデザイン 例:DMM
TV • レスポンシブにせず、PC/SP別々で作っている 例:DMMトップ
メディアクエリ 34 演習では、CSSのメディアクエリを使ってPC/SPの表示を 切り替えるようにしてください。 右のコード例のように記述することができます。 .card { width: 500px; background-color:
aqua; @media (max-width: 768px) { width: 100%; } }
35 演習
DMM Spaceを作ろう • GitHub Enterpriseでリポジトリを作成 • 進捗表 に作ったリポジトリのリンクを貼ってください • ローカルで開発開始!
• デザイン資料 • デザインカンプ • LP画像置き場