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
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
120
mercurial_nyuumon.pdf
toshifumiimanishi
0
97
ゆく技術_くる技術.pdf
toshifumiimanishi
0
300
裏CSS.pdf
toshifumiimanishi
0
140
Other Decks in Technology
See All in Technology
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
200
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
SmartHR Engineering Team Deck
smarthr
1
1k
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
5
1.4k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
MIRU 2026 チュートリアル
keisuke198619
0
860
事業価値と Engineering 2026年度版
recruitengineers
PRO
43
22k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
サイバー捜査員研修(後半)
nomizone
1
810
바이브풀 라이프
arawn
0
100
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
Code Review Best Practice
trishagee
74
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
RailsConf 2023
tenderlove
30
1.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
200
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
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 ͕͋Γ·͢ɻ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