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
39
2024新卒技術研修_FE①
DMM.comの24新卒エンジニア技術研修_フロントエンド研修の資料①です。
DMM.com_新卒採用
September 17, 2024
Tweet
Share
More Decks by DMM.com_新卒採用
See All by DMM.com_新卒採用
KC3Hack2025向け_ハッカソンのコツ.pdf
dmm_recuruit
0
81
DMM.com_技育祭2024秋講演資料
dmm_recuruit
0
170
2024新卒技術研修_BE
dmm_recuruit
0
75
2024新卒技術研修_FE②
dmm_recuruit
0
39
2024新卒技術研修_FE③
dmm_recuruit
0
42
2024新卒技術研修_チームビルディング
dmm_recuruit
0
83
2024新卒技術研修_振り返り
dmm_recuruit
0
110
2024新卒技術研修_Android
dmm_recuruit
0
47
2024新卒技術研修_ios
dmm_recuruit
0
74
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Gamification - CAS2011
davidbonilla
81
5.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Making Projects Easy
brettharned
116
6.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Thoughts on Productivity
jonyablonski
69
4.7k
GraphQLとの向き合い方2022年版
quramy
46
14k
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画像置き場