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
500
4
Share
FLEXBOX-MEN: Apocalypse
2016-06-11開催のHTML Party かごんま 2016で行ったセッション「FLEXBOX-MEN: Apocalypse」のスライド。
Fuminori Mori
June 11, 2016
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
Keeping Ruby Running on Cygwin
fd0
0
180
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
210
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.3k
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
120
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
410
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
170
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
320
AIコーディング時代における、ソフトウェアサプライチェーン攻撃に対する防衛術(簡易版)
soysoysoyb
0
150
AI時代のガードレールとしてのAPIガバナンス
nagix
0
310
AI時代における技術的負債への取り組み
codenote
1
1.8k
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
110
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
250
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How to make the Groovebox
asonas
2
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
490
The Invisible Side of Design
smashingmag
303
52k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
330
sira's awesome portfolio website redesign presentation
elsirapls
0
220
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The Cult of Friendly URLs
andyhume
79
6.8k
Deep Space Network (abreviated)
tonyrice
0
120
BBQ
matthewcrist
89
10k
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