SlideShare una empresa de Scribd logo
1 de 123
Descargar para leer sin conexión
DESIGNRESPONSIVO
POR UMA
WEB ÚNICA
@sergio_caelum
sergiolopes.org
sergiolopes.org
SITE MOBILE ou
DESIGN RESPONSIVO?
NÃO EXISTE
MOBILE
ONE WEB
DESIGNRESPONSIVO
LAYOUT FLUÍDO
960px
470px470px
MEDIDAS
FLEXÍVEIS
MEDIDAS
FLEXÍVEIS
%,em,rem,vh
100%
49%49%
PROPORÇÕES
NUMA TELA
DE 320px
100%
49% 49%
LAYOUT
CONDICIONAL
NUMA TELA
DE 320px
.formulario,	
.endereco {	
width: 49%;	
}	
!
@media (max-width: 600px) {	
.formulario,	
.endereço {	
width: 100%;	
}	
}
CSS
.formulario,	
.endereco {	
width: 49%;	
}	
!
@media (max-width: 600px) {	
.formulario,	
.endereco {	
width: 100%;	
}	
}
CSS
CSS3
MEDIA QUERIES
.formulario,	
.endereco {	
width: 49%;	
}	
!
@media (max-width: 600px) {	
.formulario,	
.endereco {	
width: 100%;	
}	
}
CSS
DESIGNRESPONSIVO
FLEXÍVEL
ADAPTÁVEL
IMPLEMENTANDO
DESIGNRESPONSIVO
CRIAÇÃO
PHOTOSHOP?
CRIAÇÃO
DESIGN IN THE BROWSER
LAYOUT FLUÍDO
MEDIDAS
FLEXÍVEIS
%
<body>
<body>
<main> width: 90%;
<body>
<main> width: 90%;
90%
<body>
<main> width: 90%;
90%
5% 5%
<body>
<main> width: 90%;
90%
5% 5%
1280px
<body>
<main> width: 90%;
90%
5% 5%
1280px
1152px
<body>
<main> width: 90%;
90%
5% 5%
1280px
1152px
54px 54px
<body>
<main> width: 90%;
90%
5% 5%
1280px
1152px
54px 54px
360px
<body>
<main> width: 90%;
90%
5% 5%
1280px
1152px
54px 54px
360px
324px
<body>
<main> width: 90%;
90%
5% 5%
1280px
1152px
54px 54px
360px
324px
18px 18px
<body>
<main> width: 90%;
<body>
<main> width: 90%;
<section> 	
width: 50%;
<section> 	
width: 50%;
<body>
<main> width: 90%;
<section> 	
width: 50%;
<section> 	
width: 50%;
33% 33% 33% 33% 33% 33%
%
font-size
<body>
<body>
<main> font-size: 125%;
<body>
<main> font-size: 125%;
<p>
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<p>
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
20px
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
20px
20px
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
20px
20px
18px
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
20px
20px
18px
27px
<body>
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
16px
20px
20px
18px
18px
27px
<main> font-size: 125%;
<section> font-size: 90%;
<h1> font-size: 150%;
<p>	
<p>
<p>
20px
25px
25px
22px
22px
33px
<body> font-size: 20px;
<main> font-size: 1.25em;
<section> font-size: .9em;
<h1> font-size: 1.5em;
<p>	
<p>
<p>
20px
25px
25px
22px
22px
33px
<body> font-size: 20px;
<main> font-size: 1.25em;
<section> font-size: 90%;
<h1> font-size: 1.5em;
<p>	
<p>
<p>
20px
25px
25px
22px
22px
33px
<body> font-size: 20px;
%
font-size
em
font-size: 120%;
font-size: 1.2em;
<main>
<p> margin: 1em 0;	
max-width: 40em;
<body>
<p> margin: 1em 0;	
max-width: 40em;
<p> margin: 1em 0;	
max-width: 40em;
<main> font-size: 1.5em;
<p> margin: 1em 0;	
max-width: 40em;
<body>
<p> margin: 1em 0;	
max-width: 40em;
<p> margin: 1em 0;	
max-width: 40em;
em
rem
<main> font-size: 1.5rem;
<main> font-size: 1.5rem;
<p>
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<p>
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
24px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
24px
24px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
24px
24px
8px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
24px
24px
8px
32px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
16px
24px
24px
8px
8px
32px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
20px
30px
30px
10px
10px
40px
<main> font-size: 1.5rem;
<section> font-size: .5rem;
<h1> font-size: 2rem;
<p>	
<p>
<p>
20px
30px
30px
10px
10px
40px
<html>
vw & vhVIEWPORT UNITS
<body>
<main> width: 90vw;
<section> 	
width: 45vw;
<section> 	
width: 45vw;
15	
vw
15	
vw
15	
vw
15	
vw
15	
vw
15	
vw
PRÁTICA
FLUÍDO...
<ul class="menu">	
	<li><!-- home --></li>	
	<li><!-- menu --></li>	
	<li><!-- busca --></li>	
