Montando sites com XHTML e CSS utilizando os padrões web

  • View
    15.604

  • Download
    3

  • Category

    Design

Preview:

DESCRIPTION

Apresentação do minicurso realizado na UFC-Quixadá de 20 a 24 de julho de 2009.

Citation preview

Programa

• 1º Dia: Um pouco de história

• 2º Dia: Mão na massa - Site do WTISC

• 3º Dia: Montando a página Programação

(Tabelas)

• 4º Dia: Montando a página Inscrições

(Formulário)

• 5º Dia: Um pouco de JavaScript e FTP

1º Dia:Um pouco de história

Como tudo começou

A Web foi criado em 1989, por Tim Berners-Lee, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Localizador Uniforme de Recursos (URL)

Linguagem de Marcação de Hipertexto (HTML)

Protocolo de Transferência de Hipertexto (HTTP)

Navegador Web (Browser)

A Bagunça

A Web cresce comercialmente,

e veem a necessidade de publicação de conteúdo diagramado,

como em revistas e jornais

(algo para o qual o HTML não possuia recursos).

Há então a adaptação da linguagem

de forma equivocada,

com uma preocupação unicamente visual, esquecendo da qualidade do código.

A Guerra dos Browsers

Aproximadamente entre 1995 e 1999 houve a chamada “Guerra dos Browsers”, onde a Netscape (e seu Browsers de mesmo nome) e a Microsoft (com o seu Internet Explorer) disputavam o mercado de navegadores.

Além de não darem suporte aos padrões do recém criado World Wide Web Consortium (W3C), ainda criavam seus próprios padrões, aumentando a bagunça.

Editores WYSIWYG

"O que você vê é o que você tem", ou em inglês "What You See Is What You Get" (WYSIWYG) são programas que lhe permitem ter a visualização final de um documento, enquanto o mesmo ainda é editado.

Editores HTML WYSIWYG como Go Live, Front Page e Dreamweaver surgiram por volta de 1996, e são conhecidos por gerar um código sujo e muito maior que o necessário.

Cursos e Profissionais desatualizados

Com tudo isso...

Cada arquivos de um site acaba sendo um incompreensível emaranhado de Tags

com tabelas, formatações, scripts...

Tudo muito maior que o necessário.

Dessa forma, para que seja feita alguma alteração no site, é necessário alterar todos os

arquivos...

um a um!

Os Padrões Web

Padrões Web ou Web Standards são um conjunto de normas, diretrizes, recomendações, notas, artigos, tutoriais e afins de caráter técnico, produzidos pelo W3C e destinados a orientar fabricantes, desenvolvedores e projetistas para o uso de práticas que possibilitem a criação de uma Web acessível a todos, independentemente dos dispositivos usados ou de suas necessidades especiais.

XHTML – HTML – CSS – DOM – XML – SVG – SOAP – ...

O que é W3C?

W3C (World Wide Web Consortium) é um consórcio de empresas de tecnologia. Fundado por Tim Berners-Lee em 1994 para levar a Web ao seu potencial máximo.

Desenvolve Recomendações abertas,

até agora mais de 80 padrões...

www.w3.org

Web Standards Project

O Web Standards Project (WaSP) é um grupo formado em 1998 com o objetivo de promover os Padrões Web, assegurando desse modo um acesso simples e com menos custos para todos.

Vem encorajando e persuadindo os fabricantes de Browsers a fornecerem suporte aos padrões, como o XHTML, CSS, ECMAScript (a versão standard do JavaScript) e o DOM.

www.webstandards.org

Mudança de Conceito...

Web dividida em três camadas:

● Conteúdo (XHTML)

● Apresentação (CSS)

● Comportamento (Javascript)

Devem ser desenvolvidas

de forma independente, porém

uma complementa a outra.

Mudança de Conceito...

Sem Padrões x Com Padrões

✗ Extensão da

Mídia Impressa

✗ Layout baseado

