devmedia - conhecendo o framework front-end foundation

10
Introdução Neste artigo vamos falar sobre Foundation 3, que é um framework CSS construído com Sass, um pré- processador CSS poderoso, que nos permite desenvolver muito mais rápido nossas próprias fundações e nos disponibiliza novas ferramentas para personalizar e construirmos em cima dos estilos iniciais. Com o Foundation podemos escrever e organizar os códigos CSS que podemos manter mais facilmente ao longo do tempo sem as dores de cabeça típicas, temos também plug-ins JavaScript que fazem interações úteis e mais fáceis de implementar em diferentes resoluções de tela. Com o Foundation podemos utilizar os seguintes recursos ao criarmos nossa aplicação. Elementos Grade: É construída por dois elementos fundamentais colunas e linhas, as colunas criam a estrutura real. Para o layout funcionar corretamente temos que colocar o conteúdo dentro de uma linha e uma coluna. O que precisamos saber é que essas colunas não possuem um tamanho fixo, o tamanho pode variar de acordo com a resolução da tela ou o tamanho da janela . Detalhes: A grade é construída com os elementos “box-sizing” e “border-box”. Propriedades CSS poderosas que informam ao navegador para considerar o espaçamento e a borda como parte de um elemento e não como algo adicional, assim podemos criar uma grade extremamente simples. Espaçamentos são criados apenas com a borda nas colunas. Isso significa que as colunas possuem tamanho simples como, por exemplo, 25% ou 50%. Ao ajustarmos os preenchimentos ajustamos os espaçamentos, podemos controlar isso através das classes CSS. Tipografia: Utiliza uma escala modular. A ideia de uma escala modular é que o tamanho e espaçamento de toda a tipografia na grade é derivada de um valor inicial, um outro valor arbitrário “importante” e uma proporção particular. Botões: Os botões são os elementos mais utilizados quando se trata de interação com o usuário. O Foundation inclui uma série de botões fácil de utilizar e estilos que podemos usar ou substituir para atender às nossas necessidades. Navegação: O Foundation veio com uma série de opções de navegação para uma série de situações e o melhor tudo é que foi criado para trabalhar cross-device. Forms: O Fundation trouxe um poderoso e versátil sistema de layout para formulário. Com uma combinação entre a grade do Foundation e os estilos de formulários, podemos fazer basicamente tudo que precisarmos em termos de layout. Elementos UI: Nossas prototipagens terão mais do que apenas navegação, guias ou tipografia. Por isso o Foundation criou uma série de elementos adicionais para nos ajudar rapidamente em nossas prototipagens que, como o tudo mais nesse framework, já são prontos para utilização e fáceis de modificar ou substituir. Guias: As guias são muito versáteis tanto como organização quanto para a criação de navegação. Com o pacote Foundation as guias já estão ligadas sem necessidade de trabalhos extras. Orbit: Foi criado como um controlador deslizante de imagens simples, porém suporta elementos com conteúdos arbitrários, por exemplo, podemos ter um controle deslizante de blocos de texto. Pop-up: As janelas pop-up são uteis para a criação de prototipagem. O Foundation incluiu os pop-ups no pug- in modal jQuery para tornar o trabalho mais fácil. Algumas outras ferramentas serão vistas ao decorrer do artigo. Download Para começarmos a utilizar o Foundation em nossas aplicações, temos que antes de tudo fazer o download do seu pacote de códigos-fontes no site: http://foundation.zurb.com/download.php . Ao acessarmos o site do download citado acima teremos três opções de download.

Upload: devmedia

Post on 08-Jul-2015

1.344 views

Category:

Education


3 download

DESCRIPTION

Veja neste artigo uma breve apresentação do framework front-end Foundation 3, que nos fornece vários estilos para formatação de diversos elementos da página de forma prática e elegante, bem como permite o desenvolvimento de um layout responsivo.

TRANSCRIPT

Page 1: Devmedia - Conhecendo o framework front-end Foundation

Introdução

Neste artigo vamos falar sobre Foundation 3, que é um framework CSS construído com Sass, um pré-processador CSS poderoso, que nos permite desenvolver muito mais rápido nossas próprias fundações e nos disponibiliza novas ferramentas para personalizar e construirmos em cima dos estilos iniciais.

Com o Foundation podemos escrever e organizar os códigos CSS que podemos manter mais facilmente ao longo do tempo sem as dores de cabeça típicas, temos também plug-ins JavaScript que fazem interações úteis e mais fáceis de implementar em diferentes resoluções de tela.

