SlideShare uma empresa Scribd logo
Agilizando o desenvolvimento
web com SASS
Com Renato Galvão
#mktmeetup
Quem é esse ser inanimado aqui na frente?
● Tenho 28 anos
● Trabalho na Mktvirtual há 4 anos
● Sou formado Técnico em informática pelo
SENAI - Santos
● Abandonei um curso de Desenvolvimento
de Sistemas Comerciais na CEFET Cubatão pra entrar na FATEC
● Me arrependi amargamente quando
descobri que o Curso da CEFET era
infinitamente melhor que a FATEC
O que vamos ver hoje?
● Relembraremos o funcionamento básico de uma página web (HTML +
CSS)
● Necessidades de existir uma forma inteligente de escrever CSS
● SASS
● Introdução rápida ao Susy
● Compass
● Surpresinha
Funcionamento básico de uma página web
Funcionamento básico de uma página web
Funcionamento básico de uma página web
Uma folha de estilos consiste num conjunto de propriedades CSS(Cascading
Style Sheet) que alteram as características dos elementos HTML.
Com a folha de estilos você pode estilizar margens, espaçamentos, fontes,
planos de fundo, bordas, efeitos de mouse over, e etc… nas tags HTML.
Exemplo:
Necessidades de existir uma forma inteligente de
escrever CSS
● Quanto maior o projeto mais difícil e trabalhosa a manutenção dos CSS’
s
● Dependendo do projeto alguns arquivos CSS podem ficar com até
milhares de linhas
Necessidades de existir uma forma inteligente de
escrever CSS
Em resumo: “Pega o pessoal de camisa vermelha e troca pra azul belê?”
Necessidades de existir uma forma inteligente de
escrever CSS
A

MAIOR e principal delas:

● Por muitas e muitas vezes você já se pegou copiando grandes classes de
CSS e se perguntou: “Será que não tem algum jeito de fazer isso de
forma mais inteligente?”
Agilizando o desenvolvimento web com SASS
Syntactically Awesome Style Sheets

http://sass-lang.com/
O que exatamente é o SASS?
O que dizem por aí:
O SASS é um pré-processador escrito em Ruby que permite
que sejam aplicadas técnicas de programação em arquivos
CSS.
O que exatamente é o SASS?
O que EU digo:
O SASS é um pré-processador muito FODA que me trouxe de
volta a ALEGRIA DE VIVER e muitas horas a menos de
trabalho!
Instalação do SASS
Windows
1. Instale o Ruby (http://www.rubyinstaller.org/)
2. Abra o Prompt com Ruby
3. Digite o comando “gem install sass”
4. Feito!
Instalação do SASS
Mac
1. Abra o terminal
2. Digite o comando “gem install sass”
3. Feito!
Executando o SASS
Criei um diretório chamado: “palestra-sass”
A estrutura dele é a seguinte:

<- HTML5 Boilerplate
Executando o SASS
Abra sua pasta do projeto Ex: “/htdocs/palestra-sass/”
1. Abra o terminal ou prompt com ruby
2. Digite o comando “sass --watch sass/:css/”
Toda alteração feita em qualquer arquivo dentro da pasta
sass o compilador irá reconhecer e gerar o arquivo .css
respectivo na pasta css.
Primeiros passos utilizando o SASS
SCSS

SASS
Primeiros passos utilizando o SASS
Variáveis
Primeiros passos utilizando o SASS
Aninhamentos ou Nesting
Primeiros passos utilizando o SASS
Imports
Primeiros passos utilizando o SASS
Mixins
Primeiros passos utilizando o SASS
Herança ou Inheritance
Primeiros passos utilizando o SASS
Operadores matemáticos
Primeiros passos utilizando o SASS
Pseudo elementos
Primeiros passos utilizando o SASS
Convertendo SCSS pra SASS e vice-versa
Primeiros passos utilizando o SASS
Convertendo SCSS pra SASS e vice-versa
Primeiros passos utilizando o SASS
Convertendo SCSS pra SASS e vice-versa
Primeiros passos utilizando o SASS
Convertendo SCSS pra SASS e vice-versa
Primeiros passos utilizando o SASS
Convertendo SCSS pra SASS e vice-versa
De qualquer forma, não tem problema nenhum em importar
um SCSS dentro do SASS, e um SCSS dentro de um SASS.
Converter seria só por TOC, ou organização mesmo. =]
Primeiros passos utilizando o SASS
Tipos de saída: default
Comando: sass --watch sass/:css/
Primeiros passos utilizando o SASS
Tipos de saída: compact
Comando: sass --style compact --watch sass/:css/
Primeiros passos utilizando o SASS
Tipos de saída: expanded
Comando: sass --style expanded --watch sass/:css/
Primeiros passos utilizando o SASS
Tipos de saída: compressed
Comando: sass --style compressed--watch sass/:css/
O que já sabemos até agora sobre SASS ?
O que é o SASS
Como instalar o SASS
A diferença entre SCSS ou SASS
Permite o uso de variáveis, aninhamento, mixins, imports,
herança e operadores matemáticos
● Converter para SCSS ou SASS ou importar diretamente.
●
●
●
●
O que já sabemos até agora sobre SASS ?

