SlideShare a Scribd company logo
Andréa
Zambrana
front-end @ Amil
[multicanais]
@akfzambrana
http://andreazambrana.com.
br
@frontladiesabc
facebook.com/front-ladies-
Vamos pra
o que interessa!
cor de fundo =
#55ACEE
ícone =
"62"identificação = twitter
<a href="https://twitter.com">
Twitter
</a>
<a href="https://www.facebook.com">
Facebook
</a>
<a href="https://br.linkedin.com">
Linkedin
</a>
a[href="http://twitter.com"] {
background: #55acee;
}
a[href="http://twitter.com"]:before {
content: "62";
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "62";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "61";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "63";
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "62";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "61";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "63";
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "62";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "61";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "63";
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "62";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "61";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "63";
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "62";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "61";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "63";
}
copiar e colar, suxs!
E se usarmos um
pré-processador?
será que melhora?
Como vocês
fariam?
Com listas
$social-media: (
("twitter", "62", #55ACEE),
("facebook", "63", #2E4DA7),
("linkedin", "61", #007AB9)
);
$social-media: (
("twitter", "62", #55ACEE),
("facebook", "63", #2E4DA7),
("linkedin", "61", #007AB9)
);
$social-media: (
("twitter", "62", #55ACEE),
("facebook", "63", #2E4DA7),
("linkedin", "61", #007AB9)
);
@each $x, $y, $z in $social-media {
a[href*="#{$x}"] {
background: $z;
&:before {
content: $y;
}
}
}
@each $x, $y, $z in $social-media {
a[href*="#{$x}"] {
background: $z;
&:before {
content: $y;
}
}
}
@each $x, $y, $z in $social-media {
a[href*="#{$x}"] {
background: $z;
&:before {
content: $y;
}
}
}
@each $x, $y, $z in $social-media {
a[href*="#{$x}"] {
background: $z;
&:before {
content: $y;
}
}
}
@each $name, $char, $color in $social-media {
a[href*="#{$name}"] {
background: $color;
&:before {
content: $char;
}
}
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "b";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "c";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "a";
}
E daqui a 6
meses?
ou mais tempo
$social-media: (
("twitter", "62", #55ACEE),
("facebook", "63", #2E4DA7),
("linkedin", "61", #007AB9)
);
$social-media: (
("twitter", "62", #55ACEE),
("facebook", "63", #2E4DA7),
("linkedin", "61", #007AB9)
);
$social-media: (
("twitter", "62", #55ACEE, #226391),
("facebook", "63", #2E4DA7, #173075),
("linkedin", "61", #007AB9, #052c3f)
);
E se fosse
algo assim?
$social-media: (
twitter: (
icon: "62",
bg-color: #55ACEE
),
facebook: (
icon: "63",
bg-color: #2E4DA7
),
linkedin: (
icon: "61",
bg-color: #007AB9
)
);
$social-media: (
twitter: (
icon: "62",
bg-color: #55ACEE
),
facebook: (
icon: "63",
bg-color: #2E4DA7
),
linkedin: (
icon: "61",
bg-color: #007AB9
)
);
@each $name, $values in $social-media {
a[href*="#{$name}"] {
background: map-get($values, bg-color);
&:before {
content: map-get($values, icon);
}
}
}
@each $name, $values in $social-media {
a[href*="#{$name}"] {
background: map-get($values, bg-color);
&:before {
content: map-get($values, icon);
}
}
}
@each $name, $values in $social-media {
a[href*="#{$name}"] {
background: map-get($values, bg-color);
&:before {
content: map-get($values, icon);
}
}
}
a[href*="twitter"] {
background: #55acee;
}
a[href*="twitter"]:before {
content: "b";
}
a[href*="facebook"] {
background: #2E4DA7;
}
a[href*="facebook"]:before {
content: "c";
}
a[href*="linkedin"] {
background: #007AB9;
}
a[href*="linkedin"]:before {
content: "a";
}
e ae, curtiram?
Sass maps
o que são
Vetores
associativos
basicamente
Listas bombadas
nome para cada valor
Desde a versão
3.3
$nome-mapa: (
chave: valor,
chave-2: valor-2
);
$nome-mapa: (
chave: valor,
chave-2: valor-2
);
$nome-mapa: (
chave-mapa: (
chave: valor,
chave-2: valor-2
),
chave-2: valor-2
);
$nome-mapa: (
chave-mapa: (
chave: valor,
chave-2: valor-2
),
chave-2: valor-2
);
Cuidado com
mapas dentro de
mapas
detalhes,
grandes
diferenças!
$colors: (
primary: #BE0062,
secondary: #D3A108,
warning: #FFF82A,
);
este mapa funciona?
$colors: (
primary: #BE0062,
secondary: #D3A108,
warning: #FFF82A,
);
este mapa funciona?
Pode ter
vírgula no final
não dá pau =P
$my-map: (
name: "my-component",
text-size: 15px,
color: #BE0062,
"show": true,
block: null,
size: (100px, 50px)
);
e assim, pode ser?
Pode usar
qualquer tipo de
dado
aceito pelo Sass
Strings (com ou sem
aspas)
Numbers
Cores
Booleans
Listas
Mapas
Null
Seja chave ou
valor
mas...
Chaves ===
strings
recomenda-se
Chaves únicas
importante!
Funções nativas
http://sass-
lang.com/documentation/Sass/Scrip
t/Functions.html#map-functions
Exemplo
button {
background: #0CA0C1;
color: #fff;
}
.main-action {
background: #0CA0C1;
color: #fff;
}
.secondary-action {
background: #0CA0C1;
color: #fff;
}
marca1.css
button {
background: #aaa;
color: #fff;
}
.main-action {
background: linear-gradient(
to bottom, #ed6655, #eb4766
);
color: #fff;
}
.secondary-action {
background: linear-gradient(
to bottom, #ed6655, #eb4766
);
color: #fff;
}
marca2.css
Com CSS4 será
que melhora?
.brand-2 {
--primary: #ed6655;
--secondary: #aaa;
--normal: #aaa;
--dark: #000;
--light: #fff;
}
.has-gradient {
--grad-light: #ed6655;
--grad-dark: #eb4766;
}
.brand-1 {
--primary: #0CA0C1;
--secondary: #0CA0C1;
--normal: #0CA0C1;
--dark: #000;
--light: #fff;
}
brand2.cssbrand1.css
button {
background: var(--normal);
color: var(--light);
}
.main-action {
background: var(--primary);
color: var(--light);
}
.secondary-action {
background: var(--secondary);
color: var(--light);
}
core.csscore.css
.has-gradient .main-action {
background: linear-gradient(
to bottom,
var(--gradient-light),
var(--gradient-dark)
)
}
.has-gradient .secondary-action {
background: linear-gradient(
to bottom,
var(--gradient-light),
var(--gradient-dark)
)
}
quem consegue
E se usarmos pré-
processador?
$primary: #ed6655;
$secondary: #eb4766;
$normal: #b9b9b9;
$gradient-light: #ed6655;
$gradient-dark: #eb4766;
$light: #fff;
$has-gradient: true;
$primary: #0CA0C1;
$secondary: #0CA0C1;
$normal: #0CA0C1;
$dark: #000;
$light: #fff;
$has-gradient: false;
brand.scssbrand.scss
$primary: #ed6655;
$secondary: #eb4766;
$normal: #b9b9b9;
$gradient-light: #ed6655;
$gradient-dark: #eb4766;
$light: #fff;
$has-gradient: true;
$primary: #0CA0C1;
$secondary: #0CA0C1;
$normal: #0CA0C1;
$dark: #000;
$light: #fff;
$has-gradient: false;
brand.scssbrand.scss
button {
background: $normal;
color: $light;
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom, $gradient-light, $gradient-
dark
);
color: $light;
} @else {
background: $primary;
color: $light;
}
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom, $gradient-light, $gradient-
dark
);
color: $light;
} @else {
background: $primary;
color: $light;
}
}
.secondary-action {
@if $has-gradient {
background: linear-gradient(
to bottom, $gradient-light, $gradient-
dark
);
color: $light;
} @else {
background: $secondary;
color: $light;
}
}
Melhorou ne?
E quando o
projeto crescer?
tipo 956 variáveis...
Será que fica
mais organizado
assim?
$brand-colors: (
primary: #0CA0C1,
secondary: #0CA0C1,
normal: #0CA0C1,
light: #fff
);
$has-gradient: false;
brand.scssbrand.scss
$brand-colors: (
primary: #0CA0C1,
secondary: #0CA0C1,
normal: #0CA0C1,
gradient: (
light: #ed6655,
dark: #eb4766
),
light: #fff
);
$has-gradient: false;
button {
background: map-get($colors, normal);
color: map-get($colors, light);
}
button {
background: map-get($colors, normal);
color: map-get($colors, light);
}
button {
background: map-get($colors, normal);
color: map-get($colors, light);
}
button {
background: map-get($colors, normal);
color: map-get($colors, light);
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
map-get(map-get($colors, gradient), light),
map-get(map-get($colors, gradient), dark),
);
} @else {
background: map-get($colors, primary);
}
color: map-get($colors, light);
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
map-get(map-get($colors, gradient), light),
map-get(map-get($colors, gradient), dark),
);
} @else {
background: map-get($colors, primary);
}
color: map-get($colors, light);
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
map-get(map-get($colors, gradient), light),
map-get(map-get($colors, gradient), dark),
);
} @else {
background: map-get($colors, primary);
}
color: map-get($colors, light);
}
.secondary-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
map-get(map-get($colors, gradient), light),
map-get(map-get($colors, gradient), dark),
);
} @else {
background: map-get($colors, secondary);
}
color: map-get($colors, light);
}
.secondary-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
map-get(map-get($colors, gradient), light),
map-get(map-get($colors, gradient), dark),
);
} @else {
background: map-get($colors, secondary);
}
color: map-get($colors, light);
}
brand.scss
$brand-colors: (
primary: #0CA0C1,
secondary: #0CA0C1,
normal: #0CA0C1,
gradient: (
light: #ed6655,
dark: #eb4766
),
light: #fff
);
brand.scss
$brand-colors: (
primary: #0CA0C1,
secondary: #0CA0C1,
normal: #0CA0C1,
gradient: (
light: #ed6655,
dark: #eb4766
),
light: #fff
);
@function color($key, $variation: null){
$type: map-get($brand-colors, $key);
@if $variation == null {
@if type-of($type) == map {
@return map-get(map-get($brand-colors, $key), 'base');
} @else {
@return map-get($brand-colors, $key);
}
} @else {
@return map-get(map-get($brand-colors, $key), $variation);
}
}
@function color($key, $variation: null){
$type: map-get($brand-colors, $key);
@if $variation == null {
@if type-of($type) == map {
@return map-get(map-get($brand-colors, $key), 'base');
} @else {
@return map-get($brand-colors, $key);
}
} @else {
@return map-get(map-get($brand-colors, $key), $variation);
}
}
@function color($key, $variation: null){
$type: map-get($brand-colors, $key);
@if $variation == null {
@if type-of($type) == map {
@return map-get(map-get($brand-colors, $key), 'base');
} @else {
@return map-get($brand-colors, $key);
}
} @else {
@return map-get(map-get($brand-colors, $key), $variation);
}
}
@function color($key, $variation: null){
$type: map-get($brand-colors, $key);
@if $variation == null {
@if type-of($type) == map {
@return map-get(map-get($brand-colors, $key), 'base');
} @else {
@return map-get($brand-colors, $key);
}
} @else {
@return map-get(map-get($brand-colors, $key), $variation);
}
}
.main-action {
@if $has-gradient {
background: linear-gradient(
to bottom,
color(gradient, light),
color(gradient, dark),
);
} @else {
background: color(primary);
}
color: color(light);
}
Adogo
Sass é o único
pré-processador
que tem mapas
OK, mas tem
mais
alguém que usa?
tipo alguém famoso...
Foundation Bootstrap 4 Ionic
Vlw!
@akfzambra
na
CSS SP #21
http://codepen.io/collection/nvKwK
a/
Codepen
com exemplos
Controle
de camadas
$z-layers: (
hell-pit: -9999,
default: 1,
middle: 50,
purgatory: 4000,
heaven: 4001
);
@function layer($key) {
@return map-get($z-layers, $key);
}
.dropdown {
z-index: layer(component);
}
.content {
z-index: layer(default);
}
.dialog-box {
z-index: layer(heaven);
}
Breakpoints
você não precisa de um
framework css
$screen-size: (
small: 767px,
medium: 992px,
large: 1200px
);
@mixin respond-to($size) {
$size: map-get($screen-size, $size)
@media (min-width: #{px-to-rem($size)} {
@content;
}
}
.my-link {
color: black;
@include respond-to(medium) {
color: tomato;
}
@include respond-to(large) {
color: orange;
}
}
.my-link {
color: black;
}
@media (min-width: 992px) {
.my-link { color: tomato; }
}
@media (min-width: 1200px) {
.my-link { color: orange; }
}
Controle de
componentes
$browser-min: (
'chrome': 33,
'firefox': 26,
'ie': 8,
'safari': 5,
'opera': 10
);
%clearfix {
$min-support: map-get($browser-min, 'ie');
@if $min-support < 8 {
…
} @else {
…
}
}
Agora é só soltar
a imaginação
e ser muito feliz!

More Related Content

What's hot

Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017Codemotion
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & CompassRob Davarnia
 
Backend to Frontend: When database optimization affects the full stack
Backend to Frontend: When database optimization affects the full stackBackend to Frontend: When database optimization affects the full stack
Backend to Frontend: When database optimization affects the full stackMarkus Winand
 
Teddy Bear Blue
Teddy Bear BlueTeddy Bear Blue
Teddy Bear Blueangeliclv
 
Work and play with SASS & Compass
Work and play with SASS & CompassWork and play with SASS & Compass
Work and play with SASS & CompassAndreas Dantz
 
The Science of Search, Google & Social Signals
The Science of Search, Google & Social SignalsThe Science of Search, Google & Social Signals
The Science of Search, Google & Social SignalsBeyond
 
Mundos de fantasía, Blaubloom
Mundos de fantasía, BlaubloomMundos de fantasía, Blaubloom
Mundos de fantasía, BlaubloomMASmedia
 
Colección Primavera de Blaubloom
Colección Primavera de BlaubloomColección Primavera de Blaubloom
Colección Primavera de BlaubloomMASmedia
 
CSSプリプロセッサの取扱説明書
CSSプリプロセッサの取扱説明書CSSプリプロセッサの取扱説明書
CSSプリプロセッサの取扱説明書拓樹 谷
 
Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]shafiullas
 
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)modeelf
 