Com o Foundation podemos utilizar os seguintes recursos ao criarmos nossa aplicação.

Elementos

Grade: É construída por dois elementos fundamentais colunas e linhas, as colunas criam a estrutura real. Para o layout funcionar corretamente temos que colocar o conteúdo dentro de uma linha e uma coluna. O que precisamos saber é que essas colunas não possuem um tamanho fixo, o tamanho pode variar de acordo com a resolução da tela ou o tamanho da janela .

Detalhes: A grade é construída com os elementos “box-sizing” e “border-box”. Propriedades CSS poderosas que informam ao navegador para considerar o espaçamento e a borda como parte de um elemento e não como algo adicional, assim podemos criar uma grade extremamente simples. Espaçamentos são criados apenas com a borda nas colunas. Isso significa que as colunas possuem tamanho simples como, por exemplo, 25% ou 50%. Ao ajustarmos os preenchimentos ajustamos os espaçamentos, podemos controlar isso através das classes CSS.

Tipografia: Utiliza uma escala modular. A ideia de uma escala modular é que o tamanho e espaçamento de toda a tipografia na grade é derivada de um valor inicial, um outro valor arbitrário “importante” e uma proporção particular.

Botões: Os botões são os elementos mais utilizados quando se trata de interação com o usuário. O Foundation inclui uma série de botões fácil de utilizar e estilos que podemos usar ou substituir para atender às nossas necessidades.

Navegação: O Foundation veio com uma série de opções de navegação para uma série de situações e o melhor tudo é que foi criado para trabalhar cross-device.

Forms: O Fundation trouxe um poderoso e versátil sistema de layout para formulário. Com uma combinação entre a grade do Foundation e os estilos de formulários, podemos fazer basicamente tudo que precisarmos em termos de layout.

Elementos UI: Nossas prototipagens terão mais do que apenas navegação, guias ou tipografia. Por isso o Foundation criou uma série de elementos adicionais para nos ajudar rapidamente em nossas prototipagens que, como o tudo mais nesse framework, já são prontos para utilização e fáceis de modificar ou substituir.

Guias: As guias são muito versáteis tanto como organização quanto para a criação de navegação. Com o pacote Foundation as guias já estão ligadas sem necessidade de trabalhos extras.

Orbit: Foi criado como um controlador deslizante de imagens simples, porém suporta elementos com conteúdos arbitrários, por exemplo, podemos ter um controle deslizante de blocos de texto.

Pop-up: As janelas pop-up são uteis para a criação de prototipagem. O Foundation incluiu os pop-ups no pug-in modal jQuery para tornar o trabalho mais fácil.

Algumas outras ferramentas serão vistas ao decorrer do artigo.

Download

Para começarmos a utilizar o Foundation em nossas aplicações, temos que antes de tudo fazer o download do seu pacote de códigos-fontes no site: http://foundation.zurb.com/download.php.

Ao acessarmos o site do download citado acima teremos três opções de download.

Page 2: Devmedia - Conhecendo o framework front-end Foundation

o CSS padrão: Esta versão do Foundation inclui padrões inteligentes e não requerem Sass ou qualquer outra ferramenta instalada.

o CSS Personalizado: Podemos personalizar o pacote de download do Foundation bem como definir o tamanho das colunas, cores, tamanho da fonte, e muito mais.

o Sass + Bússola: Foundation é construído usando SCSS e podemos trabalhar com ele da mesma forma.

Figura 1: Página de download Foundation

Para este artigo estaremos fazendo download do “CSS padrão”. Após completarmos o download vamos descompactar e teremos os seguintes arquivos e pastas.

o Pasta StyleSheets: Incluindo Foundation.css e Foundation.min.css, assim podemos escolher qual utilizar. Também tem incluído app.css que podemos usar para estilos personalizados.

o Pasta JavaScript: Possui diversos plug-ins do JavaScript necessários para fazer o Foundation funcionar corretamente. Nesta pasta o arquivo mais importante é app.js, que utilizaremos para inicializar os vários plug-ins que podemos querer utilizar.

o “todos os js são iniciados por padrão.”

o Pasta Imagens: Esta pagina possui todas as imagens necessárias para criação, que na verdade não são muitas. As únicas imagens incluídas por padrão são usadas para o Orbit. Caso não usemos o Orbit, estamos livres dessas imagens.

o Index.html: Uma estrutura de exemplo para o conteúdo da página, nos dando algo como modelo para usarmos como uma estrutura básica para o restante das paginas em nosso projeto.

Estrutura básica