Dúvidas até
aqui?
Indo um pouco mais à fundo no SASS
Placeholder selector: %
Indo um pouco mais à fundo no SASS
Color operations
Indo um pouco mais à fundo no SASS
Color operations (funções RGB)
Indo um pouco mais à fundo no SASS
Color operations (funções Hue, Saturation, Lightness)
Indo um pouco mais à fundo no SASS
Interpolação
Indo um pouco mais à fundo no SASS
@if, !default e @debug
Indo um pouco mais à fundo no SASS
@if, !default e @debug
Indo um pouco mais à fundo no SASS
@if, !default e @debug
Indo um pouco mais à fundo no SASS
@for
Indo um pouco mais à fundo no SASS
@each
Indo um pouco mais à fundo no SASS
@function
http://compass-style.org/
O que é o Compass ?
O Compass é um Framework de criação de CSS.
É também considerado um plugin para o SASS, já que é
possível incluí-lo no próprio comando de watch do SASS.
O que é o Compass ?
Lembram dos slides sobre @mixin e @function do SASS?
O Compass é um framework com centenas de @mixins e
@functions criadas para facilitar sua vida ao máximo.
Instalando o Compass
O processo é bem parecido com o do SASS, um pouco mais
simples porquê agora já temos o Ruby instalado. =]
1. Abra o terminal/prompt
2. Digite o comando “gem update --system”
3. Depois, o comando “gem install compass”
Criando um projeto Compass
Diferentemente do SASS, o Compass precisa de um arquivo
de configuração básico para “conhecer” sua estrutura.
Para criar um projeto Compass, faça o seguinte comando:
1. Abra o terminal/prompt
2. Digite o comando “compass create <path>”
3. Nesse exemplo usei “compass create palestra-sass”
Criando um projeto Compass
O Compass criará uma estrutura básica:
sass

css
Criando um projeto Compass
E um config.rb padrão:

Que você configura conforme sua necessidade:
Criando um projeto Compass
Então para rodar o processo de “watch” você vai precisar
rodar um dos comandos abaixo.
1. Abra o terminal/prompt e vá até seu projeto
2. Digite o comando “compass watch”
3. Ou “sass --compass --watch sass:css”
Mas como o Compass ajuda afinal?
Digamos que você quer colocar um “opacity” de 40% na
classe “fade”.
Para fazer isso de uma maneira Cross-browser você
precisaria escrever assim:
Mas como o Compass ajuda afinal?
Com o Compass, você só precisa escrever isso:

Mesma coisa para o “border-radius”:
Mas como o Compass ajuda afinal?
Também para o “box-sizing”:

e “box-shadow”:
Mas como o Compass ajuda afinal?
e “inline-block”:

e “transform”:
Mas como o Compass ajuda afinal?
Ou ainda pro “background-gradient”:
Mas como o Compass ajuda afinal?
Mas a grande estrela do Compass, ainda está por vir...
Que rrrrrrrrrufem os tambores...
Mas como o Compass ajuda afinal?
O gerador de Sprites!

