Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Web制作者のためのSassの参考書.pdf
Search
IMANISHI TOSHIFUMI
September 18, 2019
Technology
2.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web制作者のためのSassの参考書.pdf
IMANISHI TOSHIFUMI
September 18, 2019
More Decks by IMANISHI TOSHIFUMI
See All by IMANISHI TOSHIFUMI
Vue 3 超入門 ー ゆく Vue くる Vue
toshifumiimanishi
0
200
Form_design_from_Netflix.pdf
toshifumiimanishi
0
170
New_Sass_Module_System.pdf
toshifumiimanishi
2
910
JAMstack_kotohajime.pdf
toshifumiimanishi
0
130
mercurial_nyuumon.pdf
toshifumiimanishi
0
100
ゆく技術_くる技術.pdf
toshifumiimanishi
0
300
裏CSS.pdf
toshifumiimanishi
0
140
Other Decks in Technology
See All in Technology
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
110
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
110
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.2k
SLOを阻む不安
sraku2159
0
160
[General] 개발자로 해외 기업에서 일하기
skydoves
1
130
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
330
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.6k
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
160
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
140
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
170
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
670
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
340
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
143
7.8k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Mind Mapping
helmedeiros
1
420
We Have a Design System, Now What?
morganepeng
55
8.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
490
The Invisible Side of Design
smashingmag
301
52k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Un-Boring Meetings
codingconduct
0
470
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.6k
Paper Plane
katiecoart
PRO
5
54k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
310
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Transcript
8FC੍࡞ऀͷͨΊͷ4BTTͷࢀߟॻ Sep 18, 2019 / Toshifumi Imanishi
ຊɺ͢༰ w 4BTTͱ w 4BTTͷྺ࢙ w ଞͷ$44ϝλݴޠ w ͏গ͠4BTTΛ۷ΓԼ͛ͨ w
৽ϞδϡʔϧγεςϜ ඇΤϯδχΞ͚ ΤϯδχΞ͚
4BTTͱʁ 4BTTʢ4ZOUBDUJDBMMZ"XTPNF4UZMFTIFFUTʣͱɺ$44Λ֦ுͨ͠ݴޠͰ͢ɻ$44͘ී ٴͤ͞Δత͋ͬͯॻࣜࣗମγϯϓϧͳͷͰ͕͢ɺϓϩάϥϜͰͨΓલͷΑ͏ʹඋ͑ͯ ͍Δػೳ͕͋Γ·ͤΜɻͦͷΑ͏ͳ$44ͷऑΛิ͏తͰੜͨ͠ͷ͕4BTTʹͳΓ·͢ɻ 4BTTͷެࣜαΠτʢ݄ݱࡏʣIUUQTTBTTMBOHDPN
4BTTͳͥੜͨ͠ͷ͔ʁ ࡢࠓͷ8FCαΠτ੍࡞ʹɺϚϧνσόΠεͷରԠɺ3FUJOBσΟεϓϨΠͳͲͷߴղ૾ σΟεϓϨΠͷରԠɺϨεϙϯγϒ8FCσβΠϯͳͲɺ$44ʹٻΊΒΕΔཁ͕݅ଟ༷Խ͠ ͍ͯ·͢ɻ͔͠͠ɺ։ൃऀʹٻΊΒΕΔػೳ͕$44ͷ༷ʹՃ͞ΕΔʹ૬ͳ݄͕͔͔ Γ·͢ɻ ˠͦ͜ͰɺϝλݴޠʹͲΜͲΜػೳΛՃ͠ɺϩʔΧϧڥͰಈ࡞͢ΔϓϩάϥϜʹΑΓɺ $44ͷ༷ʹม͢ΕΑ͍ͱ͍͏ߟ͕͑ੜ·Ε·ͨ͠ɻͦΕ͕4BTTͷੜʹͳΓ·͢ɻ
4BTTɺTDTTͱ͍͏֦ுࢠͷϑΝΠϧͰهड़͢Δͷ͕σϑΝΫτελϯμʔυʹͳΓ·͢ɻ ͪΖΜɺTBTTͱ͍͏֦ுࢠͷϑΝΠϧ͋Γ·͢ɻʢެ։ॳɺ4"44ه๏ͷΈʣ྆ऀʹ ه๏ͷҧ͍͕͋Γɺ4$44ه๏͕$44ͱಉ͡ه๏Λ࠾༻ɺΏ͑ʹ$44ʹޓੑ͕͋Γ·͢ɻ 4$44ه๏ͷੜ͕ɺ4BTTʹΛूΊ·ͨ͠ɻ 4BTT͚ͩͲ4$44ϑΝΠϧ body { font-size: 1.6rem; word-wrap:
break-word; } SCSS ه๏ body font-size: 1.6rem word-wrap: break-word SASS ه๏ 2006 ʹ Sass ެ։ Sass 3.0
͞·͟·ͳ$44ϝλݴޠ w -&44ɿ+BWB4DSJQUɺաڈʹ#PPUTUSBQͰ࠾༻͞Ε͍ͯͨ w 4UZMVTɿ4BTT-&44ΑΓޙൃͷϝλݴޠɺ4"44ه๏ʹ͍ۙ ͱ͍͑ɺ4BTT͕$44ϝλݴޠͷσϑΝΫτελϯμʔυʹͳΓ·͢ɻݱࡏͰ #PPUTUSBQͰ࠾༻͞Ε͍ͯ·͢ɻ
͔͜͜Βɺ͏গ͠۷ΓԼ͛ͨ ʢΤϯδχΞ͚ʣ!
͞·͟·ͳ4BTT w 3VCZ4BTTɿ࠷ॳͷ4BTTɺ݄ʹαϙʔτऴྃ w -JC4BTTɿ͞·͟·ͳݴޠͰ4BTTΛѻ͏ͨΊͷϥΠϒϥϦ w %BSU4BTTɿ%BSUݴޠͰॻ͔Εͨ4BTTɺઌߦͯ͠ػೳ͕࣮͞ΕΔ ※1 Dart ͱ
Google ʹΑͬͯ։ൃ͞Εͨϓϩάϥϛϯάݴޠ ※1
͑ɺͳΜͰ%BSUʁ
%BSUͷٕज़બఆͷཧ༝ ͞·͟·ͳݴޠ͔Β%BSU͕બΕͨཧ༝ΛҎԼʹࣔ͠·͢ɻ w ಈ࡞͕͍ʢ3VCZ4BTTΑΓߴʣ w +BWB4DSJQUʹޓੑ͕͋ΔʢίϯύΠϧͰ͖Δʣ ಛʹ/PEF4BTT"1*ͱͷޓੑʹযΛҠͨ͜͠ͱ͕ཧ༝ʹͳΓ·͢ɻ ͦͯ͠ɺ%BSU4BTTͷొʹΑΓ3VCZ4BTTͷαϙʔτऴྃʹഥं͕͔͔Γ·ͨ͠ɻ
ઌɺ৽ϞδϡʔϧγεςϜͷϓϨϏϡʔ൛͕ެ։
৽ϞδϡʔϧγεςϜͱ w !VTFͱ!GPSXBSEͷՃ w !JNQPSUͷഇࢭʢ໘૬ޓӡ༻͢ΔͨΊɺαϙʔτ͢Δʣ ࠶ར༻ͷ࠷؆୯ͳΞϓϩʔνɺ@import ʹͳΓ·͢ɻ͔͠͠ɺ@import ʹଟ͘ͷ͕જ ΜͰ͍·ͨ͠ɻಉҰϑΝΠϧʹෳͷ @import
ΛಡΈࠐΉ͜ͱͰίϯύΠϧ͕Լ͢Δɺϥ ΠϒϥϦͷ։ൃऀ໊લۭؒΛඞཁͱ͢ΔɺΧϓηϧԽ͕ͳ͍ɺಛఆͷม mixin ͷࢀরݩ͕ ࠔͳͲ͕͋Γ·͢ɻ → ৽͍͠ϞδϡʔϧγεςϜ͜ΕΒͷΛରॲ͠ɺݱࡏͷϓϩάϥϛϯάݴޠͰ࣮ূ͞Εͯ ͍ΔϕετϓϥΫςΟεʹ߹ΘͤΔ͜ͱΛඪͱ͍ͯ͠·͢ɻ
HVMQͰ৽ϞδϡʔϧγεςϜΛࢼ͢ const gulp = require('gulp'); const sass = require('gulp-sass'); sass.compiler
= require('sass'); ͜ͷ 1 ߦΛՃ͢Δ $ npm install -g
[email protected]
ԼهίϚϯυϥΠϯΛ࣮ߦ͢Δ ʢ%BSU4BTTͷϚΠφʔόʔδϣϯʹͳΓ·͢ʣ %BSU4BTTܦ༝ͰίϯύΠϧ͢ΔΑ͏ʹHVMQpMFKTΛઃఆ͢Δ ʢσϑΥϧτͰ/PEF4BTTܦ༝ͰίϯύΠϧ͞Ε·͢ʣ
!JNQPSU͔Β!VTFͷॻ͖͑ มNJYJOάϩʔόϧͰͳ͘ͳΓɺݱࡏͷελΠϧγʔτͰͷΈʢϓϥΠϕʔτͱͯ͠ʣ ద༻͞Ε·͢ɻ // main.scss @import “variables"; @import "foundation/base"; //
_foundation/base.scss html { font-size: $font-size-sm; } // _variables.scss $font-size-sm: 1rem !default; // main.scss @use "foundation/base"; // _foundation/base.scss @use "variables"; html { font-size: variables.$font-size-sm; } // _variables.scss $font-size-sm: 1rem !default;
ҙͷ໊લۭؒΛͨͤΔ !VTFͷσϑΥϧτͷ໊લۭؒɺΠϯϙʔτͨ͠ϑΝΠϧ໊ʹΑܾͬͯ·Γ·͢ɻͪΖΜɺ ໊લۭؒΛ໌ࣔతʹઃఆ͢Δ͜ͱՄೳͰ͢ɻ ʢϫΠϧυΧʔυʣΛ༻͍ΕɺτοϓϨϕϧͷ ໊લۭؒʢ໊લۭؒͳ͠ʣʹͳΓ·͢ɻ // main.scss @import "foundation/base"; //
_foundation/base.scss @use “variables"; html { font-size: variables.$font-size-sm; } // _variables.scss $font-size-sm: 1rem !default; // main.scss @use "foundation/base"; // _foundation/base.scss @use "variables" as var; html { font-size: var.$font-size-sm; } // _variables.scss $font-size-sm: 1rem !default;
!GPSXBSEɺଞͷϞδϡʔϧͷมɺNJYJOͳͲΛؚΜͩϞδϡʔϧͱͯ͠ΤΫεϙʔτ͠· ͢ɻύʔγϟϧΛར༻ͯ͠4BTTϑΝΠϧΛׂ͢Δཧʹཱͪ·͢ɻ!GPSXBSEͰΠϯϙʔ τ͞ΕͨϞδϡʔϧʹɺ໊લۭؒΛؚΈ·ͤΜɻ !GPSXBSEͰ·ͱΊΔ // _base.scss @use "setting" as *;
html { font-size: $font-size-sm; @include breakpoint-up(md) { font-size: $font-size-md; } } // _setting.scss @forward “variables”; @forward “mixins/breakpoints"; // _base.scss @use “variables"; @use “mixins/breakpoints"; html { font-size: variables.$font-size-sm; @include breakpoints.breakpoint-up(md) { font-size: variables.$font-size-md; } }
ࢼͯ͠ΈͯΘ͔ͬͨ͜ͱɺॴײ ৽ͨͳϞδϡʔϧγεςϜɺมNJYJOͳͲΛάϩʔόϧʹࢀর͢Δ͜ͱͰ͖·ͤΜɻ͜ Εɺඪʢ)JHI-FWFMʣʹ͋Δہॴੑʹ֘͠·͢ɻ৽ͨͳϞδϡʔϧγεςϜɺͦͷ 4BTTϑΝΠϧͷΈͰཧղͰ͖ΔΑ͏ʹ͖͢Ͱ͢ɻ·ͨɺ։ൃऀଞͷϑΝΠϧͷ໊લͷিಥ Λؾʹ͢Δ͜ͱͳ͘։ൃͰ͖ΔΑ͏ʹͳΓ·͢ɻ !JNQPSU͕ഇࢭ͞ΕΔʢ໘αϙʔτʣ͜ͱɺݱࡏͷ4BTTͷΤίγεςϜʹେ͖͘Өڹ Λٴ΅͢Ͱ͠ΐ͏ɻ͔͠͠ɺ৽ͨͳϞδϡʔϧγεςϜɺ͜Ε͔Βͷ։ൃʹେ͖͘د༩͢ΔͰ ͠ΐ͏ɻ ※1 ※1ϞδϡʔϧγεςϜͷඪʹɺHigh-Level
ͱLow-Level ͕͋Γ·͢ɻ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