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
GTB2022_webCoding
Search
gmodev
June 30, 2022
Technology
0
230
GTB2022_webCoding
gmodev
June 30, 2022
Tweet
Share
More Decks by gmodev
See All by gmodev
GTB2022_WebAppFramework
gmodev
0
190
GTB2022 サービス開発のプロセス
gmodev
0
370
GTB2022 Webサービスとインターネットの歴史
gmodev
0
150
Other Decks in Technology
See All in Technology
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
480
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
10
2k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
2k
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
320
MIMEと文字コードの闇
hirachan
2
1.5k
RaspberryPi CM4(CM5も)面白いぞ!
nonnoise
1
180
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
170
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
120
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
240
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
5
6.9k
AIエージェント元年@日本生成AIユーザ会
shukob
1
260
困難を「一般解」で解く
fujiwara3
8
2.4k
Featured
See All Featured
Visualization
eitanlees
146
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Embracing the Ebb and Flow
colly
84
4.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Music & Morning Musume
bryan
46
6.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Typedesign – Prime Four
hannesfritz
41
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Gamification - CAS2011
davidbonilla
80
5.2k
Faster Mobile Websites
deanohume
306
31k
Transcript
GTB2022 ビジュアル・スタイリング Webコーディング実践編
GTB2022 ・プロフィールサイトを デザイン・コーディングしてみよう ・基本的なコーディングの知識を学ぶ HTML・CSSの基礎を⾝に着ける 講義の⽬標
GTB2022 必要なアプリケーション Slack ブラウザ エディター
GTB2022 ・区切りの良いところで コメントを拾って回答します ・講義中も発表中も ⾃由にコメントしてください 講義中のルール
GTB2022 講義の流れ
GTB2022 13:30 14:30 14:45 15:45 16:00 17:00 作品提出・ 講評 プロフィール
ページを 実装してみる HTML CSS HTML・ CSSの基本
GTB2022 GTB2022 HTMLとCSS
GTB2022 PHP (JavaScript) JS CSS HTML Webページを作る⾔語
GTB2022 PHP JS CSS HTML Webページを作る⾔語
GTB2022 PHP JS CSS HTML Webページを作る⾔語 動的(プログラミング) ⾔語
GTB2022 PHP JS CSS HTML Webページを作る⾔語 動的(プログラミング) ⾔語 静的
GTB2022 Webページを作る⾔語 条件、または ユーザーの⾏動により 表⽰される内容が変わる dynamic 動的 誰がいつ⾒ても 同じように表⽰される static
静的
GTB2022 Webページを作る⾔語 条件、または ユーザーの⾏動により 表⽰される内容が変わる dynamic 動的 検索 今⽇は2022年5⽉19⽇ 100⼈⽬の訪問者です
こんにちは◦◦さん
GTB2022 PHP JS CSS HTML Webページを作る⾔語 動的(プログラミング) ⾔語 静的
GTB2022 GTB2022 HTML HTML
GTB2022 13:30 14:30 14:45 15:45 16:00 17:00 作品提出・ 講評 プロフィール
ページを 実装してみる HTML CSS HTML・ CSSの基本
GTB2022 ・⼈間が⾃然に⾒分けている各要素の役割を コンピュータに理解させるため ・Webページにおける 構造を定義するための⾔語 HTMLとは
GTB2022 HTMLとは <h1>HTMLとは</h1> <section> <h2>HTMLとは?</h2> <p>Hypertext Markup Language の略で、 Webサイトをマークアップするための
言語です。</p> </section> <section> <h2>タグとは?</h2> <p>HTML上の役割を表す記号で、 文字をタグで囲うことで 役割を割り当てることができます。</p> </section> HTML上の役割を表す記号で、 ⽂字をタグで囲うことで 役割を割り当てることができます。 タグとは? HypertextMarkupLanguageの略で、 Webサイトをマークアップするための ⾔語です。 HTMLとは? HTMLとは
GTB2022 ・解凍したフォルダの名前を 苗字(半⾓英字)に変更する ・デスクトップなどに Zipファイルをダウンロード コーディングの準備
GTB2022 コーディングの準備 (GoogleChrome) ブラウザ (⾃由) エディター
GTB2022 コーディングの準備 難しそうだ ⼿順は 想像できる 簡単そうだ
GTB2022 代表的なHTMLタグ <h1>HTMLとは</h1> ・h1は⼀度しか使えない? ・h1〜h6まであり、 セクションレベルに応じて 使い分ける ・⾒出しを定義するタグ heading h1
GTB2022 SEO ・主にGoogleの検索結果で Webサイトが上位に表⽰されるよう サイトの構成を最適化すること ・検索エンジン最適化
GTB2022 代表的なHTMLタグ <p>わたしは<br>フロン トエンドチームに<br>所 属しています</p> ・pタグ内にブロック要素を ⼊れることはできない ・段落・改⾏を定義するタグ break br
paragraph p
GTB2022 ブロックとインライン ・インラインレベルの要素は ブロック内に配置され、横に並ぶ ・ブロックレベルの要素は ⼀塊として扱われ、縦に積まれる ・ブロック要素とインライン要素
GTB2022 代表的なHTMLタグ <img ・src="ファイルパス" ・alt="代替テキスト"> ・終了タグが無い ・src属性でファイル、 alt属性で代替テキストを指定 ・画像を表⽰するタグ image
img
GTB2022 代表的なHTMLタグ <dl> ・・・・<dt>タイトル</dt> ・・・・<dd>説明文</dd> </dl> ・dl>dt・ddがセット ・定義リストを意味するタグ definitiondescription dd
definitionterm dt definitionlist dl
GTB2022 代表的なHTMLタグ <ul> ・・・・<li>項目</li> ・・・・<li>項目</li> ・・・・<li>項目</li> </ul> ・ul・ol>liがセット ・リストを定義するタグ listitem
li orderedlist ol unorderedlist ul
GTB2022 HTMLでタグを使い分ける意味 ・適切なタグでマークアップすることで セマンティックなサイトになる ・正しい⽂書構造を作ることで、 情報を適切にセクショニングできる
GTB2022 セクショニング ・⼈間にとって情報の順序が明確になり Webサイトそのものが分かりやすくなる ・⽂書構造を明確にすること=情報の整理
GTB2022 セマンティック ・コンピュータにとって情報が明確になり Webサイトの評価が上がる ・コンピュータに情報を正確に解釈させ、 関連付けや情報収集を⾃動的に⾏わせること
GTB2022 CSS
GTB2022 13:30 14:30 14:45 15:45 16:00 17:00 作品提出・ 講評 プロフィール
ページを 実装してみる HTML CSS HTML・ CSSの基本
GTB2022 ・HTMLが各要素の役割を決めるのに対し CSSは各要素の⾒え⽅を決める ・Webページにおける 各要素のスタイルを指定するための⾔語 CSSとは
GTB2022 CSSとは HTML上の役割を表す記号で、 ⽂字をタグで囲うことで 役割を割り当てることができます。 タグとは? HypertextMarkupLanguageの略で、 Webサイトをマークアップするための ⾔語です。 HTMLとは?
HTMLとは HTML上の役割を表す記号で、⽂字をタグで囲う ことで役割を割り当てることができます。 タグとは? HypertextMarkupLanguageの略で、Webサイ トをマークアップするための⾔語です。 HTMLとは? HTMLとは
GTB2022 CSSの基本 セレクタ{プロパティ:値;}
GTB2022 CSSの基本 セレクタ{プロパティ:値;} 何の どこを どうする
GTB2022 セレクタ セレクタ{プロパティ:値;} 何の
GTB2022 セレクタ div { ・・・・ } .name { ・・・・ }
#name { ・・・・ } <div> <div class="name"> <div id="name">
GTB2022 プロパティの優先度 ・昨今の⾵潮でスタイルのために IDを付けることは少なくなっている ・ID>クラス>タグの順で優先される ・プロパティの指定⽅法によって優先度がある
GTB2022 プロパティ セレクタ{プロパティ:値;} どこを
GTB2022 プロパティ div { color: ・・・・; } div { border:
・・・・; } div { width: ・・・・; } ⽂字⾊を 線を 横幅を
GTB2022 値 セレクタ{プロパティ:値;} どうする
GTB2022 値 div { color: blue; } div { color:
#ffff00; } div { color: rgb(255, 0, 0); } ⻘⾊にする ⻩⾊にする ⾚⾊にする
GTB2022 ⾊の指定⽅法 ・カラーコードとは16進法でRGBを表した数値 ・カラーネームとは 主な⾊に付けられた特定の英語名 ・カラーネーム、またはカラーコードなどで指定
GTB2022 カラーコード ・#000000〜#ffffffの16進数で表記し、 1・2桁⽬:R、3・4桁⽬:G、5・6桁⽬:Bを表す ・Red/Green/Blueの度合いを0〜255で指定、 256x256x256=16,777,216通りを指定できる
GTB2022 カラーコード 168g 121g 253g + + = #fd79a8 =
a8 + 79 + fd
GTB2022 値 div { width: 100px; } div { width:
50%; } div { width: 1em; } 100pxにする 50%にする 1emにする
GTB2022 単位 ピクセル単位の絶対的な⼤きさ指定 親要素の⾼さ・横幅に対する割合 フォントサイズに対する相対的な⼤きさ ルート要素のフォントサイズに対する相対的な⼤きさ ビューポートの⾼さに対する割合 ビューポートの横幅に対する割合 px %
em rem vh vw
GTB2022 コーディングの準備 (GoogleChrome) ブラウザ (⾃由) エディター
GTB2022 作る を 横並び
GTB2022 横並びを作る img li li li ul
GTB2022 横並びを作る img div li li li ul
GTB2022 横並びを作る img div li li li ul div
GTB2022 横並びを作る <div> ・・・・<div></div> ・・・・<div></div> </div> ・divはブロック spanはインライン ・囲んだ範囲を⼀塊として定義 ・意味を持たないタグ
span span division div
GTB2022 横並びを作る div { ・・・・display: flex; ・・・・display: grid; } ・プロパティはdisplay
・ブロックを縦横に並べる gridlayout grid flexiblebox flex
GTB2022 横並びを作る .flex { ・・・・display: flex; ・・・・justify-content: space-between; } .flex_item
{ ・・・・width: calc(50% - 20px); } ・たくさんの項⽬を 機械的に並べる のが得意 ・縦横に並べられる flex
GTB2022 横並びを作る .grid { ・・・・display: grid; ・・・・grid-template-columns: 1fr 2fr; ・・・・grid-template-rows:
1fr; ・・・・column-gap: 20px; ・・・・row-gap: 20px; } ・IE⾮対応 ・列・⾏を設定、 テンプレートを 作れる ・縦横に並べられる grid
GTB2022 ブラウザの対応状況 ・CanIuse... https://caniuse.com/ ・⼀部のブラウザが 特定のスタイルに対応していない
GTB2022 技術の流⾏り廃り ・最新のバージョンCSS3では フレキシブルボックス(flex)、 またはグリッドレイアウト(grid)が主流 ・CSS2以前では、横並びを作るときは floatがよく使われていた
GTB2022 特定の状態の要素に スタイルを付ける
GTB2022 a:hover { ・・・・color: #00f; } li:nth-child(3) { ・・・・color: #f00;
} ・マウスオーバー、 n番⽬、偶数・奇数番⽬、 最初の、最後の など ・セレクタの特定の状態に スタイルを付ける 疑似クラス 疑似クラス
GTB2022 疑似クラス マウスホバー時の 最初の 最初の 5番⽬の 5の倍数番⽬の 奇数番⽬の :hover :first-child
:last-child :nth-child(5) :nth-child(5n) :nth-child(odd)
GTB2022 吹き出しを作る
GTB2022 div::before { ・・・・content: "★"; } div::after { ・・・・content: "☆";
} ・装飾⽬的の他 リストの先頭の記号、 項⽬数の調整 など ・セレクタ内の最前・最後に 疑似的な要素を追加できる 疑似要素 疑似要素
GTB2022 疑似要素 吹き出しを作る
GTB2022 疑似要素
GTB2022 疑似要素
GTB2022 疑似要素
GTB2022 疑似要素 吹き出しを作る
GTB2022 プロフィールページを実装してみる
GTB2022 13:30 14:30 14:45 15:45 16:00 17:00 作品提出・ 講評 プロフィール
ページを 実装してみる HTML CSS HTML・ CSSの基本
GTB2022 アコーディオンを作る
GTB2022 ここをクリック アコーディオンとは
GTB2022 ここをクリック Loremipsumdolorsitamet, consecteturadipiscingelit, seddoeiusmodtempor アコーディオンとは
GTB2022 結合⼦ .me .child {} .me > .child {} .me
+ .siblings {} .me ~ .siblings {} ・⼦孫結合⼦、⼦結合⼦、 隣接兄弟結合⼦、 ⼀般兄弟結合⼦ の4種類 ・スタイルを適⽤する要素を より精密に絞り込むための 書き⽅ 結合⼦
GTB2022 結合⼦ <div class="me"> ・・・・<div class="child"> ・・・・・・・・<div class="grandchild"></div> ・・・・</div> </div>
.me .child .grandchild
GTB2022 結合⼦ .me .child { ・・・・background: blue; } .me .child
.grandchild
GTB2022 結合⼦ .me > .child { ・・・・background: blue; } .me
.child .grandchild
GTB2022 結合⼦ .parent .sibling .me .sibling .sibling <div class="parent"> ・・・・<div
class="sibling"></div> ・・・・<div class="me"></div> ・・・・<div class="sibling"></div> ・・・・<div class="sibling"></div> </div>
GTB2022 結合⼦ .parent .sibling .me .sibling .sibling .me + .sibilng
{ ・・・・background: blue; }
GTB2022 結合⼦ .parent .sibling .me .sibling .sibling .me ~ .sibilng
{ ・・・・background: blue; }
GTB2022 結合⼦ div for="accordion" label type="checkbox" id="accordion" input HTML aの後、
且つ同階層のb a~b aの直後のb a+b checked状態のa a:checked CSS
GTB2022 アニメーションを作る アニメーションを作る アニメーションを作る
GTB2022 ・単純な動きや、 HTMLの属性に連動した アニメーションが得意 ・軽い CSS CSSとJSの違い ・PHPと組み合わせて通信なども ・複雑な動きや、 ユーザーの操作に応じた
アニメーションが得意 ・場合によっては重くなる JS(JavaScript)
GTB2022 @keyframes name { ・・・・・・0%{ ・・・・ } ・・・・・50%{ ・・・・ }
・・・・100%{ ・・・・ } } div { ・・・・animation: name duration easing : } アニメーション
GTB2022 実務レベルのスキル
GTB2022 実務レベルのスキル ・スクリーン、 プロジェクター、プリンター、 テレビ など ・特定のデバイスでのみ スタイルを反映させる メディアクエリ @media (
・・・・screen and ・・・・(max-width: 768px) ){ ・・・・font-size: 14px; }
GTB2022 ・CSS変数、 カスケード変数とも⾔う ・変数に値を代⼊、 使い回すことができる カスタムプロパティ --color-main: #000; div {
・・・・border: --color-main solid 1px; ・・・・color: --color-main; } 実務レベルのスキル
GTB2022 ・SASS・SCSSファイルを コンパイルすることで CSSファイルを⽣成する ・記法の簡略化、 ⼊れ⼦などの記法によって CSSをより早く効率的に書く SASS・SCSS div {
・・・・color: #000; ・・・・p { ・・・・・・・・color: #f00; ・・・・} } div { ・・・・color: #000; } div p { ・・・・color: #f00; } 実務レベルのスキル
GTB2022 発表会
GTB2022 13:30 14:30 14:45 15:45 16:00 17:00 作品提出・ 講評 プロフィール
ページを 実装してみる HTML CSS HTML・ CSSの基本
GTB2022 作品提出 ⾃分の苗字(半⾓英字).zip css reset.css style.css image 画像ファイル index.html
GTB2022 ありがとうございました