Imaginem quanto tempo vocês passariam no Photoshop para
gerar esses sprites...
Mas como o Compass ajuda afinal?
Facebook
Mas como o Compass ajuda afinal?
Globo Esporte
Mas como o Compass ajuda afinal?
Como seria no Compass ?
Mas como o Compass ajuda afinal?
Como seria no Compass ?
Mas como o Compass ajuda afinal?
Mas como o Compass ajuda afinal?
Mas como o Compass ajuda afinal?
Ah Galvão, mas eu não gosto do sprite na vertical...
A primeira vez que gerei sprites com Compass!
The Rock aprova o Compass!
http://susy.oddbird.net/
O que é o Susy ?
O Susy cumpre exatamente o que diz no logo.
“Grids Responsivos para Compass”
Com ele é muito, muito simples criarmos layouts responsivos
de fácil manutenção.
Entendendo o básico do Susy
Como instalar o Susy ?
Como instalar o Susy ?
1. Você faz o download do arquivo .zip direto do site deles
2. Pega a pasta “sass” e remove todo o resto.
3. Joga essa pasta “sass” dentro do seu diretório que já tem
os outros arquivos “sass” e manda bala!
Como instalar o Susy ?
Mas por quê fazer isso?
Se outra pessoa participar do projeto ela não vai ter
problema nenhum para já começar a desenvolver.
Nos outros métodos, pode acontecer(e aconteceu!) de
precisar atualizar o Compass e não ter direitos, nem ninguém
por perto pra por a senha do Admin. #fail
Como usar o Susy ?
Fácil!
Como usar o Susy ?
Grid: 28 colunas
Coluna: 48px
Gutter: 0px

t
Como usar o Susy ?
Grid: 12 colunas
Coluna: 60px
Gutter: 20px
Como usar o Susy ?
Como usar o Susy ?
Como usar o Susy ?
E agora a surpresinha…
Depois que vocês
começarem a utilizar
SASS, Susy e Compass,
um fenômeno curioso
vai acontecer.
Vocês vão ter TEMPO!
Agilizando o desenvolvimento web com SASS
Juntem-se a nós
e compartilhem código!
Obrigado!

Facebook: facebook.com/renato.galvones
Twitter: twitter.com/RenatoGalvones
Github: github.com/renatogalvao

Mais conteúdo relacionado

PDF
Sass: Estilo levado à sério
Gabriel Nunes
 
PDF
SASS e Compass, O CSS Ninja Workflow
Beto Muniz
 
PDF
Componetização de CSS com o Compass (Front in Sampa 2013)
Guilherme Serrano
 
PDF
Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Nayara Felix
 
PDF
Sass - Syntactically Awesome Style Sheets
Carlos Roberto Gomes Junior
 
PDF
Sass - css bomba[do]
Andréa Zambrana
 
PPT
SASS + COMPASS - Alta Produtividade no Front-end
Anderson Aguiar
 
PDF
Arquitetura CSS - Uma rápida introdução
Matheus Lucca do Carmo
 
Sass: Estilo levado à sério
Gabriel Nunes
 
SASS e Compass, O CSS Ninja Workflow
Beto Muniz
 
Componetização de CSS com o Compass (Front in Sampa 2013)
Guilherme Serrano
 
Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Nayara Felix
 
Sass - Syntactically Awesome Style Sheets
Carlos Roberto Gomes Junior
 
Sass - css bomba[do]
Andréa Zambrana
 
SASS + COMPASS - Alta Produtividade no Front-end
Anderson Aguiar
 
Arquitetura CSS - Uma rápida introdução
Matheus Lucca do Carmo
 

Mais procurados (19)

PDF
Alta Performance em Aplicações Web
Anderson Aguiar
 
PDF
Modular CSS - Projetando CSS para aplicativos
Bunee.io - Hiring with Intelligence
 
PDF
Smacss e-css-faz-bem
Just Digital
 
