SlideShare une entreprise Scribd logo
1  sur  58
Responsivo e
Adaptativo
Heraldo G. Lima Junior
Web designer - NTI | FACAPE
Estagiário
1
WebDesign
. . . . . . . . . . . . . . . . . . . . . . .
# Construindo Layouts Tableless
• Layouts tableless são layouts ou páginas web
construídas e estruturadas sem o uso das antigas
tabelas (<table></table>), substituindo-as pela tag
<div> para montar os “blocos” do layout.
2
# Obs1.: Desenvolva para
os navegadores modernos
e depois adapte para os
antigos
# Construindo Layouts Tableless
#1º Passo
3
> Escolha os “blocos” do layout.
# Construindo Layouts Tableless
#2º Passo
4
> Nomear os blocos. Se o bloco for único, utilize ID no lugar de
CLASSE, pois caso ocorra conflito de regras css, o seletor ID tem
prioridade sobro o seletor CLASSE.
# Construindo Layouts Tableless
#3º Passo
5
> Criar a marcação.
# Comece a declaração de DOCTYPE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
# Prossiga com a seção head do documento, incluindo a codificação
de caracteres, link para folhas de estilo:
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Page title</title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
</head>
# Construindo Layouts Tableless
#4º Passo
6
> Crie as divs para estruturar o seu layout, logo após a tag <body>:
<body>
<div id="container">
<div id="header"></div>
<div id="mainnav"></div>
<div id="menu"></div>
<div id="contents"></div>
<div id="footer"></div>
</div>
</body>
</html>
# Construindo Layouts Tableless
#5º Passo
7
> Posicionar os blocos:
body {
margin: 0; padding: 0; background: #ddd;
}
#container {
margin: 1em auto; width: 650px; background: #fff;
}
#header {background: #CF3;}
#mainnav {background: #9F3; }
#menu {
float: right; width: 165px; background: #6F9;
}
#contents {
float: left; width: 440px; background: #9FC; margin: 0 0 0 20px;
}
#footer {
clear: both; background: #FF9;
}
# Construindo Layouts Tableless
#6º Passo
8
> Adicione conteúdo aos blocos.
e...
# Construindo Layouts Tableless
#Menu Dropdown
9
> Lógica básica:
<li>
# Posiciona relativamente (position:relative) e flutua à esquerda (float:left).
<li> <ul>
# Esconda (display:none) e posicione absolutamente (position:absolute).
E quando o mouse passar sobre o
<li>
# o submenu é mostrado (display:block).
# Construindo Layouts Tableless
#Menu Dropdown
10
> HTML:
<ul>
<li><a href='#'>Sub-íten 1</a>
<ul>
<li> <a href='#'>Íten 2</a> </li>
<li> <a href='#'>Íten 3</a> </li>
</ul>
</li>
<li><a href='#'>Sub-íten 2</a></li>
<li><a href='#'>Sub-íten 3</a></li>
</ul>
# Construindo Layouts Tableless
#Menu Dropdown
11
> CSS:
.menu li { position: relative; float: left; list-style: none; height: 50px; width:
100px; border: 1px solid #b3b3b3; text-align: center; text-shadow: 1px 1px 2px #fff; }
.menu li a{ display: block; background: -webkit-linear-gradient(#b3b3b3,
#fff); color: #333; text-decoration: none; font-family: arial; height: 35px; padding-top:
15px; }
.menu li a:hover{ background: -webkit-linear-gradient(#000, #333); color:
#fff; text-shadow: 0px 0px 10px #fff; }
.menu li ul { position: absolute; left: -40px; display: none; }
.menu li ul li { list-style: none; height: 50px; width: 150px; border: 1px solid
#b3b3b3; text-align: center; }
.menu li:hover ul { position: absolute; left: -40px; display: block; }
# Construindo Layouts Tableless
#Menu Dropdown
12
> Resultado:
13
# Seu layout
está pronto!
# O que é Web Design
Responsivo?
• È a técnica de criar páginas para a web que se
adaptem a diferentes resoluções, telas, dispositivos,
sem precisar criar uma página específica para
cada situação, mantendo sempre a acessibilidade
e a usabilidade da página.
14
15
Fonte: Webop - http://webop.com.br/blog/mobile/o-crescimento-da-internet-movel-no-brasil
# Usuários satisfeitos!
16
Aplicações
Eficazes
Eficientes
Bonitas
Fáceis de usar
Em qualquer DISPOSITIVO!
# Usabilidade / Acessibilidade
• > Dica 1
 CSS alternativo para navegadores antigos:
É impossível desenvolver um css que renderize em todos os
navegadores. Para resolver este problema se utiliza de css´s
alternativos.
Ex.:
<!–-[if IE]>
Aqui podemos informar o código que quisermos.
<![endif]–->
17
# Usabilidade / Acessibilidade
* CSS alternativo para navegadores antigos
<html>
<head>
<style type="text/css">
#main {
background-color: gray;
}
</style>
<!--[if IE]>
<style type="text/css">
#main {
padding: 10px;
}
</style>
<![endif]-->
</head>
<body>
<div id="main">
Teste de utiliza&ccedil;&atilde;o do padding no IE e no Chrome
</div>
</body>
</html>
18
O código ao lado aplica
um css diferente para o IE.
Ao abrir este arquivo no IE,
a div de id=“main”
receberá um padding de
10px, enquanto nos demais
navegadores ela ficará
sem padding.
Ex.:
# Usabilidade / Acessibilidade
* CSS alternativo para navegadores antigos
19
Resultado da aplicação do código anterior:.:
Google Chrome.
Internet Explorer.
# Usabilidade / Acessibilidade
* CSS alternativo para navegadores antigos
20
# Dentro das tags <body></body>:
<body>
<!--[if IE]>
<div id="ie">
Baixe um navegador mais moderno, utilize Google Chrom
e, ou Firefox.
</div>
<![endif]-->
<div id="main">
Teste de utiliza&ccedil;&atilde;o do padding no IE e no
Chrome.
</div>
</body>
# Usabilidade / Acessibilidade
* CSS alternativo para navegadores antigos
21
Resultado:
Google Chrome.
Internet Explorer.
# Usabilidade / Acessibilidade
*Media Queries
22
# Imagens Fluídas:
As imagens passam a se adaptar de acordo com
o tamanho do layout, basta apenas inserir a linha
de código a seguir:
img {
max-width: 100%;
}
# Usabilidade / Acessibilidade
*Media Queries
23
# Imagens Fluídas:
Outra técnica bastante útil é cortar as laterais da
imagem, fazendo com que ela fique contida na
div a qual pertence, fazendo com que partes da
imagem escondam-se ou apareçam de acordo
com a resolução da tela.
.div_contetora_da_img {
overflow: hidden;
}
# Media Queries
24
# Usabilidade / Acessibilidade
*Media Queries
25
Especificam um estilo específico de acordo com a media,
resolução, largura, etc. Os mais utilizados são:
all
Para todos os dispositivos.
handheld
Para dispositivos de mão. Normalmente com telas pequenas e banda limitada.
print
Para impressão em papel.
projection
Para apresentações, como PowerPoint.
screen
Para monitores ou outros dispositivos com telas coloridas e com resolução adequada.
tv
Para dispositivos como televisores, ou seja, com baixa resolução, quantidade de cores e scroll limitado.
• Seu uso é feito dentro das tags <head> e </head>.
<link rel="stylesheet” href="estilo.css” media="screen and (color)" />
• Ou in-line:
@media print {
/* estilos */
}
26
# Usabilidade / Acessibilidade
*Media Queries
• Parametros do Media Queries:
 Width - Largura do viewport (janela do browser).
 Height - Altura do viewport (janela do browser).
 Device - width - Largura da mídia.
 Device - height - Altura da mídia.
 Orientation – Orientação da Mídia.
 aspect-ratio – Proporção.
 device-aspect-ratio - Proporção da tela do dispositivo.
 Color - Número de bits por cor.
 color-index - Número de entradas na tabela de pesquisa de cores.
 Monochrome - Número de bits por pixel em um buffer de quadros
monocromáticos.
 Resolution - Resolução do dispositivo.
 Scan - Tipo de formação de imagens especifico para televisores.
 Grid - Determina se o dispositivo é baseado em bitmap ou em um grid.
27
# Usabilidade / Acessibilidade
*Media Queries
• Operadores Lógicos:
 Ou, And e Only.
 Se utiliza o only para dizer ao navegador que o arquivo css
informado só será carregado em navegadores que suportam
media queries.
28
# Usabilidade / Acessibilidade
*Media Queries
• Principais resoluções utilizadas:
• ​320 pixels - Smartphones no
modo retrato.
• 480 pixels - Smartphones no
modo paisagem.
• 600 pixels - Tablets pequenos. Ex:
Amazon Kindle (600×800)
• ​768 pixels - Tablets maiores em
modo retrato. Ex: iPad (768×1024)
• 1024 pixels - Tablets maiores em
modo paisagem, monitores
antigos.
• ​1200 pixels - Monitores wide.
29
# Usabilidade / Acessibilidade
*Media Queries
Exemplos:
Um iPhone em modo retrato, por exemplo, possui 320px de
width. Se você desenvolver um CSS para o smartphone da
Apple basta utilizar o seguinte Media Querie:
/* Smartphone em modo retrato */
@media only screen and (max-width : 320px) {
/* estilos */
}
30
# Usabilidade / Acessibilidade
*Media Queries
Exemplos:
Ipad, independete da orientação:
/* iPads (restrato e paisagem) */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
/* estilos */
}
31
# Usabilidade / Acessibilidade
*Media Queries
32
# Mas afinal,
funciona em
todos os
browsers?
33
34
Calma, para tudo tem-se um jeito...
css3-mediaqueries-js ()
Download em:
http://code.google.com/p/css3-mediaqueries-js/
35
# Usabilidade / Acessibilidade
*Media Queries
Testando seu site em dispositiovos mobile:
GoMo
Disponível em:
http://www.howtogomo.com
36
# Usabilidade / Acessibilidade
*Media Queries
37
38
# Principais novidades
• Gradiente em textos e elementos;
• Bordas arredondadas;
• Sombras em texto e elementos;
• Manipulação de opacidade;
• Controle de rotação;
• Controle de perspectiva;
• Animação;
• Estruturação independente da posição no código HTML;
39
# Adeus
Photoshop!
40
# Gradientes
div {
width:200px;
height:200px;
background-color: #FFF;
/* imagem caso o browser não aceite a feature */
background-image: url(images/gradiente.png);
/* Firefox 3.6+ */
background-image: -moz-linear-gradient(green, red);
/* Safari 5.1+, Chrome 10+ */
background-image: -webkit-linear-gradient(green, red);
/* Opera 11.10+ */
background-image: -o-linear-gradient(green, red);
} 41
# Menos
Java Script...
42
# Transições
Transition:
a {
color: white;
background: gray;
-webkit-transition: 0.5s;
}
a:hover {
color: black;
background: red;
-webkit-transition: 0.5s;
}
43
Proporciona uma
transição mais
suave durante a
mudança de um
estado para
outro.
# Bordas
Bordas Arredondadas:
div {
height: 50px;
width: 100px;
background: black;
border: 5px solid yellow;
border-radius: 20px;
}
44
# Sombras
Caixas:
div {
height: 50px;
width: 100px;
background: black;
border: 5px solid yellow;
border-radius: 20px;
box-shadow: 0px 0px 10px #000;
}
45
# Sombras
Texto:
p {
font-size: 50px;
color: #fff;
font-family: arial, sans-serif;
Text-shadow: 0px 0px 10px #000;
}
46
47
# Validando Formulários
• Em HTML5 existem atributos que validam o
formulário no momento em que o usuário
submeter os dados, como o min, max,
pattern, step, required, type e maxlenhgt.
• Compatível apenas com navegadores
novos.
48
# Required
• Mostra que o campo é de
preenchimento obrigatório.
• Ex.:
<form>
<input type="text" required value="" />
<input type="submit" value="Submit" />
</form>
49
# Required
50
# Pattern
• Determinamos o padrão de
preenchimento do campo por meio
de uma expressão regular.
• Ex.:
<input pattern="[0-9]{3}[A-Z]{3}" />
51
# Min e Max
• Determinamos os valores mínimos e
máximos para os campos.
• Ex.:
<input type="number" max="10" />
52
# Min e Max
• Determinamos os valores mínimos e
máximos para os campos.
• Ex.:
<input type="number" max="10" />
<input type="number" max="9" min="1”/>
<input type="date" min="1979-12-31" />
53
# Step
• Determina um intervalo de números e
uma determinada sequência.
• Ex.:
<input type=number min="0" max="10“ step="0.5">
54
# Personalizando a mensagem
de erro.
• Para isso se utiliza o atributo title.
• Ex.:
<input type=number min="1" max="10"
title="Preencha o campo corretamente!”/>
*Não substitui a mensagem padrão, aparece junto
com ela.
55
# As pseudo-classes :valid e
:invalid
• Estilizam o formulário que foi
preenchido de forma válida (:valid) e
os que estão preenchidos de forma
errada (:invalid).
• Ex.:
input:invalid { border: 1px solid red; }
56
# Referências
 MAUJOR. Layout CSS passo a passo. Disponível em <http://www.maujor.com/tutorial/layout-css-passo-a-
passo.php> Acesso em março de 2013.
 SCHIRM, Lucas. Como utilizar um CSS diferente para cada navegador. Disponível em
<http://www.ogenial.com.br/blog/css-diferentes-navegador/> Acesso em março de 2013.
 GUERRATO, Dani . Design Responsivo III – Media Queries e Compatibilidade. Disponível em
<http://blog.popupdesign.com.br/design-responsivo-iii-media-queries-e-compatibilidade/> Acesso em
março de 2013.
 W3C. CSS. Curso W3C Escritório Brasil.
 ALTERMANN, Dennis. Design Responsivo: Entenda o que é a técnica e como ela funciona. Disponível em <
http://midiatismo.com.br/o-mobile/design-responsivo-entenda-o-que-e-a-tecnica-e-como-ela-funciona >
Acesso em março de 2013.
 ALBAN, Afonso. Ampliando a usabilidade de interfaces web para idosos em dispositivos móveis: uma
proposta utilizando design responsivo. Passo Fundo: CINTED-UFRGS, 2012.
 EIS, Diego. Introdução sobre Media Queries. Disponível em < tableless.com.br/introducao-sobre-media-
queries/#.UUyTgxykqwA > Acesso em março de 2013.
 W3C. Técnicas CSS para acessibilidade a conteúdo web - Diretrizes 1.0. Disponível em <
http://www.w3.org/TR/2000/NOTE-WCAG10-CSS-TECHS-20001106/ > Acesso em março de 2013.
57
# Obrigado pela Atenção.
58

Contenu connexe

Tendances

Aula 7 - Repetição enquanto - exemplos
Aula 7 - Repetição enquanto - exemplosAula 7 - Repetição enquanto - exemplos
Aula 7 - Repetição enquanto - exemplos
Pacc UAB
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 
Arquitetura de Informação - Sistemas de Navegação
Arquitetura de Informação - Sistemas de NavegaçãoArquitetura de Informação - Sistemas de Navegação
Arquitetura de Informação - Sistemas de Navegação
pospipoca
 

Tendances (20)

Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Web Design Responsivo
Web Design ResponsivoWeb Design Responsivo
Web Design Responsivo
 
Navegação e Arquitetura de Informação
Navegação e Arquitetura de InformaçãoNavegação e Arquitetura de Informação
Navegação e Arquitetura de Informação
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Aula 7 - Repetição enquanto - exemplos
Aula 7 - Repetição enquanto - exemplosAula 7 - Repetição enquanto - exemplos
Aula 7 - Repetição enquanto - exemplos
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento Web
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Programacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de EnsinodocProgramacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de Ensinodoc
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Arquitetura de Informação - Sistemas de Navegação
Arquitetura de Informação - Sistemas de NavegaçãoArquitetura de Informação - Sistemas de Navegação
Arquitetura de Informação - Sistemas de Navegação
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPoint
 
MVC
MVCMVC
MVC
 
Sistemas de organização e rotulação
Sistemas de organização e rotulaçãoSistemas de organização e rotulação
Sistemas de organização e rotulação
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 

En vedette

Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
Isabel Araujo
 

En vedette (20)

E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScript
 
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGNCSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
Design Responsivo
Design ResponsivoDesign Responsivo
Design Responsivo
 
Como desenvolver sites utilizando Design Responsivo
Como desenvolver sites utilizando Design ResponsivoComo desenvolver sites utilizando Design Responsivo
Como desenvolver sites utilizando Design Responsivo
 
Design responsivo
Design responsivoDesign responsivo
Design responsivo
 
Web Design Responsivo - Melhorando interfaces e a experiência do usuário na n...
Web Design Responsivo - Melhorando interfaces e a experiência do usuário na n...Web Design Responsivo - Melhorando interfaces e a experiência do usuário na n...
Web Design Responsivo - Melhorando interfaces e a experiência do usuário na n...
 
HTML5 CSS3
HTML5 CSS3HTML5 CSS3
HTML5 CSS3
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Web design responsivo - Criando um site adaptável
Web design responsivo - Criando um site adaptávelWeb design responsivo - Criando um site adaptável
Web design responsivo - Criando um site adaptável
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
CSS Básico para Webdesign
CSS Básico para WebdesignCSS Básico para Webdesign
CSS Básico para Webdesign
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Introdução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, AjaxIntrodução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, Ajax
 
Web Design Responsivo WordCamp-RJ 2015
Web Design Responsivo WordCamp-RJ 2015Web Design Responsivo WordCamp-RJ 2015
Web Design Responsivo WordCamp-RJ 2015
 
Introdução à media queries
Introdução à media queriesIntrodução à media queries
Introdução à media queries
 
Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
Cleuber rodrigues brunomelo_matheus_isabelfernanda_yana_webdesignresponsivo_g...
 

Similaire à Web design responsivo e adaptativo - HTML5/CSS3

Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdfWeb_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
saintrubysupply
 
Desenvolvimento Web com Firefox - Clauber Stipkovic Halic
Desenvolvimento Web com Firefox - Clauber Stipkovic HalicDesenvolvimento Web com Firefox - Clauber Stipkovic Halic
Desenvolvimento Web com Firefox - Clauber Stipkovic Halic
Tchelinux
 
Palestra / SDD / Crossbrowsing
Palestra / SDD / CrossbrowsingPalestra / SDD / Crossbrowsing
Palestra / SDD / Crossbrowsing
hugodiasneto
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
Desenvolvimento Web Parte I
Desenvolvimento Web Parte IDesenvolvimento Web Parte I
Desenvolvimento Web Parte I
igorpimentel
 

Similaire à Web design responsivo e adaptativo - HTML5/CSS3 (20)

Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdfWeb_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
Web_Design_Responsivo_e_Adaptativo_Apresentação_autor_Lara_Popov.pdf
 
Responsive web design_CPRecife2 - Felipe de Albuquerque
Responsive web design_CPRecife2 -  Felipe de AlbuquerqueResponsive web design_CPRecife2 -  Felipe de Albuquerque
Responsive web design_CPRecife2 - Felipe de Albuquerque
 
Construindo seu framework CSS
Construindo seu framework CSSConstruindo seu framework CSS
Construindo seu framework CSS
 
Desenvolvimento Web com Firefox - Clauber Stipkovic Halic
Desenvolvimento Web com Firefox - Clauber Stipkovic HalicDesenvolvimento Web com Firefox - Clauber Stipkovic Halic
Desenvolvimento Web com Firefox - Clauber Stipkovic Halic
 
7 Dicas para Criação de layouts para sites em WordPress
7 Dicas para Criação de layouts para sites em WordPress7 Dicas para Criação de layouts para sites em WordPress
7 Dicas para Criação de layouts para sites em WordPress
 
Html5
Html5Html5
Html5
 
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render PathDOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Devmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end FoundationDevmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end Foundation
 
Palestra / SDD / Crossbrowsing
Palestra / SDD / CrossbrowsingPalestra / SDD / Crossbrowsing
Palestra / SDD / Crossbrowsing
 
Web Design Responsivo
Web Design ResponsivoWeb Design Responsivo
Web Design Responsivo
 
Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
 
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...
 
Do impresso para o tablet
Do impresso para o tabletDo impresso para o tablet
Do impresso para o tablet
 
XHTML e CSS
XHTML e CSSXHTML e CSS
XHTML e CSS
 
Um guia bem básico de Bootstrap + Less
Um guia bem básico de Bootstrap + LessUm guia bem básico de Bootstrap + Less
Um guia bem básico de Bootstrap + Less
 
Desenvolvimento Web Parte I
Desenvolvimento Web Parte IDesenvolvimento Web Parte I
Desenvolvimento Web Parte I
 

Plus de Heraldo Gonçalves Lima Junior

Plus de Heraldo Gonçalves Lima Junior (8)

Informática Básica
Informática BásicaInformática Básica
Informática Básica
 
Ux design - Conceitos Básicos
Ux design - Conceitos BásicosUx design - Conceitos Básicos
Ux design - Conceitos Básicos
 
Oficia de Diagramação - Conceitos Básicos
Oficia de Diagramação - Conceitos BásicosOficia de Diagramação - Conceitos Básicos
Oficia de Diagramação - Conceitos Básicos
 
O Papel Social da Escola
O Papel Social da EscolaO Papel Social da Escola
O Papel Social da Escola
 
Realidade virtual aplicada à educação
Realidade virtual aplicada à educaçãoRealidade virtual aplicada à educação
Realidade virtual aplicada à educação
 
Quando a Escola é a Aldeia
Quando a Escola é a AldeiaQuando a Escola é a Aldeia
Quando a Escola é a Aldeia
 
SEMIÁRIDO: REFLEXÃO SOBRE UMA EDUCAÇÃO CONTEXTUALIZADA
SEMIÁRIDO: REFLEXÃO SOBRE UMA EDUCAÇÃO CONTEXTUALIZADASEMIÁRIDO: REFLEXÃO SOBRE UMA EDUCAÇÃO CONTEXTUALIZADA
SEMIÁRIDO: REFLEXÃO SOBRE UMA EDUCAÇÃO CONTEXTUALIZADA
 
jQuery mobile
jQuery mobilejQuery mobile
jQuery mobile
 

Web design responsivo e adaptativo - HTML5/CSS3

  • 1. Responsivo e Adaptativo Heraldo G. Lima Junior Web designer - NTI | FACAPE Estagiário 1 WebDesign . . . . . . . . . . . . . . . . . . . . . . .
  • 2. # Construindo Layouts Tableless • Layouts tableless são layouts ou páginas web construídas e estruturadas sem o uso das antigas tabelas (<table></table>), substituindo-as pela tag <div> para montar os “blocos” do layout. 2 # Obs1.: Desenvolva para os navegadores modernos e depois adapte para os antigos
  • 3. # Construindo Layouts Tableless #1º Passo 3 > Escolha os “blocos” do layout.
  • 4. # Construindo Layouts Tableless #2º Passo 4 > Nomear os blocos. Se o bloco for único, utilize ID no lugar de CLASSE, pois caso ocorra conflito de regras css, o seletor ID tem prioridade sobro o seletor CLASSE.
  • 5. # Construindo Layouts Tableless #3º Passo 5 > Criar a marcação. # Comece a declaração de DOCTYPE: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> # Prossiga com a seção head do documento, incluindo a codificação de caracteres, link para folhas de estilo: <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Page title</title> <link rel="stylesheet" href="style.css" type="text/css" media="screen"> </head>
  • 6. # Construindo Layouts Tableless #4º Passo 6 > Crie as divs para estruturar o seu layout, logo após a tag <body>: <body> <div id="container"> <div id="header"></div> <div id="mainnav"></div> <div id="menu"></div> <div id="contents"></div> <div id="footer"></div> </div> </body> </html>
  • 7. # Construindo Layouts Tableless #5º Passo 7 > Posicionar os blocos: body { margin: 0; padding: 0; background: #ddd; } #container { margin: 1em auto; width: 650px; background: #fff; } #header {background: #CF3;} #mainnav {background: #9F3; } #menu { float: right; width: 165px; background: #6F9; } #contents { float: left; width: 440px; background: #9FC; margin: 0 0 0 20px; } #footer { clear: both; background: #FF9; }
  • 8. # Construindo Layouts Tableless #6º Passo 8 > Adicione conteúdo aos blocos. e...
  • 9. # Construindo Layouts Tableless #Menu Dropdown 9 > Lógica básica: <li> # Posiciona relativamente (position:relative) e flutua à esquerda (float:left). <li> <ul> # Esconda (display:none) e posicione absolutamente (position:absolute). E quando o mouse passar sobre o <li> # o submenu é mostrado (display:block).
  • 10. # Construindo Layouts Tableless #Menu Dropdown 10 > HTML: <ul> <li><a href='#'>Sub-íten 1</a> <ul> <li> <a href='#'>Íten 2</a> </li> <li> <a href='#'>Íten 3</a> </li> </ul> </li> <li><a href='#'>Sub-íten 2</a></li> <li><a href='#'>Sub-íten 3</a></li> </ul>
  • 11. # Construindo Layouts Tableless #Menu Dropdown 11 > CSS: .menu li { position: relative; float: left; list-style: none; height: 50px; width: 100px; border: 1px solid #b3b3b3; text-align: center; text-shadow: 1px 1px 2px #fff; } .menu li a{ display: block; background: -webkit-linear-gradient(#b3b3b3, #fff); color: #333; text-decoration: none; font-family: arial; height: 35px; padding-top: 15px; } .menu li a:hover{ background: -webkit-linear-gradient(#000, #333); color: #fff; text-shadow: 0px 0px 10px #fff; } .menu li ul { position: absolute; left: -40px; display: none; } .menu li ul li { list-style: none; height: 50px; width: 150px; border: 1px solid #b3b3b3; text-align: center; } .menu li:hover ul { position: absolute; left: -40px; display: block; }
  • 12. # Construindo Layouts Tableless #Menu Dropdown 12 > Resultado:
  • 14. # O que é Web Design Responsivo? • È a técnica de criar páginas para a web que se adaptem a diferentes resoluções, telas, dispositivos, sem precisar criar uma página específica para cada situação, mantendo sempre a acessibilidade e a usabilidade da página. 14
  • 15. 15 Fonte: Webop - http://webop.com.br/blog/mobile/o-crescimento-da-internet-movel-no-brasil
  • 17. # Usabilidade / Acessibilidade • > Dica 1  CSS alternativo para navegadores antigos: É impossível desenvolver um css que renderize em todos os navegadores. Para resolver este problema se utiliza de css´s alternativos. Ex.: <!–-[if IE]> Aqui podemos informar o código que quisermos. <![endif]–-> 17
  • 18. # Usabilidade / Acessibilidade * CSS alternativo para navegadores antigos <html> <head> <style type="text/css"> #main { background-color: gray; } </style> <!--[if IE]> <style type="text/css"> #main { padding: 10px; } </style> <![endif]--> </head> <body> <div id="main"> Teste de utiliza&ccedil;&atilde;o do padding no IE e no Chrome </div> </body> </html> 18 O código ao lado aplica um css diferente para o IE. Ao abrir este arquivo no IE, a div de id=“main” receberá um padding de 10px, enquanto nos demais navegadores ela ficará sem padding. Ex.:
  • 19. # Usabilidade / Acessibilidade * CSS alternativo para navegadores antigos 19 Resultado da aplicação do código anterior:.: Google Chrome. Internet Explorer.
  • 20. # Usabilidade / Acessibilidade * CSS alternativo para navegadores antigos 20 # Dentro das tags <body></body>: <body> <!--[if IE]> <div id="ie"> Baixe um navegador mais moderno, utilize Google Chrom e, ou Firefox. </div> <![endif]--> <div id="main"> Teste de utiliza&ccedil;&atilde;o do padding no IE e no Chrome. </div> </body>
  • 21. # Usabilidade / Acessibilidade * CSS alternativo para navegadores antigos 21 Resultado: Google Chrome. Internet Explorer.
  • 22. # Usabilidade / Acessibilidade *Media Queries 22 # Imagens Fluídas: As imagens passam a se adaptar de acordo com o tamanho do layout, basta apenas inserir a linha de código a seguir: img { max-width: 100%; }
  • 23. # Usabilidade / Acessibilidade *Media Queries 23 # Imagens Fluídas: Outra técnica bastante útil é cortar as laterais da imagem, fazendo com que ela fique contida na div a qual pertence, fazendo com que partes da imagem escondam-se ou apareçam de acordo com a resolução da tela. .div_contetora_da_img { overflow: hidden; }
  • 25. # Usabilidade / Acessibilidade *Media Queries 25 Especificam um estilo específico de acordo com a media, resolução, largura, etc. Os mais utilizados são: all Para todos os dispositivos. handheld Para dispositivos de mão. Normalmente com telas pequenas e banda limitada. print Para impressão em papel. projection Para apresentações, como PowerPoint. screen Para monitores ou outros dispositivos com telas coloridas e com resolução adequada. tv Para dispositivos como televisores, ou seja, com baixa resolução, quantidade de cores e scroll limitado.
  • 26. • Seu uso é feito dentro das tags <head> e </head>. <link rel="stylesheet” href="estilo.css” media="screen and (color)" /> • Ou in-line: @media print { /* estilos */ } 26 # Usabilidade / Acessibilidade *Media Queries
  • 27. • Parametros do Media Queries:  Width - Largura do viewport (janela do browser).  Height - Altura do viewport (janela do browser).  Device - width - Largura da mídia.  Device - height - Altura da mídia.  Orientation – Orientação da Mídia.  aspect-ratio – Proporção.  device-aspect-ratio - Proporção da tela do dispositivo.  Color - Número de bits por cor.  color-index - Número de entradas na tabela de pesquisa de cores.  Monochrome - Número de bits por pixel em um buffer de quadros monocromáticos.  Resolution - Resolução do dispositivo.  Scan - Tipo de formação de imagens especifico para televisores.  Grid - Determina se o dispositivo é baseado em bitmap ou em um grid. 27 # Usabilidade / Acessibilidade *Media Queries
  • 28. • Operadores Lógicos:  Ou, And e Only.  Se utiliza o only para dizer ao navegador que o arquivo css informado só será carregado em navegadores que suportam media queries. 28 # Usabilidade / Acessibilidade *Media Queries
  • 29. • Principais resoluções utilizadas: • ​320 pixels - Smartphones no modo retrato. • 480 pixels - Smartphones no modo paisagem. • 600 pixels - Tablets pequenos. Ex: Amazon Kindle (600×800) • ​768 pixels - Tablets maiores em modo retrato. Ex: iPad (768×1024) • 1024 pixels - Tablets maiores em modo paisagem, monitores antigos. • ​1200 pixels - Monitores wide. 29 # Usabilidade / Acessibilidade *Media Queries
  • 30. Exemplos: Um iPhone em modo retrato, por exemplo, possui 320px de width. Se você desenvolver um CSS para o smartphone da Apple basta utilizar o seguinte Media Querie: /* Smartphone em modo retrato */ @media only screen and (max-width : 320px) { /* estilos */ } 30 # Usabilidade / Acessibilidade *Media Queries
  • 31. Exemplos: Ipad, independete da orientação: /* iPads (restrato e paisagem) */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) { /* estilos */ } 31 # Usabilidade / Acessibilidade *Media Queries
  • 32. 32 # Mas afinal, funciona em todos os browsers?
  • 33. 33
  • 34. 34 Calma, para tudo tem-se um jeito...
  • 36. Testando seu site em dispositiovos mobile: GoMo Disponível em: http://www.howtogomo.com 36 # Usabilidade / Acessibilidade *Media Queries
  • 37. 37
  • 38. 38
  • 39. # Principais novidades • Gradiente em textos e elementos; • Bordas arredondadas; • Sombras em texto e elementos; • Manipulação de opacidade; • Controle de rotação; • Controle de perspectiva; • Animação; • Estruturação independente da posição no código HTML; 39
  • 41. # Gradientes div { width:200px; height:200px; background-color: #FFF; /* imagem caso o browser não aceite a feature */ background-image: url(images/gradiente.png); /* Firefox 3.6+ */ background-image: -moz-linear-gradient(green, red); /* Safari 5.1+, Chrome 10+ */ background-image: -webkit-linear-gradient(green, red); /* Opera 11.10+ */ background-image: -o-linear-gradient(green, red); } 41
  • 43. # Transições Transition: a { color: white; background: gray; -webkit-transition: 0.5s; } a:hover { color: black; background: red; -webkit-transition: 0.5s; } 43 Proporciona uma transição mais suave durante a mudança de um estado para outro.
  • 44. # Bordas Bordas Arredondadas: div { height: 50px; width: 100px; background: black; border: 5px solid yellow; border-radius: 20px; } 44
  • 45. # Sombras Caixas: div { height: 50px; width: 100px; background: black; border: 5px solid yellow; border-radius: 20px; box-shadow: 0px 0px 10px #000; } 45
  • 46. # Sombras Texto: p { font-size: 50px; color: #fff; font-family: arial, sans-serif; Text-shadow: 0px 0px 10px #000; } 46
  • 47. 47
  • 48. # Validando Formulários • Em HTML5 existem atributos que validam o formulário no momento em que o usuário submeter os dados, como o min, max, pattern, step, required, type e maxlenhgt. • Compatível apenas com navegadores novos. 48
  • 49. # Required • Mostra que o campo é de preenchimento obrigatório. • Ex.: <form> <input type="text" required value="" /> <input type="submit" value="Submit" /> </form> 49
  • 51. # Pattern • Determinamos o padrão de preenchimento do campo por meio de uma expressão regular. • Ex.: <input pattern="[0-9]{3}[A-Z]{3}" /> 51
  • 52. # Min e Max • Determinamos os valores mínimos e máximos para os campos. • Ex.: <input type="number" max="10" /> 52
  • 53. # Min e Max • Determinamos os valores mínimos e máximos para os campos. • Ex.: <input type="number" max="10" /> <input type="number" max="9" min="1”/> <input type="date" min="1979-12-31" /> 53
  • 54. # Step • Determina um intervalo de números e uma determinada sequência. • Ex.: <input type=number min="0" max="10“ step="0.5"> 54
  • 55. # Personalizando a mensagem de erro. • Para isso se utiliza o atributo title. • Ex.: <input type=number min="1" max="10" title="Preencha o campo corretamente!”/> *Não substitui a mensagem padrão, aparece junto com ela. 55
  • 56. # As pseudo-classes :valid e :invalid • Estilizam o formulário que foi preenchido de forma válida (:valid) e os que estão preenchidos de forma errada (:invalid). • Ex.: input:invalid { border: 1px solid red; } 56
  • 57. # Referências  MAUJOR. Layout CSS passo a passo. Disponível em <http://www.maujor.com/tutorial/layout-css-passo-a- passo.php> Acesso em março de 2013.  SCHIRM, Lucas. Como utilizar um CSS diferente para cada navegador. Disponível em <http://www.ogenial.com.br/blog/css-diferentes-navegador/> Acesso em março de 2013.  GUERRATO, Dani . Design Responsivo III – Media Queries e Compatibilidade. Disponível em <http://blog.popupdesign.com.br/design-responsivo-iii-media-queries-e-compatibilidade/> Acesso em março de 2013.  W3C. CSS. Curso W3C Escritório Brasil.  ALTERMANN, Dennis. Design Responsivo: Entenda o que é a técnica e como ela funciona. Disponível em < http://midiatismo.com.br/o-mobile/design-responsivo-entenda-o-que-e-a-tecnica-e-como-ela-funciona > Acesso em março de 2013.  ALBAN, Afonso. Ampliando a usabilidade de interfaces web para idosos em dispositivos móveis: uma proposta utilizando design responsivo. Passo Fundo: CINTED-UFRGS, 2012.  EIS, Diego. Introdução sobre Media Queries. Disponível em < tableless.com.br/introducao-sobre-media- queries/#.UUyTgxykqwA > Acesso em março de 2013.  W3C. Técnicas CSS para acessibilidade a conteúdo web - Diretrizes 1.0. Disponível em < http://www.w3.org/TR/2000/NOTE-WCAG10-CSS-TECHS-20001106/ > Acesso em março de 2013. 57
  • 58. # Obrigado pela Atenção. 58