SlideShare una empresa de Scribd logo
1 de 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.
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 <head>
    2
    3 <metaname="viewport"content="width=device-width"/>
    4
        <title>Estrutura Foundation </title>
    5
    6 <!-- IncluindoArquivos CSS -->
    7 <link rel="stylesheet"href="stylesheets/foundation.css">
    8 <link rel="stylesheet"href="stylesheets/app.css">
9
    10< !-- Mordernizr personalizado para a fundação. -->
    11
    12<script src="javascript/modernizr.foundation.js"></script>
    13
       </head>
    14
    15<body>
    16 Conteúdo.
    17 Conteúdo.
    18
    19<!—Incluindo arquivos javascript -->
    20
    21 <script src="javascript/jquery.js"></script>
         <script src="javascript/foundation.min.js"></script>
    22
    23
    24 <!—Inicializando os plug-ins javascript -->
    25 <script src="javascript/app.js"></script>
    26</body>
    27
    28
    29

    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 <head>
    2 <meta charset="utf-8"/>
    3
    4 <!—Definindo resolução dos dispositivos moveis -->
        <meta name="viewport"content="width=device-width"/>
    5
    6 <title>Exemplo de Grade Foundation.</title>
    7
    8 <!-- IncluindoArquivos CSS -->
    9 <link rel="stylesheet"href="stylesheets/foundation.css">
    10 <link rel="stylesheet"href="stylesheets/app.css">
11
12 <script src="javascripts/modernizr.foundation.js"></script>
13</head>
   <body>
14
15 <div class="row">
16     <div class="eight columns">
17        <h3>A GRADE</h3>
18
19        <!—Exemplo de grade-->
          <divclass="row"><!—Linha -->
20          <divclass="twelvecolumns">< !-- Definindo número de colunas -->
21            <div class="panel">< !— Painel -->
22         <p>Doze colunas</p>< !-- Conteudo dentro dopainel -->
23            </div><! – Fim painel -->
24          </div><!—Fim colunas -->
          </div><! – Fim Linha -->
25
26        <div class="row">
27          <div class="six columns">
28            <div class="panel">
29               <p>Seiscolunas</p>
              </div>
30          </div>
31          <div class="six columns">
32            <div class="panel">
33               <p>Seiscolunas</p>
34            </div>
            </div>
35        </div>
36        <div class="row">
37          <div class="four columns">
38            <div class="panel">
39               <p>Quatro colunas</p>
              </div>
40          </div>
41        <div class="row">
42          <div class="four columns">
43            <div class="panel">
                 <p>Quatrocolunas</p>
44            </div>
45          </div>
46        </div>
47</body>
48</html>
49
50
51
52
53
54
55
56
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
   <html>
3 <head>
4
5 <meta name="viewport"content="width=device-width"/>
6
7 <title>Welcome to Foundation</title>
8
9 <!-- IncluindoArquivos CSS -->
10 <link rel="stylesheet"href="stylesheets/foundation.css">
     <link rel="stylesheet"href="stylesheets/app.css">
11
12 <script src="javascripts/modernizr.foundation.js"></script>
13</head>
14<body>
15     <!—Tipografia texto básico -->
                <h1>h1 header</h1>
16        <h2>h2 header</h2>
17        <h3>h3 header</h3>
18        <h4>h4 header</h4>
19        <h5>h5 header</h5>
20        <h6>h6 header</h6>
   </body>
21</html>
22
23
Figura 3: Tipografia básica


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


Listagem 4: Exemplo tipografia usando tagsmall


1
2
   <html>
3 <head>
4
5 <meta name="viewport"content="width=device-width"/>
6
7 <title>Welcome to Foundation</title>
8
9 <!-- IncluindoArquivos CSS -->
10 <link rel="stylesheet"href="stylesheets/foundation.css">
     <link rel="stylesheet"href="stylesheets/app.css">
