2 HTML
2 HTML
2023/1 http://www.facom.ufu.br/~rafaelaraujo
Frontend
2
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Frontend
3
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
4
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Histórico
• 1989: Idealização da Web por Tim Berners-Lee
• 1991: Tim publica o primeiro website (documento HTML)
• 1993: HTML 1.0
• ...
• 1997: HTML 4.0 (HTML 4.01 em 1999)
• 2000: XHTML 1.0 (eXtensible Hypertext Markup Language - reformulação da HTML com
base na XML)
• 2004: Criação do WHATWG (Web Hypertext Application Technology Working Group)
• 2008: HTML5 (WHATWG)
• 2014: HTML5 (recomendação W3C)
• 2019: W3C e WHATWG assinam acordo
• WHATWG se torna o principal responsável pelo desenvolvimento dos padrões HTML e DOM
• https://html.spec.whatwg.org/print.pdf
5
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
7
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elementos
• Estrutura geral
<nomeDoElemento>Conteúdo</nomeDoElemento>
Tag de abertura Tag de fechamento
8
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elementos
• Estrutura geral de um documento HTML
Não é uma tag HTML,
mas uma instrução
<!DOCTYPE html> especial para indicar
<html> ao navegador qual é a
versão do HTML a ser
<head> utilizada.
<title></title>
</head>
elemento
obrigatório <body>
<p></p>
</body>
</html>
9
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elementos
• Estrutura geral de um documento HTML
<!DOCTYPE html>
<html>
<body>
Contém o corpo de um documento HTML, que é exibido pelo
<p></p>
navegador em sua janela, ou seja, o conteúdo do site.
</body>
</html>
10
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
• O DOM (Document Object Model)
representa os objetos de uma página
Hierarquia de elementos HTML em forma de uma árvore. É a partir
dele que conseguimos acessar os
elementos dentro da página HTML.
html
<!DOCTYPE html>
<html>
<head>
<title>Minha página</title> head body
</head>
<body>
<h1>Primeira página</h1> title h1 p
<p>Olá, mundo!</p>
</body>
11
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elementos básicos
Elementos básicos
13
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Resultado no navegador
14
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
permite
caracteres Resultado no navegador
especiais e
acentuação
15
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML HTML5: chamar a atenção
sem adicionar forte
importância
Elementos de formatação <strong> é usado para indicar
um maior destaque
16
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Atributos
Atributos globais
• id
• Cria um nome de identificação único para o elemento
• Não pode conter espaços
• Deve ser único na página
• title
• Adiciona informação extra ao elemento
• A informação é exibida ao passar o ponteiro do mouse sobre o
elemento
• lang
• Especifica a linguagem/país do conteúdo do elemento
18
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Atributos globais
• class
• Permite referenciar uma classe CSS (veremos esse conceito
nas próximas aulas)
• style
• Permite inserir código CSS embutido diretamente no
elemento
19
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Algumas observações
20
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
21
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Imagens
Caminho da imagem
(interno ou externo) Descrição da imagem
22
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
23
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Hiperlinks
Endereço de destino
24
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Hiperlinks relativos
25
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
<a href="http://www.google.com">
<img src="google.png" alt=“Logomarca da Google">
</a>
26
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
...
<a href="#secao3">(ver Seção 3)</a>
...
<h1 id="secao3">Seção 3</h1>
27
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Atividade 1 (individual)
• Faça uma página para exibir informações básicas do seu currículo.
• A página principal (index.html) deve conter:
• Foto, nome, principais competências, formação acadêmica e experiência
profissional, contato
• Um menu superior com hiperlinks para cada uma das seções
• Utilize ícones (como imagens) gratuitos de https://br.freepik.com/
• Utilize hiperlinks na seção de formação acadêmica e experiência
profissional para apontar para o site das instituições/empresas
• Na seção de contato, utilize dados fictícios
30
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
• Elementos de bloco
• Começam e terminam com uma quebra de linha
• Ocupam, por padrão, toda a largura disponível
• Exemplos: <p>, <h1>, <table>, <ol>, <ul>, <li>, <div>
• Elementos de linha
• Não começam com quebra de linha
• Ocupam somente a largura necessária para sua exibição
• Exemplos: <img>, <a>, <span>, <b>, <em>
31
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
<h1>, <h2> e <p> são exemplos de elementos de bloco. Observe que ele ocupam toda a largura disponível e
começam com quebra de linha. Por outro lado, <a> e <img> são exemplos de elementos de linha. Portanto, podem
ser exibidos um na frente do outro e ocupam apenas o espaço necessário para apresentação de seu conteúdo.
32
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
33
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
<div>
<span>
34
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Conteúdo embutido
• O elemento <iframe> permite embutir o conteúdo de outra página HTML
dentro da página atual
• O conteúdo embutido pode ser, por exemplo, outra página do próprio
website, um vídeo do YouTube ou um mapa do Google Maps
• Atributos comuns no <iframe>
• src indica o endereço da página a ser embutida
• width e height largura e altura do 'quadro' de exibição da página embutida
• allow política de permissões relacionada ao conteúdo de terceiros
Embutido (ativar ou desativar recursos)
• allowfullscreen indica se o quadro poderá ser exibido em tela cheia
35
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Código HTML
Visualização
36
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Da mesma forma, há o elemento
<audio> para embutir
Conteúdo embutido - vídeo conteúdo de som em um
documento HTML ou XHTML.
37
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Tabelas
<table> Define uma tabela
<tr> Define uma nova linha na tabela (table row)
<td> Define uma célula padrão dentro de uma linha (table data)
<thead>
Definem seções de cabeçalho, corpo e rodapé na tabela,
<tbody>
respectivamente
<tfoot>
Define uma célula de cabeçalho dentro de uma linha (table
head)
<th> Por padrão o navegador exibe o conteúdo em negrito e
centralizado. Comumente utilizando dentro de <thread>
e <tfoot>.
38
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Tabelas
Código HTML
Visualização
39
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
40
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
41
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
<article>
• conteúdo que não precisa de outro para fazer sentido em um documento HTML
• é recomendado identificar cada <article> com um título
42
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Visualização
43
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
44
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
45
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Formulários
<form> Agrupa os campos de um formulário
<input> Define um elemento de entrada de dados
<label> Representa uma legenda para um item
<textarea> Define um input multilinha
<button> Define um botão clicável
<select> Cria uma lista drop-down
<fieldset> Agrupa elementos
46
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Formulários
47
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elemento <input>
• Usado para criar controles interativos para formulários
baseados na web para receber dados do usuário
• A semântica de um <input> varia consideravelmente
dependendo do valor de seu atributo type
• checkbox
• Uma caixa de marcação (permite a seleção de múltiplos itens). Use o atributo value
para definir o valor “interno” do item. O atributo checked pré-seleciona o item.
• radio
• Um botão de escolha (permite a seleção de uma única opção). Use o atributo value
para definir o valor “interno” do item. O atributo checked pré-seleciona o item.
Campos do mesmo grupo devem compartilhar o mesmo valor do atributo name.
49
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Referencia um campo do
formulário através do
atributo id.
51
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
52
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elemento <select>
• Permite seleção de um ou vários itens de uma lista suspensa
• Cada opção é inserida com o elemento <option>
• O conteúdo dentro de <option> é apresentado, mas o atributo value que é
conteúdo de fato do campo
• Se necessário, utilize um <label> para referenciar o campo
53
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elemento <select>
• O atributo selected dentro de <option> pré-seleciona a opção
• O atributo multiple possibilita a seleção de vários itens
54
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
Elemento <textarea>
• Campo para textos extensos, com múltiplas linhas
• O tamanho inicial pode ser definido com os atributos rows e cols
• O atributo maxlength limita a quantidade de caracteres
55
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML
56
GSI019 - Programação para Internet
Desenvolvimento Web no lado cliente - HTML