SlideShare a Scribd company logo
1 of 122
Download to read offline
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

WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2
 

Recently uploaded (20)

WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

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