Simple Blue Blog Template XML 的副本
Simple Blue Blog Template XML 的副本Simple Blue Blog Template XML 的副本
Simple Blue Blog Template XML 的副本a5494535
 
Writing Secure WordPress Code WordCamp NYC 2014
Writing Secure WordPress Code WordCamp NYC 2014Writing Secure WordPress Code WordCamp NYC 2014
Writing Secure WordPress Code WordCamp NYC 2014Brad Williams
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingMyles Braithwaite
 
Os Ellistutorial
Os EllistutorialOs Ellistutorial
Os Ellistutorialoscon2007
 
Gccp Re Investment Strategy Paper
Gccp Re Investment Strategy PaperGccp Re Investment Strategy Paper
Gccp Re Investment Strategy Papermjwhite
 
Rachel Greenstadt: Security and Virtualized Environments: An Overview
Rachel Greenstadt: Security and Virtualized Environments: An OverviewRachel Greenstadt: Security and Virtualized Environments: An Overview
Rachel Greenstadt: Security and Virtualized Environments: An OverviewEvangeline
 

What's hot (20)

Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & Compass
 
Backend to Frontend: When database optimization affects the full stack
Backend to Frontend: When database optimization affects the full stackBackend to Frontend: When database optimization affects the full stack
Backend to Frontend: When database optimization affects the full stack
 