Vamos começar a por em prática o que já sabemos sobre o Foundation até o momento, para isso vamos começar a montar nossa estrutura. A primeira coisa que devemos fazer é ligar os arquivos necessários para o funcionamento do Foundation.

Listagem 1: Estrutura de arquivos básicos do Foundation

1

2

3

4

5

6

7

8

<head>

<metaname="viewport"content="width=device-width"/> <title>Estrutura Foundation </title>

<!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css">

Page 3: Devmedia - Conhecendo o framework front-end Foundation

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

< !-- Mordernizr personalizado para a fundação. -->

<script src="javascript/modernizr.foundation.js"></script> </head>

<body> Conteúdo. Conteúdo.

<!—Incluindo arquivos javascript --> <script src="javascript/jquery.js"></script> <script src="javascript/foundation.min.js"></script>

<!—Inicializando os plug-ins javascript --> <script src="javascript/app.js"></script> </body>

Agora que já possuímos toda a estrutura básica formada, vamos entender do que essa estrutura é composta.

o Na primeira linha dentro da tag<head> incluirmos a tag meta viewport para termos certeza de que os dispositivos menores utilizarão todo o espaço de largura para a exibição do conteúdo.

o Depois incluirmos o arquivo foundation.css que serve como a base do Foundation e também o app.css, que usamos para fazer personalização na estrutura do Foundation.

o Depois ligamos o arquivo modernizr.foundation.js, usado para termos suporte a HTML5 com acesso as classes e consultas de mídias do JavaScript que nos ajudam a controlar o Foundation.

o Dentro do corpo, na parte inferior, chamamos os arquivos JavaScript jquery.js e foundation.min.js. Devemos sempre inserir o jquery.js antes de qualquer arquivo JavaScript do Foundation.

o O arquivo foundation.min.js inclui todos os plug-ins disponíveis.

o E para finalizar nossa estrutura, inserirmos o arquivo app.js, que tem a função de inicializar todos os plug-ins.

Já compreendemos nossa estrutura e os elementos que temos à nossa disposição para usarmos com ela. Vamos então partir para a prática, pondo os elementos que conhecemos em ação para vermos o resultado do que se pode ser feito com tais elementos.

Listagem 2: Exemplo de Grade Foundation

1

2

3

4

5

6

7

8

9

10

<head> <meta charset="utf-8"/>

<!—Definindo resolução dos dispositivos moveis --> <meta name="viewport"content="width=device-width"/> <title>Exemplo de Grade Foundation.</title>

<!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css">

Page 4: Devmedia - Conhecendo o framework front-end Foundation

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

<script src="javascripts/modernizr.foundation.js"></script> </head> <body>

<div class="row"> <div class="eight columns"> <h3>A GRADE</h3>

<!—Exemplo de grade--> <divclass="row"><!—Linha --> <divclass="twelvecolumns">< !-- Definindo número de colunas --> <div class="panel">< !— Painel --> <p>Doze colunas</p>< !-- Conteudo dentro dopainel --> </div><! – Fim painel --> </div><!—Fim colunas --> </div><! – Fim Linha --> <div class="row"> <div class="six columns"> <div class="panel"> <p>Seiscolunas</p> </div> </div> <div class="six columns"> <div class="panel"> <p>Seiscolunas</p> </div> </div> </div> <div class="row"> <div class="four columns"> <div class="panel"> <p>Quatro colunas</p> </div> </div> <div class="row"> <div class="four columns"> <div class="panel"> <p>Quatrocolunas</p> </div> </div> </div> </body> </html>

Page 5: Devmedia - Conhecendo o framework front-end Foundation

Figura 2: Resultado exemplo grade Foundation

Tipografia

Os estilos relacionados à tipografia no Foundation ficam por conta dos arquivos CSS inseridos inicialmente. No exemplo a seguir, por exemplo, temos títulos básicos (h1 a h6) nos quais não foi necessário inserir nenhuma formatação adicional.

Listagem 3: Exemplo tipografia básica

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<html> <head> <meta name="viewport"content="width=device-width"/>

<title>Welcome to Foundation</title> <!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css"> <script src="javascripts/modernizr.foundation.js"></script> </head> <body> <!—Tipografia texto básico --> <h1>h1 header</h1> <h2>h2 header</h2> <h3>h3 header</h3> <h4>h4 header</h4> <h5>h5 header</h5> <h6>h6 header</h6> </body> </html>

Page 6: Devmedia - Conhecendo o framework front-end Foundation

Figura 3: Tipografia básica

