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
Sass for everyday's cooking
Search
Takuji Ikeda
January 12, 2013
Programming
2k
21
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Sass for everyday's cooking
Takuji Ikeda
January 12, 2013
More Decks by Takuji Ikeda
See All by Takuji Ikeda
20131101JAGAT_short.pdf
tikeda
1
230
UI for everyday's cooking
tikeda
39
18k
Patterns of UI Design
tikeda
3
1k
Web Fonts with Web Design
tikeda
6
6.5k
Other Decks in Programming
See All in Programming
えっ!!コードを読まずに開発を!?
hananouchi
0
200
霧の中の代数的エフェクト
funnyycat
1
380
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6k
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
Creating Composable Callables in Contemporary C++
rollbear
0
210
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
380
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
AIエージェントで 変わるAndroid開発環境
takahirom
2
650
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
850
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
440
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing Experiences People Love
moore
143
24k
Scaling GitHub
holman
464
140k
Designing for humans not robots
tammielis
254
26k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Spectacular Lies of Maps
axbom
PRO
1
860
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Typedesign – Prime Four
hannesfritz
42
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
ΫοΫύουגࣜձࣾ αʔϏεσβΠϯ෦αʔϏεσβΠϯάϧʔϓ ా࢘ɹσβΠφʔ ຖͷྉཧͷͨΊͷSass $44/JUF-1
ࣗݾհ Sass Less,CSS ݄ʙ ʙ݄ ా࢘ @tikeda (scss)
None
None
Agenda ࠓ͢͜ͱ
ΫοΫύουͷ։ൃελΠϧͱ4BTT 4BTTΛͬͨࣗࣾσβΠϯϑϨʔϜϫʔΫ ຖͷྉཧͷͨΊͷ4BTTʁ
About Cookpad’s Coding Style ΫοΫύουͷ։ൃελΠϧͱSass
Engineer + Designer ࣌ 45ਓ
ΫοΫύουͷ։ൃελΠϧ •Sass / HamlʢσβΠφʔɾΤϯδχΞΘͣʣ •GitHubʢσβΠφʔɾΤϯδχΞΘͣʣ •ฏߦͯ͠ෳͷϓϩδΣΫτ͕ਐΉ •cookpad.comҎ֎ͷαʔϏεଓʑ։ൃ •σόΠεΘͣαʔϏε։ൃ •ૣ͍։ൃαΠΫϧʢ1ԿσϓϩΠʣ
UI UX user team Designer Engineer Directer Engineer Engineer Directer
Directer Engineer Designer Engineer
ΈΜͳͰ։ൃ Code Design Function Quality Speed
ΈΜͳͰ։ൃ Code (Sass) Design Function Quality Speed
None
$44 4$44DPEJOHTUZMF •Use a line break between selecters button, button:visited,
button:hover { } button, button:visited, button:hover { } #"% (00%
$44 4$44DPEJOHTUZMF •Use underscore in class names and ids •Don't
qualify ID Rules with tag names or classes button#backButton { } #back_button { } #"% (00%
•Add mixins at the beginning of selector class .comment {
@include border-radius(2px); @include box-shadow; color: $red; font-weight: bold; } (00% $44 4$44DPEJOHTUZMF
ίʔυϨϏϡʔ
ίʔυϨϏϡʔ ϧʔϧ͕͋ΔͷͰɺ !JODMVEFҰ൪্Ͱ͢ मਖ਼͠·͢
ίʔυϨϏϡʔ
ίʔυϨϏϡʔ ͜ͷϨϕϧͷΠϯσϯτͷ࣌վߦ͕ೖͬ ͍ͯͳͯ͘͏Ұݸਂ͍Ϩϕϧͩͱೖͬͯ ͍ΔͷͬͯԿ͔ҙਤ͕͋ΔͷͰ͠ΐ͏͔ʁ ΨΠυϥΠϯͩͱࢠཁૉͱଐੑͷؒʹ ۭߦ͋Γɺࢠཁૉ͕ฒͿ߹ۭߦ ͳͬ͠Ά͍ΜͰ͢ΑͶɻ !UBLVKJJLFEB͞ΜɺͲ͏Ͱ͠ΐ ͭͷ$44ϑΝΠϧͷதͰɺͲ͏͍͏ ߹ʹۭߦΛ͚͋Δͷ͔ͱ͍͏ϧʔϧ࣋ͪ
·͠ΐ͏ɻࠓޙ·ͱ·Γ͕ͳ͘ͳΔΑ͏Ͱ ͨ͠ΒΨΠυϥΠϯԽ͠·͢ɻ
4$44ߏ Sara Sara_settings cookpad.scss partial pages common extensions @import
4$44ߏ Sara Sara_settings cookpad.scss partial pages common extensions ݶఆϢʔβʔͳͲҰ࣌తͳػೳ༻ ԣஅతʹ͍ͬͯΔUIίϯϙʔωϯτ
ϖʔδ͝ͱͷελΠϧ༻ Sara͕·͔ͳ͑ͳ͍جຊελΠϧ @import
4$44ߏ Sara Sara_settings extension_a.scss @import extension_b_smartphone.scss
4$44ߏ Sara Sara_settings cookpad.scss partial pages common extensions ݶఆϢʔβʔͳͲҰ࣌తͳػೳ༻ ԣஅతʹ͍ͬͯΔUIίϯϙʔωϯτ
ϖʔδ͝ͱͷελΠϧ༻ Sara͕·͔ͳ͑ͳ͍جຊελΠϧ @import
Sara SassΛͬͨࣗࣾσβΠϯϑϨʔϜϫʔΫ
Sara?
皿 美�味しい料理を支える、 料理に合う美�しい皿
user team
team
None
None
None
ΫοΫύουͷσβΠϯͷநԽ
6*ίϯϙʔωϯτͷڞ༗
มʹΑΔΧϥʔίʔυͳͲͷཧ
σόΠεΛ·͍ͨͩΧϥʔϚωʔδ
৽αʔϏεࣾαʔϏεͷ֦ு
৽αʔϏεࣾαʔϏεͷ֦ு
4BSB'SBNFXPSL
4BSB'SBNFXPSL
4BSBNJYJO
4BSBNJYJO @include size(16px); @include size(64px, 32px); ؆୯αΠζࢦఆ
4BSBNJYJO @include absolute(10px, 5px, $z: 999); BCTPMVUFύοέʔδ
4BSBNJYJO @include button_generator($red); @include button_generator ( $button_bg_from, $button_bg_to: $button_bg_from, $button_border:
darken($button_bg_to, 7%), $button_text_shadow: darken($button_bg_to, 10%) ) ఆ൪ͷCVUUPO
4BSBNJYJO @include tooltip; @include tooltip ( $tooltip_width: 200px, $triangle_position: top,
// top, right, bottom, left $triangle_distance: 100px, $triangle_size: small, // small, large ) Ͳ͜ͰUPPMUJQ
1VMM3FRVFTU Good job!
3FDFOU5PQJD
3FDFOU5PQJD Sara Responsive
Sara Responsive 3FDFOU5PQJD Not so good yet ..
ࣦഊஊ
ϝΠϯͷ$44͕ޮ͍ͯͳ͍ʁ ࣦഊஊ *&ͷ$44ηϨΫλʔ্ݶ 4095Over *&ͰσβΠϯ่͕Εͯ·͢
$44ׂ͠·͔͢ʁ ͍͍ɺແବ͕͋ΔͣͳͷͰ ϦϑΝΫλϦϯά͠·͠ΐ͏Α ϜμͳJNQPSUFYUFOE͕ͳ͍͔ ௐ·͢ ରࡦ ೦ͷͨΊɺ։ൃڥͰ"MFSUͩ͠·͢
ରࡦ։ൃڥͰͷ"MFSU Good job!
ରࡦ4$44ݟ͠ FYUFOEΛNJYJOʹม͑ͨΒ ສߦͷ$44͕ສߦʹͳΓ·ͨ͠
$441SFQSPDFTTPSΛ͏ͱ $44ͷྔ͕૿͑Δʹ͋Γ·͢ɻ దࡐదॴɺదʹ͍·͠ΐ͏ɻ
Sass for everyday cooking ? ຖͷྉཧͷͨΊͷSass?
ྑ͖ΫοΫύουମݧͷఏڙ
ݕূ݁Ռͷө ݕ ূ @include button; @include button(#ef6074); more better
ݕূ݁Ռͷө ݕ ূ @include button; @include button(#ef6074); @include button; @include
button;
@mixin button ( $button_bg_from, $button_bg_to: $button_bg_from, $button_border: darken($button_bg_to, 7%), $button_text_shadow:
darken($button_bg_to, 10%) ){ text-shadow: 0 -1px 0 $button_text_shadow; @if ($button_border == 'none') { border: none; } @elseif ($button_border == '') { border: none; } @else { border: 1px solid $button_border; } background: $button_bg_to; @include gradient($button_bg_from, $button_bg_to); &:hover { @if ($button_border == 'none') { border: none; } @elseif ($button_border == '') { border: none; } @else { border: 1px solid $button_border; } border: 1px solid darken($button_border, 3%); @include gradient(darken($button_bg_from, 3%), darken($button_bg_to, 3%)); } } ୯ͳΔUIύʔπͰͳ ͘ඞཁͳ෦ͷ֦ுΛ ڐ༰͢Δ ݕূ݁Ռͷө
ྑ͖ΫοΫύουମݧͷఏڙ ܕʹΊͳ͍ॊೈੑߴ͍ σβΠϯϑϨʔϜϫʔΫ
ඒຯͦ͠͏ͳσβΠϯ
ྫ ɾ੨Θͳ͍ ɾϨγϐϖʔδͷϦϯΫ৭ ɾϨγϐը૾શ෦ࠨճΓ
ܦݧͱײੑʹج͍ͮͨσβΠϯͷ ΈʹΈࠐΉ ඒຯͦ͠͏ͳσβΠϯ
͍͢։ൃαΠΫϧ
จࣈ৭ എܠ৭ ϦϯΫ৭ Ϙʔμʔ৭ Ϩγϐ৭ ΞΫηϯτ৭ #3c3c3c #faf3e3 #330000 #F5F1E1
#889B00 #ff9933 4BTTΛͬͯมԽ
$branding_main: #4d2200 !default; $branding_accent: #ff9933 !default; $branding_support: #faf3e3 !default; $anchor:
#330000 !default; $anchor_visited: #845f4b !default; $body: #3c3c3c !default; $body_bg: $branding_support !default; $recipe_title: #889B00 !default; $default_border: darken($body_bg, 5%) !default; ιʔείʔυ͔Β ࢀরՄೳͳ ΨΠυϥΠϯ 4BTTΛͬͯมԽ
͍͢։ൃαΠΫϧ ϘτϜΞοϓܕͷσβΠϯΨΠυϥΠϯ
ϘτϜΞοϓܕͷσβΠϯΨΠυϥΠϯ ܦݧͱײੑʹج͍ͮͨσβΠϯͷ ΈʹΈࠐΉ ܕʹΊͳ͍ॊೈੑߴ͍ σβΠϯϑϨʔϜϫʔΫ
ϘτϜΞοϓܕͷσβΠϯΨΠυϥΠϯ ܦݧͱײੑʹج͍ͮͨσβΠϯͷ ΈʹΈࠐΉ ܕʹΊͳ͍ॊೈੑߴ͍ σβΠϯϑϨʔϜϫʔΫ
Coding Designing
Coding Designing
Ҏ্ɺ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ΤϯδχΞσβΠφʔืूத ΫοΫύουͷαʔϏε։ൃʹ͝ڵຯ͕ ͋Δํɺؾܰʹ͓͕͚͍ͩ͘͞ʂ @tikedaɹ
[email protected]
Special Thanks Photo by
cookpad recipes and Flickr