Teddy Bear Blue
Teddy Bear BlueTeddy Bear Blue
Teddy Bear Blue
 
Work and play with SASS & Compass
Work and play with SASS & CompassWork and play with SASS & Compass
Work and play with SASS & Compass
 
Site 6 orientacao 2
Site 6 orientacao 2Site 6 orientacao 2
Site 6 orientacao 2
 
The Science of Search, Google & Social Signals
The Science of Search, Google & Social SignalsThe Science of Search, Google & Social Signals
The Science of Search, Google & Social Signals
 
Social Signals & Search
Social Signals & SearchSocial Signals & Search
Social Signals & Search
 
Mundos de fantasía, Blaubloom
Mundos de fantasía, BlaubloomMundos de fantasía, Blaubloom
Mundos de fantasía, Blaubloom
 
Colección Primavera de Blaubloom
Colección Primavera de BlaubloomColección Primavera de Blaubloom
Colección Primavera de Blaubloom
 
CSSプリプロセッサの取扱説明書
CSSプリプロセッサの取扱説明書CSSプリプロセッサの取扱説明書
CSSプリプロセッサの取扱説明書
 
Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]
 
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)
fb-researchの舞台裏No.2~技術編~(HatchUp主催 渋谷Facebookアプリ勉強会)
 
Simple Blue Blog Template XML 的副本
Simple Blue Blog Template XML 的副本Simple Blue Blog Template XML 的副本
Simple Blue Blog Template XML 的副本
 