Também podemos estilizar textos menores utilizando a tag<small>.

Listagem 4: Exemplo tipografia usando tagsmall

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<html> <head> <meta name="viewport"content="width=device-width"/>

<title>Welcome to Foundation</title> <!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css"> <script src="javascripts/modernizr.foundation.js"></script> </head> <body> <!—Tipografia texto menores usando <small> --> <h1>h1 exemplo <small> texto utilizando small.</small></h1> <h2>h2 exemplo <small> texto utilizando small.</small></h2> <h3>h3 exemplo <small> texto utilizando small.</small></h3> <h4>h4 exemplo <small> texto utilizando small. </small></h4> <h5>h5 exemplo <small> texto utilizando small. </small></h5> <h6>h6 exemplo <small> texto utilizando small. </small></h6> </body> </html>

Page 7: Devmedia - Conhecendo o framework front-end Foundation

Figura 4: Exemplo de tipografia usando tag<small>

Existe ainda uma classe chamada subheader que podemos aplicar sobre alguns elementos para obter um efeito de texto “esmaecido”, que pode ser usado como subtítulo, por exemplo.

Listagem 5: Exemplo tipografia usando classe subheader.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<html> <head> <meta name="viewport"content="width=device-width"/>

<title>Welcome to Foundation</title> <!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css"> <script src="javascripts/modernizr.foundation.js"></script> </head> <body> <h1 class="subheader">h1.Texto classesubheader</h1> <h2 class="subheader">h2.Texto classesubheader</h2> <h3 class="subheader">h3.Texto classesubheader</h3> <h4 class="subheader">h4.Texto classe subheader</h4> <h5 class="subheader">h5.Texto classe subheader</h5> <h6 class="subheader">h6.Texto classe subheader</h6> </body> </html>

Page 8: Devmedia - Conhecendo o framework front-end Foundation

Figura 5: Exemplo de tipografia usando classe subhearder

Assim vimos três possibilidades diferentes de estarmos configurando nossos textos dentro da nossa aplicação web. As configurações de tipografia podem ser personalizadas dentro do arquivo foundation.css.

Botões

Nesse framework, existem classes CSS que nos permitem criar botões com diversos tamanhos:

o Tyni: muito pequeno;

o Small: pequeno;

o Medium: médio;

o Large: grande;

Vejamos agora o exemplo abaixo criando um botão referente a cada um desses tamanhos.

Listagem 6: Criando botões com tamanhos diferentes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<head>

<meta name="viewport"content="width=device-width"/> <title>Welcome to Foundation</title>

<!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css">

<script src="javascripts/modernizr.foundation.js"></script> </head> <body> < !-- Botões tamanhos diferente --> <a class="tiny button"href="#">Tiny</a><br> <a class="small button"href="#">Small</a><br>

Page 9: Devmedia - Conhecendo o framework front-end Foundation

15

16

17

18

19

20

21

22

23

24

25

<a class="button"href="#">Medium</a><br> <a class="large button"href="#">Large</a><br> <script src="javascripts/jquery.js"></script> <script src="javascripts/foundation.min.js"></script> <script src="javascripts/app.js"></script> </body> </html>

Figura 6: Vários tamanhos de botões

Existem ainda os botões de menu suspenso, que podemos utilizar esse quando quisermos apresentar uma lista com vários valores possíveis a serem escolhidos. Os botões suspensos utilizam a mesma classe que os outros botões, o que o diferencia é sua estrutura.

Listagem 7: exemplo de botão suspenso.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<head> <head>

<meta name="viewport"content="width=device-width"/> <title>Welcome to Foundation</title> <!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css">

<script src="javascripts/modernizr.foundation.js"></script> </head> <body> <div href="#"class="large button dropdown"> Itens <ul> <li><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li class="divider"></li> <li><a href="#">Item 3</a></li> </ul> </div> <script src="javascripts/jquery.js"></script> <script src="javascripts/foundation.min.js"></script>

Page 10: Devmedia - Conhecendo o framework front-end Foundation

23

24

25

<script src="javascripts/app.js"></script> </body> </html>

Figura 7: Botões de menu suspenso

Essas são algumas das coisas possíveis de estarmos fazendo com o Foundation, mas muitas outras ferramentas estão disponíveis.

Encerramos mais este artigo. Espero que tenha sido do agrado de todos os leitores.

Abraços e até o próximo.

Leia mais em: Conhecendo o framework front-end Foundation http://www.devmedia.com.br/conhecendo-o-

framework-front-end-foundation/27160#ixzz2KEcJN57s