11
12 <script src="javascripts/modernizr.foundation.js"></script>
13</head>
14<body>
15     <!—Tipografia texto menores usando <small> -->
   <h1>h1 exemplo <small> texto utilizando small.</small></h1>
16     <h2>h2 exemplo <small> texto utilizando small.</small></h2>
17     <h3>h3 exemplo <small> texto utilizando small.</small></h3>
18     <h4>h4 exemplo <small> texto utilizando small. </small></h4>
19     <h5>h5 exemplo <small> texto utilizando small. </small></h5>
20     <h6>h6 exemplo <small> texto utilizando small. </small></h6>
   </body>
21</html>
22
23
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
   <html>
3 <head>
4
5 <meta name="viewport"content="width=device-width"/>
6
7 <title>Welcome to Foundation</title>
8
9 <!-- IncluindoArquivos CSS -->
     <link rel="stylesheet"href="stylesheets/foundation.css">
10 <link rel="stylesheet"href="stylesheets/app.css">
11
12 <script src="javascripts/modernizr.foundation.js"></script>
13</head>
14<body>
15         <h1 class="subheader">h1.Texto classesubheader</h1>
           <h2 class="subheader">h2.Texto classesubheader</h2>
16         <h3 class="subheader">h3.Texto classesubheader</h3>
17         <h4 class="subheader">h4.Texto classe subheader</h4>
18         <h5 class="subheader">h5.Texto classe subheader</h5>
19         <h6 class="subheader">h6.Texto classe subheader</h6>
   </body>
20</html>
21
22
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 <head>
    2
    3 <meta name="viewport"content="width=device-width"/>
    4
         <title>Welcome to Foundation</title>
    5
    6 <!-- IncluindoArquivos CSS -->
    7 <link rel="stylesheet"href="stylesheets/foundation.css">
    8 <link rel="stylesheet"href="stylesheets/app.css">
    9
    10 <script src="javascripts/modernizr.foundation.js"></script>
    11</head>
       <body>
    12     < !-- Botões tamanhos diferente -->
    13     <a class="tiny button"href="#">Tiny</a><br>
    14     <a class="small button"href="#">Small</a><br>
15    <a class="button"href="#">Medium</a><br>
16    <a class="large button"href="#">Large</a><br>
17
    <script src="javascripts/jquery.js"></script>
18 <script src="javascripts/foundation.min.js"></script>
19 <script src="javascripts/app.js"></script>
20
21</body>
22</html>
23
24
25




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 <head>
2
   <head>
3
4 <meta name="viewport"content="width=device-width"/>
5
6 <title>Welcome to Foundation</title>
7
8 <!-- IncluindoArquivos CSS -->
9 <link rel="stylesheet"href="stylesheets/foundation.css">
10 <link rel="stylesheet"href="stylesheets/app.css">
11
     <script src="javascripts/modernizr.foundation.js"></script>
12</head>
13<body>
14<div href="#"class="large button dropdown">
15 Itens
16 <ul><li><a href="#">Item 1</a></li>
17     <li><a href="#">Item 2</a></li>
18     <li class="divider"></li>
19     <li><a href="#">Item 3</a></li>
20   </ul>
   </div>
21 <script src="javascripts/jquery.js"></script>
22 <script src="javascripts/foundation.min.js"></script>
23 <script src="javascripts/app.js"></script>
24</body>
   </html>
25




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

Más contenido relacionado

La actualidad más candente

Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
Léo Dias
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
Caio Lima
 
Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
Fábio Paixão
 
Apostila access 2010_basico
Apostila access 2010_basicoApostila access 2010_basico
Apostila access 2010_basico
albsimone
 

La actualidad más candente (18)

Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
Como desenvolver uma aplicação Web com django 2.2.13 (Parte 2 de 2)
Como desenvolver uma aplicação Web com django 2.2.13 (Parte 2 de 2)Como desenvolver uma aplicação Web com django 2.2.13 (Parte 2 de 2)
Como desenvolver uma aplicação Web com django 2.2.13 (Parte 2 de 2)
 