Writing Secure WordPress Code WordCamp NYC 2014
Writing Secure WordPress Code WordCamp NYC 2014Writing Secure WordPress Code WordCamp NYC 2014
Writing Secure WordPress Code WordCamp NYC 2014
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
 
OpenSSO Microsoft Interop
OpenSSO Microsoft InteropOpenSSO Microsoft Interop
OpenSSO Microsoft Interop
 
Os Ellistutorial
Os EllistutorialOs Ellistutorial
Os Ellistutorial
 
Gccp Re Investment Strategy Paper
Gccp Re Investment Strategy PaperGccp Re Investment Strategy Paper
Gccp Re Investment Strategy Paper
 
Rachel Greenstadt: Security and Virtualized Environments: An Overview
Rachel Greenstadt: Security and Virtualized Environments: An OverviewRachel Greenstadt: Security and Virtualized Environments: An Overview
Rachel Greenstadt: Security and Virtualized Environments: An Overview
 

Similar to Sass maps, my precious! 2.0

Evrone.ru / BEM for RoR
Evrone.ru / BEM for RoREvrone.ru / BEM for RoR
Evrone.ru / BEM for RoRDmitry KODer
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked aboutacme
 
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"bentleyhoke
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2ady36
 
One Sass File, So Many Sites
One Sass File, So Many SitesOne Sass File, So Many Sites
One Sass File, So Many SitesMina Markham
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricksambiescent
 
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史Shengyou Fan
 
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsMobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsKaelig Deloumeau-Prigent
 
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)Igalia
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid PrototypingEven Wu
 
Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with SassRob Friesel
 