PPTX
Arquitetando css para aplicações web robustas
Rosicléia Frasson
 
PDF
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Nayara Felix
 
PDF
SMACSS - Como estruturar CSS para projetos em larga escala
Rafael Lyra
 
PDF
Padrões Web e algumas vantagens para o designer
Diego Eis
 
PDF
Workflow WordPress + JavaScript - WordCamp Rio
Fellyph Cintra
 
KEY
Frontend (RailsMG)
Daniel Lopes
 
PDF
Arquitetura CSS
Rafael Rinaldi
 
PPTX
CSS´s Dinâmicos - InfoTech 2012
André Paulovich
 
PDF
Seis passos para ter (e manter) um site com wordpress
Tracto Content Marketing
 
PPTX
Não subestime seu css
Rosicléia Frasson
 
PPT
Desempenho web
Shakti Comunicação Digital
 
PDF
Repensando seu CSS - Boas práticas e performance
William Bruno Moraes
 
PDF
Introdução ao Sass - CSS com super poderes
Nayama Rosa
 
PDF
[Sass] aula 02
Gisely Lucas
 
PDF
O que eu preciso saber para desenvolver temas? - Anyssa Ferreira - WordCamp S...
Anyssa Ferreira
 
Alta Performance em Aplicações Web
Anderson Aguiar
 
Modular CSS - Projetando CSS para aplicativos
Bunee.io - Hiring with Intelligence
 
Smacss e-css-faz-bem
Just Digital
 
Arquitetando css para aplicações web robustas
Rosicléia Frasson
 
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Nayara Felix
 
SMACSS - Como estruturar CSS para projetos em larga escala
Rafael Lyra
 
Padrões Web e algumas vantagens para o designer
Diego Eis
 
Workflow WordPress + JavaScript - WordCamp Rio
Fellyph Cintra
 
Frontend (RailsMG)
Daniel Lopes
 
Arquitetura CSS
Rafael Rinaldi
 
CSS´s Dinâmicos - InfoTech 2012
André Paulovich
 
Seis passos para ter (e manter) um site com wordpress
Tracto Content Marketing
 
Não subestime seu css
Rosicléia Frasson
 
Repensando seu CSS - Boas práticas e performance
William Bruno Moraes
 
Introdução ao Sass - CSS com super poderes
Nayama Rosa
 
[Sass] aula 02
Gisely Lucas
 
O que eu preciso saber para desenvolver temas? - Anyssa Ferreira - WordCamp S...
Anyssa Ferreira
 
Anúncio

Destaque (20)

PDF
CSS com SASS e SMACSS faz BEM
Wellington Dutra
 
PDF
TDC2016POA | Trilha Web - A essência do CSS
tdc-globalcode
 
PDF
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
tdc-globalcode
 
PDF
Levando seu app do iOS para o macOS
Guilherme Rambo
 
PDF
TDC 2016 - Sass: CSS com super-poderes.
Rodrigo Amora
 
PDF
TDC 2016 - Garantindo a qualidade da sua infraestrutura
Fernanda Martins
 
PPTX
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
João Clineu - CTFL, CSM, CSD
 
PDF
Como ensinei mais de 1000 testadores
Elias Nogueira
 
PDF
TDC2016POA | Trilha Web - Realtime applications com Socket.io
tdc-globalcode
 
PPT
Apresentação tdc 2016 - trilha de testes
Samuel Lucas
 
PPTX
A transição de um QA tradicional para um Agile Tester
Jéssica Mollo
 
PDF
TDC Floripa 2015 - Branding, UX e Marketing
leite08
 
PDF
Tdc 5 ideias para melhorar os seus testes
Lindomar Peixinho Reitz
 
PDF
Ensinando e aprendendo com desafios
Jônatas Paganini
 
PDF
TDC2016POA | Trilha Web - JSON API: não reinvente a roda
tdc-globalcode
 
PPTX
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
tdc-globalcode
 
PDF
Apresentação de Padrões de Design para Aplicativos Móveis.
Hewerson Freitas
 
