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
530
レスポンシブデザインに見受けられる4つの段階 ~実現のためのZurb Foundation~
CSS Talk vol.1での発表内容です
kohki-shikata
October 29, 2016
Tweet
Share
Other Decks in Design
See All in Design
アイデアを加速させる!Firefly ボードで発想の幅を広げよう
connecre
1
270
【Designship 2025|10.11】デザイン組織と事業貢献、その挑戦と結果。
payatsusan213
1
880
Emmy's Artwork
mcksmith
0
190
AIエージェントが対話的なUIを返す!MCP−UIで変わるユーザ体験
daitasu
1
120
デザイナーがはばたく未来の入り口『hatch』が描く、新しいデザイナー育成のカタチ
goodpatch
3
3k
【pmconf2025】PdMの頭の中を見える化する体験構造図
kamechi7222222
1
1.7k
Spectrum Tokyo_ デザイナーが事業責任者になってみた
shin_2
0
180
maki setoguchi
maki_setoguchi
0
620
越境するデザイン人材:デザイナーが社会資本となる世界へ
goodpatch
1
460
新卒の目から見たサイボウズのデザイン組織
ryota5884
0
300
AI業務アプリケーションの体験デザイン
kazuhirokimura
0
240
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
370
Featured
See All Featured
Marketing to machines
jonoalderson
1
4.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Unsuck your backbone
ammeep
671
58k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
110
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
4 Signs Your Business is Dying
shpigford
187
22k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
Docker and Python
trallard
47
3.7k
Rails Girls Zürich Keynote
gr2m
95
14k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
270
Believing is Seeing
oripsolob
1
27
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ΛͬͯΈΑ͏ʂ