em Tabelas

✗ Conteúdo,

Apresentação e

Comportamento

“aninhados”

✗ Código

Incompreensível

✔ Acessível de

qualquer

dispositivo

✔ Layout baseado

em CSS

✔ Separação entre

Conteúdo,

Apresentação e

Comportamento

✔ Código Acessível

Vantagens da adoção dos Padrões• Carregamento mais rápido• Menores custos com hospedagem• Melhor Consistência Visual• Redesign mais barato e eficiênte• Melhores resultados nos Mecanismos de

Buscas• Maior acessibilidade e interoperabilidade

Tableless x Web Standards

Tableless é um termo que ficou muito popular no Brasil, e que acaba por confundir muita gente.

Tableless significa (resumidamente) um site desenvolvido sem o antiquado uso das tabelas para organizar o layout, e sim usando CSS.

Criar um site Tableless não significa que esteja seguindo os Padrões Web, que vão muito além de um código válido, e tem preocupações maiores como a Semântica e a Acessibilidade.

HTML

HTML é a abreviação para HyperText Markup Language, que pode ser traduzido como Linguagem de Marcação para Hipertexto.

Compõe a estrutura de uma página Web através de etiquetas (tags) e atributos.

HTML

O HTML sofreu várias mudanças em suas diferentes versões, com o objetivo de estender a linguagem para que pudesse acompanhar a evolução da Web e das tecnologias nela inseridas.

Versões do HTML:– HTML 2.0 (Novembro de 1995)– HTML 3.2 (Janeiro de 1997)– HTML 4.0 (Dezembro de 1997)– HTML 4.01 (Dezembro de 1999)– ISO/IEC 15445:2000 "ISO HTML" (Maio de 2000)– HTML 5 (Janeiro de 2008)

XML: eXtensible Markup Language

Criada para suprir a falta de flexibilidade do HTML.

Separação do conteúdo da formatação.

Simplicidade e Legibilidade, para humanos e computadores.

Criação de arquivos para validação de estrutura.

Interligação de bancos de dados distintos.

Concentração na estrutura da informação.

XHTML

O (X)HTML, ou eXtensible Hypertext Markup Language, é uma reformulação da linguagem de marcação HTML baseada em XML.

Pode ser interpretado por qualquer dispositivo, independentemente da plataforma utilizada, pois as marcações possuem sentido semântico para as máquinas.

Um Código Semântico

Semântica refere-se ao estudo do significado.

Quando utilizamos cada marcação para o que ela realmente foi criada, estamos construindo um “Código Semântico”.

Parar de pensar em “isso vem aqui, isso vai ali...” e pensar na “Estrutura da Informação”

Criar uma “Marcação com Significado”.

Marcação Semântica

Usar <table></table> apenas para dados tabulares

Usar <h1></h1> até <h6></h6> para títulos

Usar <ol></ol> para Listas Ordenadas e <ul></ul> para

Listas Não Ordenadas, seguidos do elemento <li></li>

Usar <em></em> para Enfase,

e <strong></strong> para Enfase Forte

Versões do XHTML

XHTML é uma linguagem que começou como uma reformulação do HTML 4.01

usando XML 1.0:– XHTML 1.0 (Janeiro de 2000)– XHTML 1.1: (Maio de 2001)– XHTML 2.0: Ainda é um projeto de trabalho do W3C. – XHTML 5.0: é uma atualização para o XHTML 1.x,

está sendo definido juntamente com o HTML5 no mesmo projeto.

DTD: Document Type Definition

Um padrão que define as partes de um documento, e descrevem como eles podem ou não ser usados, o que pode ser colocado em seus interiores, e se são ou não elementos obrigatórios do documento.

Descreve com precisão a sintaxe e a gramática da linguagem de marcação XHTML.

XHTML 1.0 - DOCTYPE:

Strict<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Transitional<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Frameset<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML – Elementos obrigatórios:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>XHTML Base</title>

