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
レスポンシブデザインに見受けられる4つの段階 ~実現のためのZurb Foundation~
Search
kohki-shikata
October 29, 2016
Design
0
520
レスポンシブデザインに見受けられる4つの段階 ~実現のためのZurb Foundation~
CSS Talk vol.1での発表内容です
kohki-shikata
October 29, 2016
Tweet
Share
Other Decks in Design
See All in Design
Tools for Design Engineers other than LLM in the LLM era
takanorip
1
470
A Platform Connecting Brand Philosophy and Assets: "LY Corporation Design Hub"
lycorptech_jp
PRO
0
400
アプリ360onWeb使い方と裏ワザ?紹介!
ikejun360
0
270
Memory Man v3 (WIP)
storybychad
PRO
0
2.6k
「描く」という衝動に立ち返る〜Figma Drawがひらく思考のかたち〜
transit_kix
1
1.1k
SAMSUL KAMAR ABDUL RAHMAN
samsulrahman32
0
160
Cyber Heart Online Book
hjnasby
0
180
文字コントラストを改めて考える / Reevaluating Text Contrast
lycorptech_jp
PRO
0
520
ChatGPT、Gemini、Claude は、なぜ似たようなUIを採用しているのか?
fuwarisprit
2
1.2k
Design Studio Deck | インクルーシブデザインスタジオCULUUM
culumu
3
3.9k
What makes a great Director?
_limex_
0
220
デザインシステムの「種」を使って、受託開発を加速させる
akane___ui
0
11k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How STYLIGHT went responsive
nonsquared
100
5.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Into the Great Unknown - MozCon
thekraken
40
2k
Bash Introduction
62gerente
615
210k
Visualization
eitanlees
148
16k
Navigating Team Friction
lara
189
15k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Docker and Python
trallard
46
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Ϩεϙϯγϒɺࢦ͖̐ͭ͢ͷஈ֊ ʙ࣮ݱͷͨΊͷZurb Foundationʙ 2016/10/29ɹCSS Talk vol.1 @ TAM Coworking
ࣗݾհ ͔ͨ͜͠͏͖ גࣜձࣾND&I ϓϥϯφʔ ※࠷ۙɺ΄ͱΜͲιʔείʔυΛॻ͍ͯ·ͤΜ
ࣗݾհ ͔ͨ͜͠͏͖ גࣜձࣾND&I ϓϥϯφʔ concrete5Ҋ͔݅Γͬͯ·͢ 10% 90% concrete5 ͦͷଞ
ࣗݾհ ͔ͨ͜͠͏͖ גࣜձࣾND&I ϓϥϯφʔ ϑϦʔϥϯεͷάϥϑΟοΫσβΠφʔ →ςϨϏہͷCGσβΠφʔ →ϑϦʔϥϯεͰWeb&ө૾ͷσβΠφʔ →๏ਓԽʴconcrete5ΠϯςάϨʔτύʔτφʔ →ݱ৬ͷձࣾʹJOIN ܦྺ
concrete5Ҋ͔݅Γͬͯ·͢ झຯɿమಓɾϐΞϊ
ࣗݾհ ͔ͨ͜͠͏͖ גࣜձࣾND&I ϓϥϯφʔ ϑϦʔϥϯεͷάϥϑΟοΫσβΠφʔ →ςϨϏہͷCGσβΠφʔ →ϑϦʔϥϯεͰWeb&ө૾ͷσβΠφʔ →๏ਓԽʴconcrete5ΠϯςάϨʔτύʔτφʔ →ݱ৬ͷձࣾʹJOIN ܦྺ
concrete5Ҋ͔݅Γͬͯ·͢ ࠷ۙɺ݁ࠗ͠·ͨ͠ ࠺͔ΒʮϫΠ͘ΜʯͱݺΕͯ·͢ झຯɿమಓɾϐΞϊ
ΞδΣϯμ ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ Zurb Foundationʹ͍ͭͯ
ࠓ͓͢Δ͜ͱͷલఏ WebαΠτʢ΄͒Ή͐͡ʣ Λલఏʹ͠·͢ɻ SPAͱ͔ɺ WebγεςϜͷͰ͋Γ·ͤΜɻ ͦ͏͍͏ͷΛظ͞Ε͍ͯͨํɺ ΰϝϯφαΠ
ࠓ͓͢Δ͜ͱͷલఏ WebαΠτʢ΄͒Ή͐͡ʣ Λલఏʹ͠·͢ɻ ͋ͱɺͪΐͬͱJSͷೖΓ·͢ɻ Pure CSS͡Όͳͯ͘ɺΰϝϯͶʂ
ϨεϙϯγϒσβΠϯͬͯʁ • ʮαΠτΛεϚϗରԠ͢ΔͨΊͷٕज़ʯ • ʮϫϯιʔεɾϚϧνϢʔεͰݮͰ͖Δʯ • ʮϝσΟΞΫΤϦΛͨ͘͞Μ࡞Εɺ ɹεϚϗ͚ͩ͡Όͳ͘ɺλϒϨοτʹରԠͰ͖Δʯ • ʮGoogle͕ਪͯ͠ΔΜͩΑͶʯ
• ʮͦͷҰํͰɺσβΠϯʹ੍͕…ʯ • ʮιʔεͷංେԽ͕…ʯ
ϨεϙϯγϒσβΠϯɺ͜͜Ͱͷఆٛ 8FCαΠτΛ εϚϗରԠͤ͞ΔͨΊͷΞϓϩʔνٕज़ 2. CSSϝσΟΞΫΤϦΛ֩ͱ͢Δ 3. ϫϯιʔεɾϚϧνϢʔε
εϚϗରԠͷΞϓϩʔνٕज़ • UAذ • αʔόʔαΠυ • ϛυϧΣΞͰߦ͏ ʢPHPRubyʣ • WebαʔόʔͰߦ͏
ʢ.htaccessʣ • ΫϥΠΞϯταΠυʢJSʣ • Ϩεϙϯγϒʢը໘෯ʣ Ί ͬ ͪ Ό ͍ ͬ ͺ ͍ ͋ Δ Ͷ ʂ ࠓͪΖΜͬͪ͜ͷʂ
ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ ϑΣʔζ1 ϑΣʔζ2 ϑΣʔζ3 ϑΣʔζ4
ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ ϑΣʔζ1 ϑΣʔζ2 ϑΣʔζ3 ϑΣʔζ4 μϝϙϯγϒ
μϝϙϯγϒͷಛ • ίϯςϯπ͕ը໘͔ΒΈग़͢ɻϨΠΞτ͔ΒΈग़͢ɻ • ίϯςϯπಉ͕࢜ॏͳΔɻݟ͑ͳ͍෦͕ੜ͡Δ • ίϯςϯπը૾ͷαΠζ͕ෆࣗવʹେ͖͘ͳͬͨΓখ͘͞ͳͬͨΓ͢Δ • ίϯςϯπը૾ͷΞεϖΫτൺ͕ਖ਼͘͠࠶ݱ͞Εͳ͍
࢜ࢁʹొΔͨ Ίʹඞཁͳͷ ಓ۩"NB[POฤ ެ։ɿ ,PILJ ෆମࡋ
࢜ࢁʹొΔͨ Ίʹඞཁͳͷ ಓ۩"NB[POฤ ެ։ɿ ,PILJ ळɺͦΕొࢁͷقઅɻ࢜ࢁʹઓ͠Α͏ͱ ͢Δʹɺͪΐ͏Ͳ͍͍قઅͰ͢ΑͶɻࠓ ɺ࢜ࢁʹΞλοΫ͢ΔͨΊʹඞཁͳಓ۩Λ Amazon͚ͩͰἧ͑Δ͜ͱʹνϟϨϯδͯ͠Έ· ͠ΐ͏ʂɹωοτͰҙ֎ͱἧ͑Δ͜ͱ͕ग़དྷ
ΔΜͰ͢Αʂ ෆମࡋ
࢜ࢁʹొΔͨ Ίʹඞཁͳͷ ಓ۩"NB[POฤ ެ։ɿ ,PILJ ෆମࡋ
࢜ࢁʹొΔͨ Ίʹඞཁͳͷ ಓ۩"NB[POฤ ެ։ɿ ,PILJ ෆମࡋ
μϝϙϯγϒͷಛ wJNQPSUBOUͷཛྷ wܧঝ͕ͱͬͪΒ͔ͬͯ͠·͍ɺ ϝϯςφϏϦςΟ͕ۃʹѱ͍ɻ
ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ ϑΣʔζ1 ϑΣʔζ3 ϑΣʔζ4 μϝϙϯγϒϙϯγϒ ϑΣʔζ2
ϙϯγϒͷಛ •ॎʹ߲͕͍άϩφϏ •̐֊ɺ.֊ͱԣʹ͘ͳΔύϯͣ͘Ϧετ •߲ͦͦͷଟ͍ɺ αΠτϚοϓతͳϑολʔάϩφϏɻ
αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ Ωϟϯϖʔϯ ͓͍߹Θͤ ݸਓใอޢํ ΞΫηε ࠾༻ใ 06-1234-5678
ฏ9:00~18:00
αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ͓͍߹Θͤ ݸਓใอޢํ ΞΫηε ࠾༻ใ 06-1234-5678
ฏ9:00~18:00 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ ݸਓใอޢํ 06-1234-5678 ฏ9:00~18:00
ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ ϑΣʔζ1 ϑΣʔζ4 μϝϙϯγϒ ϑΣʔζ2 ϙϯγϒ ϑΣʔζ3 ΄΅ϙϯγϒ
ϙϯγϒͷಛ • άϩφϏϋϯόʔΨʔϝχϡʔΦϑΩϟϯόεʹ • ը૾߹ʹԠͯ͡ɺΞʔτσΟϨΫγϣϯͷৼΓ͚͕ͳ͞ΕΔ • PC࣌ϓϨʔϯͳςΩετ͕ͩɺSP࣌ɺݟग़͠ͰΞίʔσΟΦϯͳͲ ʢex. Wikipediaʣ
αϯϓϧגࣜձࣾ औѻ $43׆ಈ ͓͍߹Θͤ 06-1234-5678 ฏ9:00~18:00 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ
$43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ ݸਓใอޢํ ≡
αϯϓϧגࣜձࣾ औѻ $43׆ಈ ͓͍߹Θͤ 06-1234-5678 ฏ9:00~18:00 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ
$43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ ݸਓใอޢํ ≡ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ ݸਓใอޢํ
ϨεϙϯγϒσβΠϯʹ ݟड͚ΒΕΔ̐ͭͷஈ֊ ϑΣʔζ1 ϑΣʔζ4 μϝϙϯγϒ ϑΣʔζ2 ϙϯγϒ ϑΣʔζ3 ΄΅ϙϯγϒ Ϩεϙϯγϒ
શͳΔ
Ϩεϙϯγϒͷಛ • ϒϨΠΫϙΠϯτؒͰத్ͳݟͨʹͳΔελΠϧͷղܾ ◦ ࡉ͔͘ϒϨΠΫϙΠϯτΛΔ ◦ ྟ࣌ͷϝσΟΞΫΤϦΛΔ • Ϛεϗόʔ࣌ͷσβΠϯΛλονσόΠεͰผͷදݱͰΞϓϩʔνͤ͞ Δ
◦ ը໘෯͚ͩͰఆͰ͖ͣɺೖྗσόΠεΛஅ͢ΔΈ ʢJSʣ͕ඞཁ શͳΔ
Ϩεϙϯγϒͷಛ • ϒϨΠΫϙΠϯτؒͰத్ͳݟͨʹͳΔελΠϧͷղܾ ◦ ࡉ͔͘ϒϨΠΫϙΠϯτΛΔ ◦ ྟ࣌ͷϝσΟΞΫΤϦΛΔ • Ϛεϗόʔ࣌ͷσβΠϯΛλονσόΠεͰผͷදݱͰΞϓϩʔνͤ͞ Δ
◦ ը໘෯͚ͩͰఆͰ͖ͣɺೖྗσόΠεΛஅ͢ΔΈ ʢJSʣ͕ඞཁ શͳΔ
͜͜·Ͱͷ·ͱΊ μϝϙϯγϒ ϙϯγϒ ΄΅ϙϯγϒ Ϩεϙϯγϒ ೲϨϕϧ × ̋ ̋ ˕
ಛ ෆମࡋ UI͕ ચ࿅͞Εͯͳ͍ ͍ΘΏΔ Ϩεϙϯγϒ Ϩεϙϯγϒ͚ͩͲ ؾ͕͖͍ͯΔ ඞཁͳࣝ CSSͷجຊతͳཧղ ࠨهʹಉ͡ ϝσΟΞΫΤϦɺJSɺ ϑϨʔϜϫʔΫͷཧղ ࠨهͷ͞ΒͳΔ ਂ͍ཧղ ސ٬ຬ ೲෆՄ த ߴ ͜ͷΜΛࢦͦ͏
ͱ͜ΖͰ…
ૣ͘ؼΕͯ·͔͢ʁ
ૣ͘ؼΕͯ·͔͢ʁ పఈతʹޮԽ͢Δ
ࢲͷ੍࡞ελϯε 1. ̋̋ͷ࠶ൃ໌͠ͳ͍ 2. ̋̋ͷݞʹͷΔ 3. ̋̋Λ݉ͶΔ
ंྠͷ࠶ൃ໌͠ͳ͍ Don’t reinvent the wheel طʹ͋Δͷɺ͔̍ΒΘͳ͍ ૉࡐɺΞϦϞϊͷྲྀ༻ Φʔϓϯιʔεͷར༻ɺ ޮՌతͳंྠ࠶ൃ໌ͷճආ
ࢲͷ੍࡞ελϯε 1. ंྠͷ࠶ൃ໌͠ͳ͍ 2. ̋̋ͷݞʹͷΔ 3. ̋̋Λ݉ͶΔ
ڊਓͷݞʹͷΔ ༸ͷ͜ͱΘ͟ ઌਓͷੵΈॏͶͨൃݟʹج͍ͮͯ Կ͔Λൃݟ͢Δ͜ͱΛࢦ͢ Φʔϓϯιʔεɺ Ғେͳʮڊਓʯ ۦஞ͍͚ͯ͠·ͤΜ
ࢲͷ੍࡞ελϯε 1. ंྠͷ࠶ൃ໌͠ͳ͍ 2. ڊਓͷݞʹͷΔ 3. େখΛ݉ͶΔ
͞Βʹ… ϓϦϓϩηοαͷ׆༻ HTMLɹ→ɹjade(pug) CSSɹɹ→ɹSass(SCSS) ࢄίʔσΟϯά GitʢձࣾͰBitbucketΛར༻ʣ 伱ؒʹۭ͍ͨ Ϧιʔεͷೖ͕Մೳ
None
WebαΠτ͖ͷػೳ͕࠷ॳ͔Β༻ҙ͞Ε͍ͯΔ EqualizerɺInterchangeɺBlockGrid Sass(SCSS)ͰͷΧελϚΠζ͕લఏ ϒϨΠΫϙΠϯτΛมߋՄೳ ϓϩδΣΫτਐߦதͷมߋՄೳ ϒϨΠΫϙΠϯτJSʹ͢͜ͱͰ͖Δ window.resizeͰൃՐ͠ɺཁૉͷૢ࡞ͳͲ͕Մೳ
WebαΠτ͖ͷػೳ͕࠷ॳ͔Β༻ҙ͞Ε͍ͯΔ EqualizerɺInterchangeɺBlockGrid Sass(SCSS)ͰͷΧελϚΠζ͕લఏ ϒϨΠΫϙΠϯτΛมߋՄೳ ϓϩδΣΫτਐߦதͷมߋՄೳ ϒϨΠΫϙΠϯτJSʹ͢͜ͱͰ͖Δ window.resizeͰൃՐ͠ɺཁૉͷૢ࡞ͳͲ͕Մೳ ͨ͘͞Μ͋Γ͗ͯ͢ ޠΓਚͤ͘ͳ͍ʂ
WebαΠτ͖ͷػೳ͕࠷ॳ͔Β༻ҙ͞Ε͍ͯΔ EqualizerɺInterchangeɺBlockGrid Sass(SCSS)ͰͷΧελϚΠζ͕લఏ ϒϨΠΫϙΠϯτΛมߋՄೳ ϓϩδΣΫτਐߦதͷมߋՄೳ ϒϨΠΫϙΠϯτJSʹ͢͜ͱͰ͖Δ window.resizeͰൃՐ͠ɺཁૉͷૢ࡞ͳͲ͕Մೳ ৄ͘͠ ɹɹ࠙ձͰʂ
ͪΐͬ͜ͱφϏ 06-1234-5678 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ
ݸਓใอޢํ
ͪΐͬ͜ͱφϏ 06-1234-5678 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ
ݸਓใอޢํ αϯϓϧגࣜձࣾ औѻ $43׆ಈ ͓͍߹Θͤ ≡ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ͓͍߹Θͤ ΞΫηε ࠾༻ใ ݸਓใอޢํ
ͪΐͬ͜ͱφϏ 06-1234-5678 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ
ݸਓใอޢํ αϯϓϧגࣜձࣾ औѻ $43׆ಈ ͓͍߹Θͤ ≡ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ͓͍߹Θͤ ΞΫηε ࠾༻ใ ݸਓใอޢํ μα͘ͳ͍ʁ
ͪΐͬ͜ͱφϏ 06-1234-5678 αϯϓϧגࣜձࣾ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ
ݸਓใอޢํ αϯϓϧגࣜձࣾ औѻ $43׆ಈ ͓͍߹Θͤ ≡ ձࣾ֓ཁ औѻ Ωϟϯϖʔϯ $43׆ಈ ΞΫηε ࠾༻ใ ͓͍߹Θͤ ݸਓใอޢํ
/ 2. Breakpoints // -------------- $breakpoints: ( small: 0, medium:
640px, large: 1024px, xlarge: 1200px, xxlarge: 1440px, ); $breakpoint-classes: (small medium large); _setting.scss
// header navigation improvement when screen is small function get_replace()
{ var subnav = $('#subnav li'); $('#gnav-parent').append(subnav); $('#subnav').css("display","none"); // console.log("newSize: " + newSize); // console.log("cw: " + cw); } function get_replace_reverse() { var subnav = $('#gnav-parent .subnav- item'); $('#subnav ul').append(subnav); $('#subnav').css("display","block"); console.log("oldSize: " + oldSize); console.log("cw: " + cw); } w.on('changed.zf.mediaquery', function(event, newSize, oldSize) { var cw = Foundation.MediaQuery.current; if(newSize === "small") { get_replace(); } else if(oldSize === "small") { get_replace_reverse(); } }); w.load(function(){ var cw = Foundation.MediaQuery.current; if(cw === "small") { get_replace(); } }) app.jsʢ͜͏ॻ͘ͱɺͪΐͬ͜ͱφϏ͕εϚϗͷ࣌ʹάϩφϏʹೖΔʣ
EQUALIZER ɾJSͷߴ͞ἧ͑ ɾݱͷαΠτ੍࡞ʹඞਢ ɾZF6͔Βɺྻ͝ͱͷߴ͞ἧ͑ʹରԠ ɾjquery.matchHeight͍Βͣʂ ɾશ෦ೖΓʢେখΛ͔ͶΔʣ͔Βɺ ɹߴ͞ἧ͑Λ४උ͢Δ͕࣌ؒݮΔ
INTERCHANGE CodepenͰݟͯΈΑ͏
BLOCK GRID 12Ҏ֎ͰۉʹׂΕΔάϦουΧϥϜ 5ɺ7ͰׂΕΔʂʢૉׂʣ ׂΔͷ࠷େ8 ͚ͩͲɺSass൛Ͱແ੍ݶͰׂΕΔ
ৄ͍͠ใQiitaͰʂ
ZF·ͱΊ FoundationʹɺαΠτ੍࡞دΓͷ ศརͳίϯϙʔωϯτ͕ἧ͍ͬͯΔ શ෦ೖΓͳͷͰɺίϯϙʔωϯτಉ࢜ͷ ׯব͕ى͖ʹ͍͘ ޙ͔Βͷ༷มߋʹڧ͍ʂ
ࠓճͷ·ͱΊ ΄΅ϙϯγϒҎ্ɺ શͳΔϨεϙϯγϒΛࢦͦ͏ʂ ͦΕΛ࣮ݱ͢ΔͨΊʹɺ Zurb FoundationΛͬͯΈΑ͏ʂ