HackMIT Presentation
HackMIT PresentationHackMIT Presentation
HackMIT PresentationMatt Harris
 
CSS'in Gücü Adına
CSS'in Gücü AdınaCSS'in Gücü Adına
CSS'in Gücü AdınaAdem Ilter
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)Jeff Eaton
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference ClientDallan Quass
 
Monitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosLindsay Holmwood
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & ResourcesClarissa Peterson
 

Similar to Sass maps, my precious! 2.0 (20)

Evrone.ru / BEM for RoR
Evrone.ru / BEM for RoREvrone.ru / BEM for RoR
Evrone.ru / BEM for RoR
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
 
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"
Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
 
CSS Extenders
CSS ExtendersCSS Extenders
CSS Extenders
 
One Sass File, So Many Sites
One Sass File, So Many SitesOne Sass File, So Many Sites
One Sass File, So Many Sites
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
 
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsMobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
 
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
CSS Grid Layout is Just Around the Corner (CSSConf US 2015)
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with Sass
 
FCIP SASS Talk
FCIP SASS TalkFCIP SASS Talk
FCIP SASS Talk
 
HackMIT Presentation
HackMIT PresentationHackMIT Presentation
HackMIT Presentation
 
CSS'in Gücü Adına
CSS'in Gücü AdınaCSS'in Gücü Adına
CSS'in Gücü Adına
 
Test upload
Test uploadTest upload
Test upload
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference Client
 
Monitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagios
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & Resources
 

More from Andréa Zambrana

Version all the things - Workshop
Version all the things - WorkshopVersion all the things - Workshop
Version all the things - WorkshopAndréa Zambrana
 
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Andréa Zambrana
 
Curso front-end - Aula 004 - Comandos git (cont.)
Curso front-end - Aula 004 - Comandos git (cont.)Curso front-end - Aula 004 - Comandos git (cont.)
Curso front-end - Aula 004 - Comandos git (cont.)Andréa Zambrana
 
Curso front-end - Aula 003 - Comandos git
Curso front-end - Aula 003 - Comandos git Curso front-end - Aula 003 - Comandos git
Curso front-end - Aula 003 - Comandos git Andréa Zambrana
 
Curso front-end - Aula 002 - Git
Curso front-end - Aula 002 - GitCurso front-end - Aula 002 - Git
Curso front-end - Aula 002 - GitAndréa Zambrana
 
Curso front-end - Aula 001
Curso front-end - Aula 001Curso front-end - Aula 001
Curso front-end - Aula 001Andréa Zambrana
 
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
 b ou strong eis a questão! HTML semântico, o santo graal do front-end =] b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]Andréa Zambrana
 
Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Andréa Zambrana
 

More from Andréa Zambrana (13)