PDF
Estou desempregado e agora? Como me recolocar como QA.
Robson Agapito Correa
 
PDF
Automatizando uma app Híbrida
Elias Nogueira
 
PDF
Micro serviços alterando seu mindset de tester
Frederico Augusto Do Carmo Moreira
 
CSS com SASS e SMACSS faz BEM
Wellington Dutra
 
TDC2016POA | Trilha Web - A essência do CSS
tdc-globalcode
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
tdc-globalcode
 
Levando seu app do iOS para o macOS
Guilherme Rambo
 
TDC 2016 - Sass: CSS com super-poderes.
Rodrigo Amora
 
TDC 2016 - Garantindo a qualidade da sua infraestrutura
Fernanda Martins
 
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
João Clineu - CTFL, CSM, CSD
 
Como ensinei mais de 1000 testadores
Elias Nogueira
 
TDC2016POA | Trilha Web - Realtime applications com Socket.io
tdc-globalcode
 
Apresentação tdc 2016 - trilha de testes
Samuel Lucas
 
A transição de um QA tradicional para um Agile Tester
Jéssica Mollo
 
TDC Floripa 2015 - Branding, UX e Marketing
leite08
 
Tdc 5 ideias para melhorar os seus testes
Lindomar Peixinho Reitz
 
Ensinando e aprendendo com desafios
Jônatas Paganini
 
TDC2016POA | Trilha Web - JSON API: não reinvente a roda
tdc-globalcode
 
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
tdc-globalcode
 
Apresentação de Padrões de Design para Aplicativos Móveis.
Hewerson Freitas
 
Estou desempregado e agora? Como me recolocar como QA.
Robson Agapito Correa
 
Automatizando uma app Híbrida
Elias Nogueira
 
Micro serviços alterando seu mindset de tester
Frederico Augusto Do Carmo Moreira
 
Anúncio

Semelhante a Agilizando o desenvolvimento web com SASS (20)

PPT
Alta produtividade com front end com sass e compass
Danilo Sousa
 
PPTX
Facilitando sua vida com SASS
Larissa Carvalho
 
PDF
Sass presentation
Állef Lôbo
 
PDF
[Sass] Aula 01
Gisely Lucas
 
PDF
Design Responsivo com Sass
Vitor Garcia
 
PDF
Curso CSS3 com Sass e Compass - Aula 02 - Instalação e Hello World
Loiane Groner
 
PDF
Sass, css bomda[do]
FEMUG-CWB
 
PPT
CSS: pare de usar frameworks e atualize-se
Julio Vedovatto
 
PPTX
Gerando arquivos CSS de forma mais produtiva
Igor Lopes
 
PDF
Css tutorial
Cezar Bruno
 
PDF
Css
João Gardin
 
PDF
Apostila css
Gustavo Cavenago
 
PDF
Apostila css
mantrin
 
PDF
Iniciando com sass
Camila Rocha Lopes
 
PDF
Hyojun Sass Standards 1/2
Marcelo Carneiro
 
PPTX
Otimização de tempo com SASS preprocessor
Paullo Norato
 
PPTX
CSS´s Dinâmicos com LESS e SASS - SEMCOMP 2012
André Paulovich
 
PDF
Curso de Desenvolvimento Web - Módulo 02 - CSS
Rodrigo Bueno Santa Maria, BS, MBA
 
PDF
CSS - Cansei de Ser Subestimado
Anyssa Ferreira
 
PDF
WDI - aula 07 - css com html
Cristiano Pires Martins
 
Alta produtividade com front end com sass e compass
Danilo Sousa
 
Facilitando sua vida com SASS
Larissa Carvalho
 
Sass presentation
Állef Lôbo
 
[Sass] Aula 01
Gisely Lucas
 
Design Responsivo com Sass
Vitor Garcia
 
Curso CSS3 com Sass e Compass - Aula 02 - Instalação e Hello World
Loiane Groner
 
Sass, css bomda[do]
FEMUG-CWB
 
CSS: pare de usar frameworks e atualize-se
Julio Vedovatto
 
Gerando arquivos CSS de forma mais produtiva
Igor Lopes
 