html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujo
 
Construindo temas para Plone com Diazo
Construindo temas para Plone com DiazoConstruindo temas para Plone com Diazo
Construindo temas para Plone com Diazo
 
Aula30 trevisan
Aula30 trevisanAula30 trevisan
Aula30 trevisan
 
Criando Temas com Diazo
Criando Temas com DiazoCriando Temas com Diazo
Criando Temas com Diazo
 
Css e iFrames
Css e iFramesCss e iFrames
Css e iFrames
 
Apoio1020 apostila html
Apoio1020 apostila htmlApoio1020 apostila html
Apoio1020 apostila html
 
Asp.net
Asp.netAsp.net
Asp.net
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 
Manual curso php
Manual curso phpManual curso php
Manual curso php
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
 
Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
 
Powerpoint basico 2016
Powerpoint basico 2016Powerpoint basico 2016
Powerpoint basico 2016
 
Manual WordPress 2.7
Manual WordPress 2.7Manual WordPress 2.7
Manual WordPress 2.7
 
Apostila ADO.NET
Apostila ADO.NETApostila ADO.NET
Apostila ADO.NET
 
WordPress 2.9: Manual do Editor
WordPress 2.9: Manual do EditorWordPress 2.9: Manual do Editor
WordPress 2.9: Manual do Editor
 
Apostila access 2010_basico
Apostila access 2010_basicoApostila access 2010_basico
Apostila access 2010_basico
 

Similar a Devmedia - Conhecendo o framework front-end Foundation

Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
Vladimir Alves
 

Similar a Devmedia - Conhecendo o framework front-end Foundation (20)

Foundation 4 Framework CSS
Foundation 4 Framework CSSFoundation 4 Framework CSS
Foundation 4 Framework CSS
 
Django Módulo Básico Parte II
Django Módulo Básico Parte IIDjango Módulo Básico Parte II
Django Módulo Básico Parte II
 
Agilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASSAgilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASS
 
Como desenvolver um tema wordpress de A a Z
Como desenvolver um tema wordpress de A a ZComo desenvolver um tema wordpress de A a Z
Como desenvolver um tema wordpress de A a Z
 
Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniter
 
Crud
CrudCrud
Crud
 
Boas Práticas de programação WordPress
Boas Práticas de programação WordPressBoas Práticas de programação WordPress
Boas Práticas de programação WordPress
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
ODI Series - Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo TextoODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series - Exportar Tabelas para Arquivo Texto
 
Word camp sp 2017 willian marques
Word camp sp 2017   willian marquesWord camp sp 2017   willian marques
Word camp sp 2017 willian marques
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Infraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift AnsibleInfraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift Ansible
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funções
 
Introducao cms-wordpress
Introducao cms-wordpressIntroducao cms-wordpress
Introducao cms-wordpress
 
Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Construindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressConstruindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPress
 
Desenvolver um tema para Moodle 2.7 - 9º Moodle Moot Brasil
Desenvolver um tema para Moodle 2.7 - 9º Moodle Moot BrasilDesenvolver um tema para Moodle 2.7 - 9º Moodle Moot Brasil
Desenvolver um tema para Moodle 2.7 - 9º Moodle Moot Brasil
 
Facilitando sua vida com SASS
Facilitando sua vida com SASSFacilitando sua vida com SASS
Facilitando sua vida com SASS
 

Más de Devmedia

Más de Devmedia (10)

Html básico
Html básicoHtml básico
Html básico
 
Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Introdução ao IBM Data Studio
Introdução ao IBM Data StudioIntrodução ao IBM Data Studio
Introdução ao IBM Data Studio
 
Windows Phone: Verificando a conexão com a internet
Windows Phone: Verificando a conexão com a internetWindows Phone: Verificando a conexão com a internet
Windows Phone: Verificando a conexão com a internet
 