</head>

<body>

<p>Conteúdo</p>

</body>

</html>

Diferenças entre XHTML e HTML• Documentos devem ser bem-formados• Todas as tags devem ser escritas com

letras minúsculas• Tags devem estar convenientemente

aninhadas• Uso de tags de fechamento é

obrigatório• Elementos vazios devem ser fechados• Diferença na sintaxe dos atributos

Diferenças entre XHTML e HTML• Documentos devem ser bem-formados

A estrutura básica do documento deve ser conforme mostrado a seguir:

<html>

<head>

...

</head>

<body>

...

</body>

</html>

Diferenças entre XHTML e HTML• Todas as tags devem ser escritas com

letras minúsculas

Errado:

<DIV><P>Aqui um texto!</P></DIV>

Correto:

<div><p>Aqui um texto!</p></div>

Diferenças entre XHTML e HTML• Tags devem estar convenientemente

aninhadas

Errado:

<div><p>Aqui um <em>texto!</p></em></div>

Correto:

<div><p>Aqui um <em>texto! </em></p></div>

Diferenças entre XHTML e HTML• Uso de tags de fechamento é

obrigatório

Errado:

<p>Um parágrafo.

Correto:

<p>Um parágrafo.</p>

Diferenças entre XHTML e HTML• Elementos vazios devem ser fechados

Errado:

<br>

<img src=“imagem.gif” alt=“uma imagem”>

Correto:

<br />

<img src=“imagem.gif” alt=“uma imagem” />

Diferenças entre XHTML e HTML• Diferença na sintaxe dos atributos

Errado:

<td ROWSPAN=3>

<input checked>

Correto:

<td rowspan=“3”>

<input checked=“checked”>

XHTML: Recomendações

Aplicamos “Itálico” em um texto para dar ênfase...

Ao invés da marcação <i></i>,

use <em></em>, ou então <cite></cite>se for uma citação (de um livro, por exemplo)

Para uma ênfase forte,

ao invés de <b></b>,

use a marcação <strong></strong>

XHTML: Recomendações

Um menu nada mais é

do que uma lista de opções...

Então, use as marcações de

Lista não-ordenada

CSS: Cascading Style Sheets Cascading Style Sheets (ou simplesmente CSS)

é uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML.

Seu principal benefício é prover aseparação entre o formato e o conteúdo de um documento.

Pode-se definir apresentações especificas para diferentes dispositivos (Tvs, Celulares e PDAs, Impressoras, etc) apenas criando

folhas de estilo alternativas.

CSS: Cascading Style Sheets• CSS 1.0 … CSS level 1

– Em setembro de 1994 surgiu a primeira proposta– Em dezembro de 1996 lançada como Recomendação

oficial do W3C• CSS 2.0 … CSS level 2

– Publicada em maio de 1998– Ultima revisão: 12 de maio de 2008

• CSS 2.1 … CSS level 2 revision 1– Candidata a Recomendação oficial do W3C em 23 de

abril de 2009• CSS 3.0 … CSS level 3

– Proposta em 2001

Associar CSSs a documentos HTML• Inline

Através do atributo style diretamente dentro de uma marcação

• Interno

Através da tag style entre as marcações <head></head> do documento HTML

• Externo

Criar um link (ligação) para uma página que contém os estilos.<link href="estilo.css" rel="stylesheet" type="text/css" />

CSS: Cascading Style Sheets

CSS: Seletor classe

• Uma classe define a variação de um estilo.• É referenciado através de uma ocorrência

específica de um elemento utilizando o atributo class.

• Serve para definir vários estilos diferentes para o mesmo elemento.

• Defenido pelo .

Exemplo:

- no CSS: h4.diferente {color:red;}

- no XHTML: <h4 class=“diferente”>Titulo</h4>

CSS: Seletor id

• Semelhante ao Seletor classe.• A diferença é que utiliza o atributo id, que serve

