Transcript
Page 1: Design Responsivo com Sass

DESIGN RESPONSIVO

com

Page 2: Design Responsivo com Sass

Vitor Garcia

‣ Design & Front-end;

‣ Sócio da Rino3;

‣ Professor de Web Design Senac

Page 3: Design Responsivo com Sass

Problema: Um design, um conteúdo e incontáveis telas.

Page 4: Design Responsivo com Sass

Designer / Front-ender

Page 5: Design Responsivo com Sass

Sass

Page 6: Design Responsivo com Sass

Sass‣ Pré-processador CSS;

‣ Css com Superpoderes;

‣ Requisito:

‣ Ruby instalado na máquina;

‣ Mac OS: Já vem instalado : )

‣ Windows: Se vira nos 30! :’(

‣ http://rubyinstaller.org/

Page 7: Design Responsivo com Sass

Sass

h1 { color: #fff; background: #000; }

//estilo.sass //ou //estilo.scss

h1 { color: #fff; background: #000; }

//estilo.css

SASS

Page 8: Design Responsivo com Sass

h1 { color: #fff; background: #000; }

h1 color: #fff background: #000

Scss – estilo.scss Sass – estilo.sass

Sass: sintaxe

Page 9: Design Responsivo com Sass

Sass: recursos

‣ Uma amostra dos recursos:

‣ Aninhamento;

‣ Variáveis;

‣ Mixins;

‣ Mais recursos: http://sass-lang.com/guide

Page 10: Design Responsivo com Sass

ul { li { propriedade: valor; } a { propriedade: valor; } }

ul li { propriedade: valor; } ul a { propriedade: valor; }

estilo.scss estilo.css

Sass: aninhamento

Page 11: Design Responsivo com Sass

$width: 100%; $height: 40px;

header { width: $width; height: $height; }

header { width: 100%; height: 40px; }

estilo.scss estilo.css

Sass: variáveis

Page 12: Design Responsivo com Sass

@mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; -ms-border-radius: $radius; border-radius: $radius; }

.box { @include border-radius(10px); }

.box { -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; }

estilo.scss estilo.css

Sass: mixins

Page 13: Design Responsivo com Sass

Sass: instalação

‣ Prompt (Windows) ou Terminal (Mac OS);

$ gem install sass

Page 14: Design Responsivo com Sass

Sass: compilar

‣ Prompt (Windows) ou Terminal (Mac OS);

$ cd /caminho/nome-da-pasta

$ scss estilo.scss:estilo.css

sintaxe entrada saída

Page 15: Design Responsivo com Sass

Sass: compilar

‣ Prompt (Windows) ou Terminal (Mac OS);

$ cd /caminho/nome-da-pasta

$ scss --watch estilo.scss:estilo.css

sintaxe entrada saídaobserva

Page 16: Design Responsivo com Sass

Sass: compilar

Page 17: Design Responsivo com Sass

Tony Stark Homem de Ferro Homem de Ferro: Máquina de Combate

CSS SASS COMPASS

Page 18: Design Responsivo com Sass

Compass

Page 19: Design Responsivo com Sass

Compass‣ Framework Ruby/Sass

‣ Vantagens:

‣ Ajuda na compatibilidade cross-browser;

‣ Recursos que facilitam no trabalho com Css3;

‣ Sprite com o pé na nuca;

‣ Alta produtividade!

Page 20: Design Responsivo com Sass

Compass: instalação

‣ Prompt (Windows) ou Terminal (Mac OS);

$ gem install compass

Page 21: Design Responsivo com Sass

Compass: start

‣ Prompt (Windows) ou Terminal (Mac OS);

$ cd /caminho/nome-da-pasta

$ compass create projeto

Page 22: Design Responsivo com Sass

Compass: estrutura

projeto/ |——— sass/ | |——— ie.scss | |——— print.scss | |——— screen.scss |——— stylesheets/ | |——— ie.css | |——— print.css | |——— screen.css |——— config.rb

Page 23: Design Responsivo com Sass

Compass: compilar

‣ Prompt (Windows) ou Terminal (Mac OS);

$ cd /caminho/projeto

$ compass watch

Page 24: Design Responsivo com Sass

Compass: biblioteca

‣ CSS3

‣ Helpers

‣ Layout

‣ Reset

‣ Typography

Page 25: Design Responsivo com Sass

@import “compass/css3";

.box { @include border-radius(10px); }

//screen.scss

Compass: css3

Page 26: Design Responsivo com Sass
Page 27: Design Responsivo com Sass
Page 28: Design Responsivo com Sass

Spriting with Sass and Compasshttp://thesassway.com/intermediate/spriting-with-sass-and-compass

Page 29: Design Responsivo com Sass

Compass: biblioteca

‣ Mais detalhes:

‣ http://compass-style.org/reference/compass/

Page 30: Design Responsivo com Sass

Homem de Ferro: Hulkbuster

COMPASS +

SUSY +

BREAKPOINT

Page 31: Design Responsivo com Sass

Breakpoint

Page 32: Design Responsivo com Sass

Breakpoint‣ Framework Sass;

‣ Faz consultas de mídia de forma simples e organizada;

‣ Economia de tempo!

‣ Requer Sass e Compass.

‣ Documentação: https://github.com/at-import/breakpoint/wiki/

Page 33: Design Responsivo com Sass

Breakpoint: instalação

‣ Prompt (Windows) ou Terminal (Mac OS);

$ gem install breakpoint

Page 34: Design Responsivo com Sass

//Outros @imports @import “breakpoint”;

//screen.scss

require 'breakpoint'

//config.rb

Breakpoint: preparação

Page 35: Design Responsivo com Sass

$adolescente : 600px; $adulto : 600px 1024px;

.seletor { propriedade: valor;

@include breakpoint($adolescente) { propriedade: valor; } @include breakpoint($adulto) { propriedade: valor; } }

//screen.scss

Breakpoint: start

Page 36: Design Responsivo com Sass

.seletor { propriedade: valor; } @media (min-width: 600px) { .seletor { propriedade: valor; } } @media (min-width: 600px) and (max-width: 1024px) { .seletor { propriedade: valor; } }

//screen.css

Breakpoint: start

Page 37: Design Responsivo com Sass

$retina: min-resolution 2dppx; // Retina displays

.seletor { propriedade: valor;

@include breakpoint($retina) { propriedade: valor; } }

//screen.scss

Breakpoint: resolução

Page 38: Design Responsivo com Sass

.seletor { propriedade: valor; }

@media (min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (min-resolution: 192dpi) { .seletor { propriedade: valor; } }

//screen.css

Breakpoint: resolução

Page 39: Design Responsivo com Sass

http://bohemiancoding.com/sketch/

https://github.com/bjango/bjango-actions/

Page 40: Design Responsivo com Sass

Susy

Page 41: Design Responsivo com Sass

Susy

‣ Framework Sass;

‣ Foco: Grid;

‣ Economia de tempo!

‣ Requer Sass.

‣ Documentação: http://susydocs.oddbird.net/en/latest/

Page 42: Design Responsivo com Sass

Susy: instalação

‣ Prompt (Windows) ou Terminal (Mac OS);

$ gem install susy

Page 43: Design Responsivo com Sass

//Outros @imports @import “susy”;

//screen.scss

require 'susy'

//config.rb

Susy: preparação

Page 44: Design Responsivo com Sass

header

content

footer

sidebar

Susy: tretas

Page 45: Design Responsivo com Sass

<div class="container"> <div class="row"> <div class="col-md-12"></div> </div>

<div class="row"> <div class=“col-md-8"></div> <div class=“col-md-4"></div> </div>

<div class="row"> <div class="col-md-12"></div> </div> </div>

Bootstrap

Susy: tretas

Page 46: Design Responsivo com Sass

Susy: tretas

‣ Problemas no método tradicional do Bootstrap (e outros frameworks):

‣ Falta de flexibilidade;

‣ código poluído;

‣ Número de colunas divisível por 12.

‣ …

Page 47: Design Responsivo com Sass

<div class="container"> <header class="header"></header>

<section class=“content”></section> <aside class="sidebar"></aside>

<footer class="footer"></footer> </div>

Susy: tretas

Page 48: Design Responsivo com Sass

.container { @include container(1024px); }

.header { @include span(12 of 12); }

.content { @include span(8 of 12); }

.sidebar { @include span(last 4 of 12); }

.footer { @include span(12 of 12); }

//screen.scss

Susy: tretas

Page 49: Design Responsivo com Sass

.container { max-width: 1024px; margin-left: auto; margin-right: auto; }

.container:after { content: " "; display: block; clear: both; }

.header { width: 100%; float: left; margin-left: 0; margin-right: 0;}

//screen.css.content { width: 66.10169%; float: left; margin-right: 1.69492%; }

.sidebar { width: 32.20339%; float: right; margin-right: 0; }

.footer { width: 100%; float: left; margin-left: 0; margin-right: 0;}

Susy: tretas

Page 50: Design Responsivo com Sass

.container { @include container(1024px); }

.header { @include span(12 of 12); }

.content { @include span(6 of 7); }

.sidebar { @include span(last 1 of 7); }

.footer { @include span(12 of 12); }

//screen.scss

Susy: tretas

Page 51: Design Responsivo com Sass

“Aiiimmmm, vai gerar muito código!…

mimimi…

Page 52: Design Responsivo com Sass

Você usa 100% dos recursos do seu framework

favorito?

Page 53: Design Responsivo com Sass

+

Susy + Breakpoint

Page 54: Design Responsivo com Sass

header

content

footer

sidebar

header

content

footer

sidebar

mín. 768px

Susy / Breakpoint

Page 55: Design Responsivo com Sass

$adolescente : 768px;

.content { @include span(4 of 4); }

.sidebar {@include span(4 of 4); }

@include breakpoint($adolescente) { .content { @include span(8 of 12); }

.sidebar { @include span(last 4 of 12); } }

//screen.scss

Susy / Breakpoint

Page 56: Design Responsivo com Sass

mín. 768px

.galeria-item .galeria-item .galeria-item .galeria-item

.galeria-item .galeria-item .galeria-item

.galeria-item

.galeria-item .galeria-item

.galeria-item .galeria-item

Susy / Breakpoint

Page 57: Design Responsivo com Sass

<div class="container"> <div class=“galeria-item”></div> <div class=“galeria-item”></div> <div class=“galeria-item”></div> <div class=“galeria-item”></div> <div class=“galeria-item”></div> <div class=“galeria-item”></div> …. </div>

Susy / Breakpoint

Page 58: Design Responsivo com Sass

$adolescente : 768px;

.galeria-item { @include gallery(6 of 12); }

@include breakpoint($adolescente) { .galeria-item { @include gallery(4 of 12); } }

//screen.scss

Susy / Breakpoint

Page 59: Design Responsivo com Sass

.galeria-item { width: 49.15254%; float: left; } .galeria-item:nth-child(2n + 1) { margin-left: 0; margin-right: -100%; clear: both; margin-left: 0; } .galeria-item:nth-child(2n + 2) { margin-left: 50.84746%; margin-right: -100%; clear: none; }

//screen.css

@media (min-width: 768px) { .galeria-item { width: 32.20339%; float: left; } .galeria-item:nth-child(3n + 1) { margin-left: 0; margin-right: -100%; clear: both; margin-left: 0; } .galeria-item:nth-child(3n + 2) { margin-left: 33.89831%; margin-right: -100%; clear: none; } .galeria-item:nth-child(3n + 3) { margin-left: 67.79661%; margin-right: -100%; clear: none; } }

Susy / Breakpoint

Page 60: Design Responsivo com Sass

“Aiiimmmm, eu não utilizo só

breakpoint e grid,… e o modal? player?…

O Boostrap tem!

Page 61: Design Responsivo com Sass

Foundationhttp://foundation.zurb.com/

Page 62: Design Responsivo com Sass

– Diego Eis, tableless.com.br

“Quando decidimos usar um pré-processador é um caminho

sem volta.”


Recommended