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
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
Foundation Models frameworkで画像分析
ryodeveloper
1
600
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
480
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
160
Google Apps Script で Ruby を動かす
kawahara
0
140
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
Featured
See All Featured
Crafting Experiences
bethany
1
240
New Earth Scene 8
popppiees
3
2.5k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
200
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
Documentation Writing (for coders)
carmenintech
77
5.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
So, you think you're a good person
axbom
PRO
2
2.1k
A designer walks into a library…
pauljervisheath
211
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Un-Boring Meetings
codingconduct
0
380
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
370
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