para identificar exclusivamente um determinado elemento no documento.

• Defenido pelo #

Exemplo:

- no CSS: #header {width:900px;}

- no XHTML: <div id=“header”>…</div>

CSS: Comentários

Assim como em qualquer linguagem de programação, em CSS é possível adicionar comentários para melhor documentar o código.

Exemplo:

/* Comentário */

display: Define como um elemento é exibido.

Ex: display: none;

float: Faz o elemento flutuar à esquerda ou à direita do restante do conteúdo.

Ex: float: left;

CSS: Propriedades

margin-top, margin-right, margin-bottom e margin-left: Define a margem superior, direita, inferior e esquerda de um elemento.Ex: margin-top: 10px;padding-top, padding-right, padding-bottom e padding-left: Define a área superior, direita, inferior e esquerda de espaçamento de um elemento.Ex: padding-right: 5px;

CSS: Propriedades

font-family: Relação de nomes específicos de famílias de fontes ou de seus nomes genéricos.Ex: font-family: Arial, Helvetica, sans-serif;font-size: Define o tamanho de uma fonte.Ex: font-size: 11px;font-weight: Define o peso de uma fonte.Ex: font-weight: bold;color: Define a cor do texto.Ex: color: red;

CSS: Propriedades

text-align: Alinha o texto em um elemento.

Ex: text-align: center;

text-decoration: Acrescenta decoração de texto.

Ex: text-decoration: underline;

CSS: Propriedades

background-color: Define a cor de fundo de um elemento.Ex: background-color: blue;background-image: Define uma imagem como plano de fundo.Ex: background-image: url(images/bg.jpg);background-repeat: Define como uma imagem de fundo será repetida.Ex: background-repeat: no-repeat;

CSS: Propriedades

border-width: Define a largura da borda de um elemento.

Ex: border-width: 3px;

border-style: Define o estilo da borda.

Ex: border-style: dotted;

border-color: Define a cor da borda.

Ex: border-color: #000000;

CSS: Propriedades

CSS e o Designer

CSS é a linguagem do designer.

Designer de web precisa saber CSS.

Design não é nada sem controle.

O CSS, dá o controle.

Diego Eis - tableless.com.br

O Poder do CSS

O CSS Zen Garden tem como alvo entusiasmar, inspirar e encorajar a separação do Conteúdo

(HTML) da Apresentação (CSS)

Mostrar as enormes possibilidades de se obter belos Layouts através do CSS

Como exemplo, podemos Acessar os links e visualizar diversos Layouts diferentes. O código HTML permanece o mesmo, a única coisa que

muda é o arquivo CSS externo.

www.csszengarden.com

Validadores

• Validador de HTML, XHTML, XML e

http://validator.w3.org • Validador de Folhas de Estilo CSS

http://jigsaw.w3.org/css-validator

Fixe bem...

“XHTML para estruturar

e

CSS para apresentar (formatação).”

Agradecimentos

Grande parte dos slides utilizados aqui foram retirados da apresentação “Web Standards” de Eduardo Santos que prontamente me foram cedidos para ajudar na disseminação dos Padrões Web.

Todos os créditos a ele.

Referências

Silva, Maurício Samy – Construindo sites com CSS e (X)HTML. -- São Paulo: Novatec, 2008.

www.w3.org

www.w3schools.com

www.maujor.com

www.tableless.com.br

www.cssnolanche.com.br

Dúvidas?

2º Dia:Mão na massa – Site do WTISC

Mão na massa - Site do WTISCPassos:• XHTML Padrão• CSS Padrão• Página Programação

– Trabalhando com tabelas• Página Inscrições

– Trabalhando com formulários

Mão na massa - Site do WTISCVamos aos trabalhos... Inicie o Editor.

OBS: O site foi todo montado durante o minicurso.

Link para o material final:

www.igorpimentel.com/minicursos/xhtmlcss.zip

Obrigado! ;)

Recommended