Verificando a conexão com a internet no Windows Phone
Verificando a conexão com a internet no Windows PhoneVerificando a conexão com a internet no Windows Phone
Verificando a conexão com a internet no Windows Phone
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
 
Customizando validator em grails
Customizando validator em grailsCustomizando validator em grails
Customizando validator em grails
 
Criando e alterando login - permissões no SQL Server 2008 R2
Criando e alterando login - permissões no SQL Server 2008 R2Criando e alterando login - permissões no SQL Server 2008 R2
Criando e alterando login - permissões no SQL Server 2008 R2
 

Último

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Último (20)

LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 

Devmedia - Conhecendo o framework front-end Foundation

  • 1. 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.
  • 2. 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 <head> 2 3 <metaname="viewport"content="width=device-width"/> 4 <title>Estrutura Foundation </title> 5 6 <!-- IncluindoArquivos CSS --> 7 <link rel="stylesheet"href="stylesheets/foundation.css"> 8 <link rel="stylesheet"href="stylesheets/app.css">
  • 3. 9 10< !-- Mordernizr personalizado para a fundação. --> 11 12<script src="javascript/modernizr.foundation.js"></script> 13 </head> 14 15<body> 16 Conteúdo. 17 Conteúdo. 18 19<!—Incluindo arquivos javascript --> 20 21 <script src="javascript/jquery.js"></script> <script src="javascript/foundation.min.js"></script> 22 23 24 <!—Inicializando os plug-ins javascript --> 25 <script src="javascript/app.js"></script> 26</body> 27 28 29 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 <head> 2 <meta charset="utf-8"/> 3 4 <!—Definindo resolução dos dispositivos moveis --> <meta name="viewport"content="width=device-width"/> 5 6 <title>Exemplo de Grade Foundation.</title> 7 8 <!-- IncluindoArquivos CSS --> 9 <link rel="stylesheet"href="stylesheets/foundation.css"> 10 <link rel="stylesheet"href="stylesheets/app.css">
  • 4. 11 12 <script src="javascripts/modernizr.foundation.js"></script> 13</head> <body> 14 15 <div class="row"> 16 <div class="eight columns"> 17 <h3>A GRADE</h3> 18 19 <!—Exemplo de grade--> <divclass="row"><!—Linha --> 20 <divclass="twelvecolumns">< !-- Definindo número de colunas --> 21 <div class="panel">< !— Painel --> 22 <p>Doze colunas</p>< !-- Conteudo dentro dopainel --> 23 </div><! – Fim painel --> 24 </div><!—Fim colunas --> </div><! – Fim Linha --> 25 26 <div class="row"> 27 <div class="six columns"> 28 <div class="panel"> 29 <p>Seiscolunas</p> </div> 30 </div> 31 <div class="six columns"> 32 <div class="panel"> 33 <p>Seiscolunas</p> 34 </div> </div> 35 </div> 36 <div class="row"> 37 <div class="four columns"> 38 <div class="panel"> 39 <p>Quatro colunas</p> </div> 40 </div> 41 <div class="row"> 42 <div class="four columns"> 43 <div class="panel"> <p>Quatrocolunas</p> 44 </div> 45 </div> 46 </div> 47</body> 48</html> 49 50 51 52 53 54 55 56
  • 5. 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 <html> 3 <head> 4 5 <meta name="viewport"content="width=device-width"/> 6 7 <title>Welcome to Foundation</title> 8 9 <!-- IncluindoArquivos CSS --> 10 <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css"> 11 12 <script src="javascripts/modernizr.foundation.js"></script> 13</head> 14<body> 15 <!—Tipografia texto básico --> <h1>h1 header</h1> 16 <h2>h2 header</h2> 17 <h3>h3 header</h3> 18 <h4>h4 header</h4> 19 <h5>h5 header</h5> 20 <h6>h6 header</h6> </body> 21</html> 22 23
  • 6. Figura 3: Tipografia básica Também podemos estilizar textos menores utilizando a tag<small>. Listagem 4: Exemplo tipografia usando tagsmall 1 2 <html> 3 <head> 4 5 <meta name="viewport"content="width=device-width"/> 6 7 <title>Welcome to Foundation</title> 8 9 <!-- IncluindoArquivos CSS --> 10 <link rel="stylesheet"href="stylesheets/foundation.css"> <link rel="stylesheet"href="stylesheets/app.css"> 11 12 <script src="javascripts/modernizr.foundation.js"></script> 13</head> 14<body> 15 <!—Tipografia texto menores usando <small> --> <h1>h1 exemplo <small> texto utilizando small.</small></h1> 16 <h2>h2 exemplo <small> texto utilizando small.</small></h2> 17 <h3>h3 exemplo <small> texto utilizando small.</small></h3> 18 <h4>h4 exemplo <small> texto utilizando small. </small></h4> 19 <h5>h5 exemplo <small> texto utilizando small. </small></h5> 20 <h6>h6 exemplo <small> texto utilizando small. </small></h6> </body> 21</html> 22 23
  • 7. 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 <html> 3 <head> 4 5 <meta name="viewport"content="width=device-width"/> 6 7 <title>Welcome to Foundation</title> 8 9 <!-- IncluindoArquivos CSS --> <link rel="stylesheet"href="stylesheets/foundation.css"> 10 <link rel="stylesheet"href="stylesheets/app.css"> 11 12 <script src="javascripts/modernizr.foundation.js"></script> 13</head> 14<body> 15 <h1 class="subheader">h1.Texto classesubheader</h1> <h2 class="subheader">h2.Texto classesubheader</h2> 16 <h3 class="subheader">h3.Texto classesubheader</h3> 17 <h4 class="subheader">h4.Texto classe subheader</h4> 18 <h5 class="subheader">h5.Texto classe subheader</h5> 19 <h6 class="subheader">h6.Texto classe subheader</h6> </body> 20</html> 21 22
  • 8. 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 <head> 2 3 <meta name="viewport"content="width=device-width"/> 4 <title>Welcome to Foundation</title> 5 6 <!-- IncluindoArquivos CSS --> 7 <link rel="stylesheet"href="stylesheets/foundation.css"> 8 <link rel="stylesheet"href="stylesheets/app.css"> 9 10 <script src="javascripts/modernizr.foundation.js"></script> 11</head> <body> 12 < !-- Botões tamanhos diferente --> 13 <a class="tiny button"href="#">Tiny</a><br> 14 <a class="small button"href="#">Small</a><br>
  • 9. 15 <a class="button"href="#">Medium</a><br> 16 <a class="large button"href="#">Large</a><br> 17 <script src="javascripts/jquery.js"></script> 18 <script src="javascripts/foundation.min.js"></script> 19 <script src="javascripts/app.js"></script> 20 21</body> 22</html> 23 24 25 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 <head> 2 <head> 3 4 <meta name="viewport"content="width=device-width"/> 5 6 <title>Welcome to Foundation</title> 7 8 <!-- IncluindoArquivos CSS --> 9 <link rel="stylesheet"href="stylesheets/foundation.css"> 10 <link rel="stylesheet"href="stylesheets/app.css"> 11 <script src="javascripts/modernizr.foundation.js"></script> 12</head> 13<body> 14<div href="#"class="large button dropdown"> 15 Itens 16 <ul><li><a href="#">Item 1</a></li> 17 <li><a href="#">Item 2</a></li> 18 <li class="divider"></li> 19 <li><a href="#">Item 3</a></li> 20 </ul> </div> 21 <script src="javascripts/jquery.js"></script> 22 <script src="javascripts/foundation.min.js"></script>
  • 10. 23 <script src="javascripts/app.js"></script> 24</body> </html> 25 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