Css tutorial
Cezar Bruno
 
Apostila css
Gustavo Cavenago
 
Apostila css
mantrin
 
Iniciando com sass
Camila Rocha Lopes
 
Hyojun Sass Standards 1/2
Marcelo Carneiro
 
Otimização de tempo com SASS preprocessor
Paullo Norato
 
CSS´s Dinâmicos com LESS e SASS - SEMCOMP 2012
André Paulovich
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Rodrigo Bueno Santa Maria, BS, MBA
 
CSS - Cansei de Ser Subestimado
Anyssa Ferreira
 
WDI - aula 07 - css com html
Cristiano Pires Martins
 

Último (17)

PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
PPTX
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
PPTX
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
fabriciolabgeo91411
 
PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PPTX
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
PPTX
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
PPTX
Curso de Java 8 - (Tratamento de Exceções, (try-catch-finally)).pptx
Anderson Maciel
 
PPTX
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPT
Sistemas de Informação em Saúde Aplicada.ppt
fabriciolabgeo91411
 
PPTX
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
fabriciolabgeo91411
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
Curso de Java 8 - (Tratamento de Exceções, (try-catch-finally)).pptx
Anderson Maciel
 
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Sistemas de Informação em Saúde Aplicada.ppt
fabriciolabgeo91411
 
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 