</ul>
FLUÍDO...
.menu {	
	margin: 2%;	
	width: 96%;	
}	
.menu > li {	
	width: 33.3%;	
}
FLUÍDO...
320px
400px
<div class="main">	
	<h1>iOS 7</h1>	
	<h2>The mobile OS from a whole new perspe
		
	<img src="iphone.png" alt="iPhone 5">	
		
	<a href="/watch">Watch the keynote</a>	
	<a href="/more">Learn more</a>	
</div>
.main img {	
	 position: relative;	
	 top: -1em;	
}
.main img {	
	position: relative;	
	top: -1em;	
}	
!
@media (min-width: 400px) {	
	.main img {	
		 top: -2em;	
	}	
}
.news {	
	float: left;	
	width: 100%;	
}	
@media (min-width: 768px) {	
	.news {	
		width: 50%;	
	}	
}	
@media (min-width: 1024px) {	
	.news {	
		width: 25%;	
	}	
}
CSS3 MEDIA
QUERIES
BOAS PRÁTICAS
.news {	
	float: left;	
	width: 100%;	
}	
@media (min-width: 768px) {	
	.news {	
		width: 50%;	
	}	
}	
@media (min-width: 1024px) {	
	.news {	
		width: 25%;	
	}	
}
FRAMEWORKS RESPONSIVOS
TWITTER BOOTSTRAP
FRAMEWORKS RESPONSIVOS
320 and up
320px
480px
600px
768px
992px
1382px
BREAKPOINTS
DE CONTEÚDO
MEDIA QUERIES
MOBILE FIRST
h1, h2 {	
	float: left;	
}	
!
@media (max-width: 400px) {	
	h1, h2 {	
		float: none;	
	}	
}
MQ desktop-first
MQ mobile-first
/* float:none; */	
!
@media (min-width: 400px) {	
	h1, h2 {	
		float: left;	
	}	
}
VIEWPORT
980px
<meta name="viewport" content="width=320">
320px
<meta name="viewport" 	
content="width=device-width">
OBRIGADO
sergiolopes.org
@sergio_caelum

Más contenido relacionado

Destacado

Destacado (6)

Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidade
 
Responsive Design and Progressive Enhancements for the Web (workshop)
Responsive Design and Progressive Enhancements for the Web (workshop)Responsive Design and Progressive Enhancements for the Web (workshop)
Responsive Design and Progressive Enhancements for the Web (workshop)
 
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
 
Fundamental HTML5
Fundamental HTML5Fundamental HTML5
Fundamental HTML5
 
CSS3 Media Queries
CSS3 Media QueriesCSS3 Media Queries
CSS3 Media Queries
 
Fundamental CSS3
Fundamental CSS3Fundamental CSS3
Fundamental CSS3
 

Más de Caelum

Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflection
Caelum
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
Caelum
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
Caelum
 
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
Caelum
 

Más de Caelum (20)

Performance Web além do carregamento
Performance Web além do carregamentoPerformance Web além do carregamento
Performance Web além do carregamento
 
Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJS
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidades
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcset
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vida
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflection
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo Mobile
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iterações
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
 
Design Responsivo por uma Web única
Design Responsivo por uma Web únicaDesign Responsivo por uma Web única
Design Responsivo por uma Web única
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia Mobile
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
 
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVM
 

Design Responsivo - MobCamp 2014