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
21 Ways to Call American Airlines Customer Care Full Guide USA
americanhub
0
200
AI駆動なデザイン開発 〜Figma Make でまるっとつくるか、 HTML でシンプルにつくるか〜
t_east
1
1.2k
minpaku-community-scrum-patterns
norinity1103
1
240
Portfolio 齋藤明敏 Hiroyuki Saito_守秘義務あり
crearedesign
0
260
地理院地図をもっと楽しく!れきちず新機能のご紹介
hjmkth
1
110
sachi_y_portfolio
sachi337
0
480
業務効率化だけじゃ物足りない AIと一緒にプロトタイプ開発
shingo2000
1
1.6k
CursorでAI活用のナレッジベースを構築する
kanzaki
0
620
CMS管理画面のアクセシビリティ
magi1125
8
2.4k
タイミーでフィールドワークしたら、サービスデザインが始まった
kenichiota0711
2
3.1k
Character Experience AI 〜 AIキャラクターのつくりかた 〜
smartbank
0
220
児童相談所における養育里親委託時の親権者同意に向けたコミュニケーションの実態
trivia
0
530
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Faster Mobile Websites
deanohume
309
31k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
560
Bash Introduction
62gerente
614
210k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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ΛͬͯΈΑ͏ʂ