Agilizando o desenvolvimento web com SASS

  • 1. Agilizando o desenvolvimento web com SASS Com Renato Galvão #mktmeetup
  • 2. Quem é esse ser inanimado aqui na frente? ● Tenho 28 anos ● Trabalho na Mktvirtual há 4 anos ● Sou formado Técnico em informática pelo SENAI - Santos ● Abandonei um curso de Desenvolvimento de Sistemas Comerciais na CEFET Cubatão pra entrar na FATEC ● Me arrependi amargamente quando descobri que o Curso da CEFET era infinitamente melhor que a FATEC
  • 3. O que vamos ver hoje? ● Relembraremos o funcionamento básico de uma página web (HTML + CSS) ● Necessidades de existir uma forma inteligente de escrever CSS ● SASS ● Introdução rápida ao Susy ● Compass ● Surpresinha
  • 4. Funcionamento básico de uma página web
  • 5. Funcionamento básico de uma página web
  • 6. Funcionamento básico de uma página web Uma folha de estilos consiste num conjunto de propriedades CSS(Cascading Style Sheet) que alteram as características dos elementos HTML. Com a folha de estilos você pode estilizar margens, espaçamentos, fontes, planos de fundo, bordas, efeitos de mouse over, e etc… nas tags HTML. Exemplo:
  • 7. Necessidades de existir uma forma inteligente de escrever CSS ● Quanto maior o projeto mais difícil e trabalhosa a manutenção dos CSS’ s ● Dependendo do projeto alguns arquivos CSS podem ficar com até milhares de linhas
  • 8. Necessidades de existir uma forma inteligente de escrever CSS Em resumo: “Pega o pessoal de camisa vermelha e troca pra azul belê?”
  • 9. Necessidades de existir uma forma inteligente de escrever CSS A MAIOR e principal delas: ● Por muitas e muitas vezes você já se pegou copiando grandes classes de CSS e se perguntou: “Será que não tem algum jeito de fazer isso de forma mais inteligente?”
  • 11. Syntactically Awesome Style Sheets http://sass-lang.com/
  • 12. O que exatamente é o SASS? O que dizem por aí: O SASS é um pré-processador escrito em Ruby que permite que sejam aplicadas técnicas de programação em arquivos CSS.
  • 13. O que exatamente é o SASS? O que EU digo: O SASS é um pré-processador muito FODA que me trouxe de volta a ALEGRIA DE VIVER e muitas horas a menos de trabalho!
  • 14. Instalação do SASS Windows 1. Instale o Ruby (http://www.rubyinstaller.org/) 2. Abra o Prompt com Ruby 3. Digite o comando “gem install sass” 4. Feito!
  • 15. Instalação do SASS Mac 1. Abra o terminal 2. Digite o comando “gem install sass” 3. Feito!
  • 16. Executando o SASS Criei um diretório chamado: “palestra-sass” A estrutura dele é a seguinte: <- HTML5 Boilerplate
  • 17. Executando o SASS Abra sua pasta do projeto Ex: “/htdocs/palestra-sass/” 1. Abra o terminal ou prompt com ruby 2. Digite o comando “sass --watch sass/:css/” Toda alteração feita em qualquer arquivo dentro da pasta sass o compilador irá reconhecer e gerar o arquivo .css respectivo na pasta css.
  • 18. Primeiros passos utilizando o SASS SCSS SASS
  • 19. Primeiros passos utilizando o SASS Variáveis
  • 20. Primeiros passos utilizando o SASS Aninhamentos ou Nesting
  • 21. Primeiros passos utilizando o SASS Imports
  • 23. Primeiros passos utilizando o SASS Herança ou Inheritance
  • 24. Primeiros passos utilizando o SASS Operadores matemáticos
  • 25. Primeiros passos utilizando o SASS Pseudo elementos
  • 26. Primeiros passos utilizando o SASS Convertendo SCSS pra SASS e vice-versa
  • 27. Primeiros passos utilizando o SASS Convertendo SCSS pra SASS e vice-versa
  • 28. Primeiros passos utilizando o SASS Convertendo SCSS pra SASS e vice-versa
  • 29. Primeiros passos utilizando o SASS Convertendo SCSS pra SASS e vice-versa
  • 30. Primeiros passos utilizando o SASS Convertendo SCSS pra SASS e vice-versa De qualquer forma, não tem problema nenhum em importar um SCSS dentro do SASS, e um SCSS dentro de um SASS. Converter seria só por TOC, ou organização mesmo. =]
  • 31. Primeiros passos utilizando o SASS Tipos de saída: default Comando: sass --watch sass/:css/
  • 32. Primeiros passos utilizando o SASS Tipos de saída: compact Comando: sass --style compact --watch sass/:css/
  • 33. Primeiros passos utilizando o SASS Tipos de saída: expanded Comando: sass --style expanded --watch sass/:css/
  • 34. Primeiros passos utilizando o SASS Tipos de saída: compressed Comando: sass --style compressed--watch sass/:css/
  • 35. O que já sabemos até agora sobre SASS ? O que é o SASS Como instalar o SASS A diferença entre SCSS ou SASS Permite o uso de variáveis, aninhamento, mixins, imports, herança e operadores matemáticos ● Converter para SCSS ou SASS ou importar diretamente. ● ● ● ●
  • 36. O que já sabemos até agora sobre SASS ? Dúvidas até aqui?
  • 37. Indo um pouco mais à fundo no SASS Placeholder selector: %
  • 38. Indo um pouco mais à fundo no SASS Color operations
  • 39. Indo um pouco mais à fundo no SASS Color operations (funções RGB)
  • 40. Indo um pouco mais à fundo no SASS Color operations (funções Hue, Saturation, Lightness)
  • 41. Indo um pouco mais à fundo no SASS Interpolação
  • 42. Indo um pouco mais à fundo no SASS @if, !default e @debug
  • 43. Indo um pouco mais à fundo no SASS @if, !default e @debug
  • 44. Indo um pouco mais à fundo no SASS @if, !default e @debug
  • 45. Indo um pouco mais à fundo no SASS @for
  • 46. Indo um pouco mais à fundo no SASS @each
  • 47. Indo um pouco mais à fundo no SASS @function
  • 49. O que é o Compass ? O Compass é um Framework de criação de CSS. É também considerado um plugin para o SASS, já que é possível incluí-lo no próprio comando de watch do SASS.
  • 50. O que é o Compass ? Lembram dos slides sobre @mixin e @function do SASS? O Compass é um framework com centenas de @mixins e @functions criadas para facilitar sua vida ao máximo.
  • 51. Instalando o Compass O processo é bem parecido com o do SASS, um pouco mais simples porquê agora já temos o Ruby instalado. =] 1. Abra o terminal/prompt 2. Digite o comando “gem update --system” 3. Depois, o comando “gem install compass”
  • 52. Criando um projeto Compass Diferentemente do SASS, o Compass precisa de um arquivo de configuração básico para “conhecer” sua estrutura. Para criar um projeto Compass, faça o seguinte comando: 1. Abra o terminal/prompt 2. Digite o comando “compass create <path>” 3. Nesse exemplo usei “compass create palestra-sass”
  • 53. Criando um projeto Compass O Compass criará uma estrutura básica: sass css
  • 54. Criando um projeto Compass E um config.rb padrão: Que você configura conforme sua necessidade:
  • 55. Criando um projeto Compass Então para rodar o processo de “watch” você vai precisar rodar um dos comandos abaixo. 1. Abra o terminal/prompt e vá até seu projeto 2. Digite o comando “compass watch” 3. Ou “sass --compass --watch sass:css”
  • 56. Mas como o Compass ajuda afinal? Digamos que você quer colocar um “opacity” de 40% na classe “fade”. Para fazer isso de uma maneira Cross-browser você precisaria escrever assim:
  • 57. Mas como o Compass ajuda afinal? Com o Compass, você só precisa escrever isso: Mesma coisa para o “border-radius”:
  • 58. Mas como o Compass ajuda afinal? Também para o “box-sizing”: e “box-shadow”:
  • 59. Mas como o Compass ajuda afinal? e “inline-block”: e “transform”:
  • 60. Mas como o Compass ajuda afinal? Ou ainda pro “background-gradient”:
  • 61. Mas como o Compass ajuda afinal? Mas a grande estrela do Compass, ainda está por vir... Que rrrrrrrrrufem os tambores...
  • 62. Mas como o Compass ajuda afinal? O gerador de Sprites! Imaginem quanto tempo vocês passariam no Photoshop para gerar esses sprites...
  • 63. Mas como o Compass ajuda afinal? Facebook
  • 64. Mas como o Compass ajuda afinal? Globo Esporte
  • 65. Mas como o Compass ajuda afinal? Como seria no Compass ?
  • 66. Mas como o Compass ajuda afinal? Como seria no Compass ?
  • 67. Mas como o Compass ajuda afinal?
  • 68. Mas como o Compass ajuda afinal?
  • 69. Mas como o Compass ajuda afinal? Ah Galvão, mas eu não gosto do sprite na vertical...
  • 70. A primeira vez que gerei sprites com Compass!
  • 71. The Rock aprova o Compass!
  • 73. O que é o Susy ? O Susy cumpre exatamente o que diz no logo. “Grids Responsivos para Compass” Com ele é muito, muito simples criarmos layouts responsivos de fácil manutenção.
  • 75. Como instalar o Susy ?
  • 76. Como instalar o Susy ? 1. Você faz o download do arquivo .zip direto do site deles 2. Pega a pasta “sass” e remove todo o resto. 3. Joga essa pasta “sass” dentro do seu diretório que já tem os outros arquivos “sass” e manda bala!
  • 77. Como instalar o Susy ? Mas por quê fazer isso? Se outra pessoa participar do projeto ela não vai ter problema nenhum para já começar a desenvolver. Nos outros métodos, pode acontecer(e aconteceu!) de precisar atualizar o Compass e não ter direitos, nem ninguém por perto pra por a senha do Admin. #fail
  • 78. Como usar o Susy ? Fácil!
  • 79. Como usar o Susy ? Grid: 28 colunas Coluna: 48px Gutter: 0px t
  • 80. Como usar o Susy ? Grid: 12 colunas Coluna: 60px Gutter: 20px
  • 81. Como usar o Susy ?
  • 82. Como usar o Susy ?
  • 83. Como usar o Susy ?
  • 84. E agora a surpresinha…
  • 85. Depois que vocês começarem a utilizar SASS, Susy e Compass, um fenômeno curioso vai acontecer.
  • 86. Vocês vão ter TEMPO!
  • 88. Juntem-se a nós e compartilhem código!