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
160
New_Sass_Module_System.pdf
toshifumiimanishi
2
900
JAMstack_kotohajime.pdf
toshifumiimanishi
0
130
mercurial_nyuumon.pdf
toshifumiimanishi
0
97
ゆく技術_くる技術.pdf
toshifumiimanishi
0
300
裏CSS.pdf
toshifumiimanishi
0
140
Other Decks in Technology
See All in Technology
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
470
絵ではじめるKubernetesセキュリティ
aoi1
4
680
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
170
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
Reactの設計論
uhyo
24
14k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.4k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
220
Goodbye ShellScript, Hello File-based App
shunsock
0
270
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Optimizing for Happiness
mojombo
378
71k
The Curse of the Amulet
leimatthew05
3
15k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
400
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
It's Worth the Effort
3n
188
29k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
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 ͕͋Γ·͢ɻ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