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
FLEXBOX-MEN: Apocalypse
Search
Fuminori Mori
June 11, 2016
Technology
4
490
FLEXBOX-MEN: Apocalypse
2016-06-11開催のHTML Party かごんま 2016で行ったセッション「FLEXBOX-MEN: Apocalypse」のスライド。
Fuminori Mori
June 11, 2016
Tweet
Share
More Decks by Fuminori Mori
See All by Fuminori Mori
JSを使わなくてもCSSでできるようになったこと
moonglows76
0
2.2k
GRID RANGERS
moonglows76
0
220
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
290
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.3k
OpenShiftでllm-dを動かそう!
jpishikawa
0
100
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
プロポーザルに込める段取り八分
shoheimitani
1
230
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
配列に見る bash と zsh の違い
kazzpapa3
1
140
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
190
Red Hat OpenStack Services on OpenShift
tamemiya
0
100
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
220
AWS Network Firewall Proxyを触ってみた
nagisa53
1
220
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
The SEO identity crisis: Don't let AI make you average
varn
0
240
30 Presentation Tips
portentint
PRO
1
210
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Git: the NoSQL Database
bkeepers
PRO
432
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Curious Case for Waylosing
cassininazir
0
230
Transcript
FLEXBOX-MEN: Apocalypse ʙdisplay: flex Ͱ ॊೈʹϨΠΞτ͠Α͏ʂʙ @HTML Party ͔͝Μ· 2016
ίʔσΟϯάσβΠϯɹ ࢙ݑ 1 © Coding Design, 2016
࣍ • ࣗݾհ • FLEXBOX-MEN: Apocalypse • ϨΠΞτํ๏ͷൺֱ • ศརϙΠϯτ
• Flexbox • ཕϙΠϯτ • ϑϨʔϜϫʔΫ • ·ͱΊ 2 © Coding Design, 2016
ࣗݾհ 3 © Coding Design, 2016
ࣗݾհ(1/3) • ໊લ ɹ࢙ݑ ʢΓɹ;ΈͷΓʣ • ੜ݄ ত516݄9 • ग़ɾݱॅॴ
ࣛࣇౡݝࣛࣇౡࢢ • ༰࢟ ؙϝΨω 4 © Coding Design, 2016
ࣗݾհ(2/3) • WebαΠτ੍࡞ • Webؔ࿈ٕज़ߨࢣ • Webؔ࿈ॻ੶ࣥච • ΠϕϯτӡӦ 5
© Coding Design, 2016
ࣗݾհ(3/3) • ΧϨʔLOVE!! ⭐ΧϨʔ ঊ #ঊ • ϏʔϧLOVE!! ⭐ࢁ؍ޫϗςϧ #ελτΤʔϧࠇ
• νϣίϨʔτLOVE!! ⭐ύςΟεϦʔϠφΪϜϥ #Ḉຎνϣίνοϓε 6 © Coding Design, 2016
WebͷϨΠΞτ ·͍͠ 7 © Coding Design, 2016
ո्ͷΑ͏ʹ Ε·͘Δ 8 © Coding Design, 2016
Ռͨͯ͠߈ུͰ͖Δ དྷΔͷ͔… 9 © Coding Design, 2016
10 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse 11 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse WebͷϨΠΞτͻͱےೄͰ͍͔ͳ͍ʂ ͦ͏ɺ͍͋ͭେո्… Webzilla!! 12 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ϨΠΞτํ๏ͷൺֱ 13 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ϨΠΞτํ๏ͷൺֱ Webzilla Λ߈ུ͢Δ ༷ʑͳϨΠΞτํ๏ ͕ΘΕͨʂ 14 ©
Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ϨΠΞτํ๏ͷൺֱ 1. table 2. float 3. inline-block
4. position 15 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ϨΠΞτํ๏ͷൺֱ ͲΕଳʹ͖ͨ͢͠ ʹ͠… 16 © Coding Design,
2016
͏ʔΉɺWebzilla खڧ͍ʂ 17 © Coding Design, 2016
ॿ͚ͯʂ FLEXBOX-MENʂ 18 © Coding Design, 2016
19 © Coding Design, 2016
ݺΜ͔͍ͩʂ 20 © Coding Design, 2016
FlexboxΛͬͯ 21 © Coding Design, 2016
Ұॹʹ߈ུ͠Α͏ 22 © Coding Design, 2016
ͥͬ 23 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ศརϙΠϯτ 24 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ศརϙΠϯτ FlexboxͷศརϙΠϯτͱ ࣮ࡍͷ͍ํΛݟ͍ͯ͜͏ʂ 25 © Coding Design,
2016
FLEXBOX-MEN: Apocalypse > ศརϙΠϯτ • HTML͕ߥΕͳ͍ • ্ԼਅΜதد͕ͤͰ͖Δ • ཁૉͷฒସ͕͑Ͱ͖Δ
• ཁૉͷվߦ࣌ʹ伱͕ؒͰ͖ͳ͍ • εΫϩʔϧόʔ͕දࣔ͞ΕΔ 26 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ศརϙΠϯτ ͜Ε·Ͱͷ͕Ұڍʹղܾʂ Ͱ͍ํΛݟͯΈΑ͏ʂ 27 © Coding Design,
2016
FLEXBOX-MEN: Apocalypse Flexbox 28 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox Flexboxͷجຊ 29 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox Flexboxͷجຊ Flexboxཁૉͱࢠཁૉ͕ඞཁͩʂ <div class="container"> <div class="item">item
1</div> <div class="item">item 2</div> <div class="item">item 3</div> </div> 30 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox Flexboxͷجຊ display: flex; ͰཁૉʹFlexboxΛઃఆ͢Δʂ .container {
display: flex; } 31 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox Flexboxͷجຊ flex-direction ͰࢠཁૉͷϨΠΞτΛ੍ޚͰ͖Δͧʂ row, row-reverse,
column, column-reverse ͩʂ .container { display: flex; flex-direction: column-reverse; } 32 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷਫฏํͷἧ͑ 33 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷਫฏํͷἧ͑ justify-content Ͱࢠཁૉͷਫฏํͷἧ͑Λ੍ޚͰ͖ΔΘʂ flex-start, flex-end,
center, space-between, space-around Αʂ .container { display: flex; justify-content: center; } 34 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷਨํͷἧ͑ 35 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷਨํͷἧ͑ align-items Ͱࢠཁૉͷਨํͷἧ͑Λ੍ޚͰ͖ΔͬͪΑʂ flex-start, flex-end,
center, baseline, stretch ͡ΌͬͲʂ .container { display: flex; align-items: center; } 36 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷંฦ͠ 37 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉͷંฦ͠ flex-wrap ͰࢠཁૉͷંΓฦ͠Λ੍ޚͰ͖Δͥʂ nowrap, wrap,
wrap-reverse ͩʂ .container { display: flex; flex-wrap: wrap-reverse; } 38 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͕ॎʹ ෳฒΜͩ࣌ͷἧ͑ 39 © Coding Design,
2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͕ॎʹෳฒΜͩ࣌ͷἧ͑ align-content Ͱࢠཁૉ͕ॎʹෳฒΜͩ࣌ͷἧ͑Λ੍ޚͰ͖Δʂ flex-start, flex-end,
center, space-between, space-around Λ͍ Μͤʂ .container { display: flex; align-content: flex-end; } 40 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͝ͱʹࢦఆ 41 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͝ͱʹࢦఆ flex-basis Ͱݸผͷࢠཁૉͷ࠷খ෯Λ੍ޚͰ͖ͬͨͬͲʂ widthϓϩύςΟʹࢦఆ͢ΔΑ͏ͳ ͬͰͳʂ
.item:nth-child(2) { flex-basis: 200px; } 42 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͝ͱʹࢦఆ align-self Ͱݸผͷࢠཁૉͷਨํͷἧ͑Λ੍ޚͰ͖ͬͪʂ flex-start, flex-end,
center, baseline, stretch ΛೖΕΜͦʂ .item:nth-child(2) { align-self: flex-end; } 43 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > Flexbox ࢠཁૉ͝ͱʹࢦఆ order Ͱݸผͷࢠཁૉͷॱ൪Λ੍ޚͰ͖Δͧʂͨ·͕͕ͬʂ ͡ΌͬͲʂ
.item:nth-child(2) { order: -1; } 44 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ཕϙΠϯτ 45 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ཕϙΠϯτ ࣮·ͩة͏͍ͱ͜Ζ͕͋ΔFlexboxʂ গ͚ͩ͠ൈਮͯ͠Έͨʂ 46 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ ϒϥβαϙʔτ • Can I use -
Flexible Box Layout Module http:/ /caniuse.com/#feat=flexbox 47 © Coding Design, 2016
48 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ ϒϥβαϙʔτ • IE10Ҏ্αϙʔτ • ରࡦɿ IE9ҎԼfloatͰϨΠΞτ͢Δ͔ɺ
flexibility.js Λ ͏͔ɺαϙʔτ֎ʹ͢Δ͔ • flexibility.jsະ༻ɻ͓͢͢Ί͠·ͤΜ 49 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ ϒϥβαϙʔτ • Android4.3Ҏલݹ͍༷Ͱͷ࣮ • ྫʣAndroid4.4Ҏ߱ display:
flex; ɹˠ Android4.3Ҏલ display: -webkit-box; • ରࡦɿ Sass flexbox mixin Λ͏͔ɺαϙʔτ֎ʹ͢Δ͔ 50 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ όά • IE10, IE11 • ཁૉʹmin-heightΛࢦఆ͢Δͱalign-items͕ޮ͔ͳ͍
• ରࡦɿ ཁૉͷ͞Βʹཁૉʹdisplay: flex; flex-direction: column;Λઃఆ 51 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ όά • IE10, IE11 • ࢠཁૉʹflex-basisΛઃఆ͠ͳ͍ͱ͍จষΛંΓฦ͞ͳ͍
• ରࡦɿ ෯ʹ߹Θͤͯࢠཁૉʹflex-basisͱmax-widthΛઃఆ • max-widthΛࢦఆ͢Δͷbox-sizing: border-box;ʹରԠͤ͞Δ ͨΊ 52 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ όά • IE10, IE11 • ࢠཁૉʹimgཁૉΛೖΕΔͱը૾ͷॎԣൺ่͕ΕΔ
• ରࡦɿ ࢠཁૉdivཁૉͳͲΛೖΕɺͦͷதʹimgཁૉΛೖΕ Δ 53 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ όά ৄ͘͠ Flexbugs ΛνΣοΫʂओʹIE10, 11͕ଟ͍ʂ όάɾղܾࡦͷσϞ͕͋ΔΑʂ
• Flexbugs 54 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ཕϙΠϯτ JavaScriptͰͷૢ࡞ • flex-directionorderͰॱ൪Λม͑ͯDOMͷॱ൪มΘ͍ͬͯ ͳ͍ • CSSͰॱ൪Λม͑ΔલͷHTML͕ϕʔεʹ೦಄ʹஔ͘ɻ
55 © Coding Design, 2016
flex-direction flex-wrap justify-content align-items flex-basis… 56 © Coding Design, 2016
ϒϥβαϙʔτ όά JavaScriptͷରԠ… 57 © Coding Design, 2016
͋͋ɺ͏಄͕͍ͬͺ ͍ͩ͊͊͊ʂʂʂʂ 58 © Coding Design, 2016
ͽΜΆʔΜ 59 © Coding Design, 2016
ͦΜͳ͋ͳͨʹ࿕ใɻ 60 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ϑϨʔϜϫʔΫ 61 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse ϑϨʔϜϫʔΫ ͜ΜʹͪɻͰ͢ɻ όάରࡦ͞ΕͯͨΓ͢ΔͷͰɺϑϨʔϜϫʔΫΛ͓͏Ͷʂ 62 © Coding Design, 2016
FLEXBOX-MEN: Apocalypse > ϑϨʔϜϫʔΫ • Flexboxͷࣗ༝ʹ͍͍ͨਓ͚ • Sass flexbox mixin
• Autoprefixer • طଘͷFlexboxάϦουΛ͍͍ͨਓ͚(CSS) • Flexbox Grid • FlexboxάϦουΛΧελϚΠζ͍͍ͯͨ͠ਓ͚(Sass) • Flexbox Grid Sass 63 © Coding Design, 2016
·ͱΊ 64 © Coding Design, 2016
Flexbox ϨΠΞτ͢Δͷʹ ͢͝ʔ͘ศརʂ 65 © Coding Design, 2016
ͨͩ͠ɺ ରϒϥβʹҙʂ 66 © Coding Design, 2016
ϒϥβ͝ͱʢओʹIE10,11ʣͷ όάʹҙʂ 67 © Coding Design, 2016
͋͞࠷ޙͷରܾͩʂ WebzillaΛಈ͔ͯ͠ ಎ۸ʹೖΕΑ͏ʂ 68 © Coding Design, 2016
͋Γ͕ͱ͏!܅ͷ׆༂Ͱ ੈքٹΘΕͨΑʂ 69 © Coding Design, 2016
͜Ε͔ΒFlexboxΛ ͬͯੈքΛٹͬͯͶʂ 70 © Coding Design, 2016
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠οοʂ 71 © Coding Design, 2016