Version all the things - Workshop
Version all the things - WorkshopVersion all the things - Workshop
Version all the things - Workshop
 
Caipirinha CSS
Caipirinha CSSCaipirinha CSS
Caipirinha CSS
 
Caipirinha CSS
Caipirinha CSSCaipirinha CSS
Caipirinha CSS
 
Viajando no front
Viajando no frontViajando no front
Viajando no front
 
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Version all the things [Workflows com Git]
Version all the things [Workflows com Git]
 
Curso front-end - Aula 004 - Comandos git (cont.)
Curso front-end - Aula 004 - Comandos git (cont.)Curso front-end - Aula 004 - Comandos git (cont.)
Curso front-end - Aula 004 - Comandos git (cont.)
 
Curso front-end - Aula 003 - Comandos git
Curso front-end - Aula 003 - Comandos git Curso front-end - Aula 003 - Comandos git
Curso front-end - Aula 003 - Comandos git
 
Curso front-end - Aula 002 - Git
Curso front-end - Aula 002 - GitCurso front-end - Aula 002 - Git
Curso front-end - Aula 002 - Git
 
Curso front-end - Aula 001
Curso front-end - Aula 001Curso front-end - Aula 001
Curso front-end - Aula 001
 
Sass maps, my precious!
Sass maps, my precious!Sass maps, my precious!
Sass maps, my precious!
 
Sass - css bomba[do]
Sass - css bomba[do]Sass - css bomba[do]
Sass - css bomba[do]
 
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
 b ou strong eis a questão! HTML semântico, o santo graal do front-end =] b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
 
Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?
 

Recently uploaded

Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxvarshanayak241
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfMayankTawar1
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptxGeorgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfAMB-Review
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
 

Recently uploaded (20)

Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 

Sass maps, my precious! 2.0

Editor's Notes

  1. Boa noite pessoal Hoje vim falar com vcs sobre uma feature do Sass pela qual eu sou apaixonada e que utilizo muito nos projetos em que trabalho na Amil
  2. Para quem não me conhece, meu nome é Andréa Zambrana, trabalho como desenvolvedora frontend na equipe multicanais da Amil. Se vcs quiserem me achar em qualquer midia social, meu usuário é sempre akfzambrana. Podem adicionar, seguir, fazer perguntas, ou até fazer sugestões para que eu melhore a talk Este é meu blog, eu não escrevo muito, mas tem alguns artigos tecnicos e alguns outros falando sobre a vida. Eu adoro falar sobre a vida heheh
  3. Sou uma das organizadoras da comunidade Front Ladies abc, que é uma comunidades de mulheres frontenders do grande abc, se quiserem nos seguir no twitter, o usuário é @frontladiesabc e tem a nossa fan-page no facebook para quem quiser curtir e ficar sabendo das nossas iniciativas. Estamos procurando pessoas para dar cursos gratuitos sobre diversos assuntos. Nós fazemos os cursos e workshops de forma online assim ficam gravados no Youtube para que qualquer pessoa possa assistir no futuro.
  4. Bom, vamos parar de enrolar e falar sobre o que nos interessa ne?
  5. Quem nunca teve que fazer icones de midias sociais?
  6. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  7. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  8. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  9. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  10. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  11. O each é um pouco diferente, pois aqui o primeiro parametro vai receber as chaves do primeiro nivel do mapa e o segundo vai receber o segundo nível
  12. O each é um pouco diferente, pois aqui o primeiro parametro vai receber as chaves do primeiro nivel do mapa e o segundo vai receber o segundo nível
  13. O each é um pouco diferente, pois aqui o primeiro parametro vai receber as chaves do primeiro nivel do mapa e o segundo vai receber o segundo nível
  14. O unico que muda neste código é: o identificador, que no caso é a url, a cor de fundo e o caracter que corresponde ao ícone
  15. Para os íntimos
  16. sintaxe básica -> Chave, qq tipo dado sass, única -> Valor da chave, qq tipo dado
  17. sintaxe básica -> Chave, qq tipo dado sass, única -> Valor da chave, qq tipo dado
  18. valor tb pode ser mapa
  19. valor tb pode ser mapa
  20. esta certo?
  21. esta certo?
  22. esta certo?
  23. Muitas funções nativas acesse url
  24. Boa noite pessoal Hoje vim falar com vcs sobre uma feature do Sass pela qual eu sou apaixonada e que utilizo muito nos projetos em que trabalho na Amil