Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
All About CSS
Search
saeka
August 09, 2019
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
All About CSS
CSSに苦戦するすべての技術者のために作りました💖
saeka
August 09, 2019
More Decks by saeka
See All by saeka
Sass Life
saeka
1
77
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
190
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
ActionController meets Protocol Buffers
sorah
0
520
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
410
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
220
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
The untapped power of vector embeddings
frankvandijk
2
1.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Transcript
All about CSS Saeka Hirai
CSS is ? All about CSS
Cascading Style Sheet All about CSS
同じ要素に対して 異なるスタイルが指定されている場合、 その優先順位を決めること All about CSS Cascading =
None
All about CSS ・ウェブサイトの⾒た⽬を作るもの ・HTMLに装飾するもの ・簡単に描けるけど掴み所がない ・正解がよくわからない… ・なんかつけたスタイルが効かないし!(爆) みんなのCSSに対する印象
All about CSS CSSの 基本構⽂を勉強する前に…
All about CSS CSSの概念はたった2つ! みんな知ってた?
All about CSS 私⾃⾝と 私とあなたの関係性❤
All about CSS 私⾃⾝って?
All about CSS 私 = アバター = 例えば…
All about CSS 私の特徴ってこんな感じ ・背景は海 ・髪の⽑が⻑い ・髪の⽑の⾊は茶⾊ ・髪の⽑質はゆるふわパーマ ・前髪は眉上 ・眉⽑は茶⾊
・⽬はぱっちり ・⽬の⾊は⽔⾊ ・肌は⾊⽩ ・来ている服はワンピース ・服の模様は⻘のストライプ ・イヤリングつけてる ・イヤリングの⾊は⽔⾊ ・靴はサンダル etc…
All about CSS CSSで書くとこんな感じ 私 { 背景 : 海; 服:
ワンピース ⻘のストライプ; イヤリング: つけてる ⽔⾊; 靴: サンダル; 髪の⽑: ⻑い 茶⾊ ゆるふわパーマ; 前髪: 眉上; ⽬: ぱっちり ⽔⾊; 肌: ⾊⽩; }
All about CSS 私たちの関係性は? 私 あなた あなた = 私の⼦供
All about CSS あなた 私 私たちの関係性は? CSSの世界は 継承するもの あなた =
私の親?
All about CSS 私 あなた あなた = 私の兄弟 隣⼈ CSSの世界では
兄弟間はお隣さん 私たちの関係性は?
All about CSS 私 あなた あなた = 前の兄弟? 同じお隣さんでも ⾒える範囲は
⾃分の後ろだけ 私たちの関係性は?
All about CSS CSSで書くとこんな感じ 私 { ⼦供たちの並び: 横⼀列に並んでいる; } 私の⼦供
{ 体の⾊: ⻩⾊; くちばしの⾊: オレンジ; } 私 あなた
All about CSS 関係性を表すCSSは他にもあるよ 親 { display: flex; } ⼦
{ flex: 1; } 親 { display: grid; } 親 { position: relative; } ⼦ { position: absolute; } 親 { font-size: 16px; } /*(16*0.8) = 12.8px*/ ⼦ { font-size: 0.8em; }
All about CSS 2つの概念を理解したところで…
All about CSS 基本構⽂です! セレクタ(要素) { プロパティ: 値; }
All about CSS セレクタの種類 : HTMLタグ p { color: pink;
} CSS <p>テキスト</p> HTML
All about CSS セレクタの種類 : ID #pink { color: pink;
} <p id=“pink”> テキスト </p> HTML CSS
All about CSS セレクタの種類 : Class .pink { color: pink;
} <p class=“pink”> テキスト </p> HTML CSS
All about CSS プロパティはこれだけあります❤ https://developer.mozilla.org/ja/docs/Web/CSS/Reference
All about CSS 今時のCSSは Grid & Flex & VW
All about CSS Grid
All about CSS ul { display: grid; grid-template-columns: 1fr 1fr
1fr; grid-gap: 40px 50px; } CSS <ul><li>アイテム</li></ul> HTML Grid
All about CSS CSS ul { display: grid; grid-gap: 20px;
grid-template-columns: 1fr 1fr; grid-template-areas: “sales job “ “sales age “; } li:first-child { grid-area: sales; } li:nth-child(2) { grid-area: job; } li:last-child { grid-area: age; } <ul><li>アイテム</li></ul> HTML Grid
All about CSS こういう時はGrid ・レイアウトを均等に分割して配置したい ・マス⽬の好きな位置に要素を配置したい ・1列に並べる個数が決まっていて、 余⽩をいい感じに均等に割り振ってほしい
All about CSS Grid学習⽤ゲーム http://cssgridgarden.com/#ja
All about CSS Flex
All about CSS ul { display: flex; flex-wrap: wrap; }
li { margin-right: 1.04vw; margin-bottom: 1vw; } CSS Flex HTML <ul> <li> <a>アイテム</a> </li> </ul>
All about CSS CSS div { display: flex; } dt
{ flex-basis: 8.5em; } dd { flex: 1; margin-left: 40px; } <div> <dt>項⽬名</dt> <dd>データ</dd> </div> HTML Flex
All about CSS こういう時はFlex ・何個要素があるかわからないけどいい感じに 横並びにしたい ・要素に残り幅全て割り当てたい時 ・要素を天地中央に持っていきたい ・要素の順番をPCとスマホで変えたい時
All about CSS Flex学習⽤ゲーム https://flexboxfroggy.com/#ja
All about CSS VWの話をする前に… PCデザインとスマホデザインを どう使い分けているか知っていますか?
All about CSS PC SP
All about CSS 1. 端末によって読み込むソースを分ける (バックエンド的解決) 2. 同⼀ソース内で処理を分岐させる
(フロントエンド的解決)
All about CSS 同⼀ソース内で処理を分岐させる → レスポンシブ対応
All about CSS レスポンシブ対応させるためには <head> <meta name=“viewport” content=“width=device-width,initial-scale=1.0,minimum-scale=1.0”> </head> HTML
/*750px以下はこのスタイル*/ @media screen and (max-width: 750px) { /* SPのスタイルを書く*/ } CSS /*750px以上はこのスタイル*/ @media screen and (min-width: 750px) { /* PCのスタイルを書く*/ }
All about CSS CSSでよく⾒る単位って?
All about CSS px = 画素の最⼩単位
All about CSS 横幅1400pxのPC → 画⾯解像度1400px 例えば…
All about CSS 横幅365pxのスマホ → 画⾯解像度365px ? では…
None
All about CSS デバイスには 物理値と論理値がある
All about CSS ⾼精細ディスプレイの登場 Dot by dot 論理値 Scaling 物理値
All about CSS 横幅375pxのスマホ → 画⾯解像度750px 論理値 物理値 (Retina2の場合)
All about CSS 物理値(750px)でなく、 論理値(375px)でCSSをかけるようにするための記述 <head> <meta name=“viewport” content=“width=device-width,initial-scale=1.0,minimum-scale=1.0”> </head>
HTML
All about CSS 物理値(750px)で なんでCSS書いちゃいけないの? って思った⼈挙⼿
All about CSS 物理値の幅は(スマホだけでも) 640px∼1242/2160px …(2倍、3倍の⼤きさが普及)
All about CSS 640px基準で書けば 1242/2160pxの時スカスカになるし、 1242/2160px基準で書けば 640pxの時はみ出ちゃう…
All about CSS でも論理値なら320px∼414px
All about CSS 幅の範囲が狭い場合は 百分率(%)を使えばいいのです!
All about CSS 百分率 = ⽐べられる量÷元にする量×100% ⼩学5年⽣のおさらい
All about CSS Example 750pxのデバイス幅でpadding40pxの場合 (⾼精細ディスプレイ対応でデザインは750pxが多いです) 40px÷750px ×100% = 5.33%
(⽐べられる量) (元にする量)
All about CSS レスポンシブ対応とは デバイス幅の⽐率で CSSを書くこと!
All about CSS HTMLのviewportで論理値指定 + CSSの⽐率計算 の相性が良き
All about CSS だがしかし
All about CSS CSSの世界は 継承するもの
All about CSS 元にする量(100%となる値)が 常にデバイス幅とは限らないのです
All about CSS CSSの世界では ⼦にとって親が100%
All about CSS 問 : aのpaddingの百分率を求めよ <ul> <li><a></a></li> </ul> HTML
device = width: 750px ul = width : 500px li = width : 300px a = padding: 20px
All about CSS 問 : aのpaddingの百分率を求めよ device = width: 750px
ul = width : 500px li = width : 300px a = padding: 20px ⬅この時点でもう 100%は750pxではない
None
All about CSS そこでVWです!
All about CSS VWとは? Viewport Width = Viewportの幅に対する割合
All about CSS 問 : aのpaddingの百分率を求めよ device = width: 750px
ul = width : 500px li = width : 300px a = padding: 20px ⬅ (500/750*100)vw ⬅ (300/750*100)vw ⬅ (20/750*100)vw
All about CSS お分かりいただけるだろうか
All about CSS VWだと 常に100%の値が固定されるので 計算がめちゃ楽!
All about CSS Grid & Flex & VW 使ってみてね
All about CSS (みんなが苦しめられる) 詳細度について 最後に
All about CSS CSSが効きません!(涙) ∼あるある相談出来事∼
All about CSS なぜか
All about CSS 迷⼦センターに⼦供が来て、 アナウンスが流れました。 どのアナウンスが⼀番早く 迎えが来てくれそうでしょうか ?
All about CSS ①「迷⼦は⼥の⼦です」 ②「迷⼦は⼥の⼦で、 ワンピースを着ています」 ③「迷⼦は⼥の⼦で、ワンピースを 着ている愛ちゃんという名前です」
All about CSS 迷⼦センター = ブラウザ
All about CSS ブラウザも セレクタの詳細度が⾼いと 早く⾒つける(処理する)ことができる だから、強い IDはUniqueであるから 尚更強い
All about CSS でもこれならOK 迷⼦の名前は ⼭⽥愛ちゃんです = 迷ったらクラスを使うべし
以上が CSSの全てです All about CSS
Thank You