HTML5 CSS3
HTML5 CSS3
LICENCIATURA EM MULTIMÉDIA
JOÃO DONGA
ESMAD/IPP
CRIAÇÃO DE WEBSITES
INTERNET
• Transmissão de informação
• https://www.submarinecablemap.com
• TCP/IP
• Roteadores
• Cliente/Servidor/Pacotes/Dados
INTERNET
• Endereço IP
• IPv4 (32 bits)
• IPv6 (128 bits)
• https://www.iplocation.net
INTERNET
• Dominio
• Hospedagem
WORLD WIDE
WEB?
• Tim Berners-Lee do CERN
desenvolveu a World Wide
Web, a linguagem HTML e o
protocol HTTP em 1992
WORLD WIDE WEB?
• A maioria das tags é aberta e fechada como mostrado acima, com o conteúdo entre as duas.
ESTRUTURA DO HTML5
• A maioria das tags é aberta e fechada como mostrado acima, com o conteúdo entre as duas.
ESTRUTURA DO HTML5
• <!doctype html>
• <html>
• <head>
• <meta charset="utf-8">
• <title>Titulo da Página</title>
• </head>
• <body>
• Corpo da Página
• </body>
• </html>
ESTRUTURA DO HTML5
• <!doctype html> Indica que se trata de um documento do tipo HTML ressaltando que se trata da
versão 5. Deve ser a primeira tag do código antes mesmo da tag <html>.
• <html> Indica que todo seu conteúdo deve ser tratado como um código HTML..
• <head> Indica o cabeçalho do documento HTML onde muito de seu conteúdo não é visível ao
usuário. Nesta parte ficam os metadados que são informações sobre a página e o conteúdo ali
publicado.
ESTRUTURA DO HTML5
• <meta charset="utf-8"> Existem mais de uma tag meta. São chamadas de metatags e são
responsáveis por passar informações de configuração. A propriedade charset informa a tabela de
caracteres. No nosso caso passamos o valor utf-8, que representa o padrão europeu já que nosso
idioma tem acentos e outros caracteres especiais de origem europeia.
• <title> Esta tag guarda o titulo do documento geralmente exibido na guia do navegador.
• <body> Tudo que está dentro desta tag faz parte do corpo do documento e será exibido na tela.
TAGS HTML
• O HTML possui algumas regras básicas sobra a organização de elementos desde as primeiras versões.
Elas fazem referências às duas categorias: elementos de linhas e de bloco. Estas regras definem onde os
elementos podem ou não estar. Se eles podem ser filhos ou pais de outros elementos e quais os seus
comportamentos. Isto é muito importante para a organização mas também influenciará a formatação no
CSS. Vamos ver algumas premissas simples:
• 1. Elementos de linha podem conter outros elementos de linha
• 2. Elementos de linha nunca podem conter elementos de bloco.
• 3. Elementos de bloco sempre podem conter elementos de linha.
• 4. Elementos de bloco podem conter elementos de bloco, dependendo da categoria que ele se encontra. Por
exemplo, um parágrafo não pode conter um DIV. Mas o contrário é possível
TAGS HTML
• Os elementos HTML são divididos em algumas categorias de acordo com suas similaridades.
• Metadata content
• Flow content
• Sectioning content
• Heading content
• Phrasing content
• Embedded content
• Interactive content
ELEMENTOS SEMÂNTICOS
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Titulo da Página</title>
</head>
<body>
<div id=“header”> Cabeçalho
<div id=“navbar”> Menu </div>
</div>
<div id=“content”> Conteúdo </div>
<div id=“sidebar”> Barra lateral </div>
<div id=“footer”> Rodapé </div>
</body>
</html>
ELEMENTOS SEMÂNTICOS
ELEMENTOS SEMÂNTICOS
<html>
<head>
<meta charset="utf-8">
<title>Titulo da Página</title>
</head>
<body>
</body>
</html>
HTML5
Tags
HTML5
Estrutura
<body>
<div>
<h1>Cabeçalho</h1>
<p>Parágrafo</p>
</div>
</body>
HTML5
Cabeçalhos
<body>
<h1>Cabeçalho 1</h1>
<h2>Cabeçalho 2</h2>
<h3>Cabeçalho 3</h3>
<h4>Cabeçalho 4</h4>
<h5>Cabeçalho 5</h5>
<h6>Cabeçalho 6</h6>
<h7>Cabeçalho 7</h7>
</body>
HTML5
Container div
<body>
<div>
<h1>Why use divs?</h1>
<p>Great for grouping elements!</p>
</div>
</body>
HTML5
Atributos id
<body>
<div id=“atributos">
<h1>Why use divs?</h1>
<p>Great for grouping elements!</p>
</div>
</body>
HTML5
Parágrafo p
<body>
<div id=“atributos">
<h1>Why use divs?</h1>
<p>Great for grouping elements!</p>
</div>
</body>
HTML5
Estilos
<em></em> itálico
<strong></strong> bold
<br> return
HTML5
Listas
<ul></ul> lista não ordenada
<ol></ol> lista ordenada
Exemplo:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
HTML5
Imagens
<img>
Exemplo:
<img src=”nome_do_ficheiro.sfx" />
Video
<video>
Exemplo:
<video src="myVideo.mp4" width="320" height="240"
controls> Video not supported </video>
CSS
Síntaxe
selector {
propriedade1:valor;
propriedade2:valor;
}
CSS
Exemplo
h1 {
color: blue;
}
CSS
Classes
Podem ser utilizadas mais que uma vez.
.nome_classe {
propriedade1:valor;
propriedade2:valor;
}
CSS
Classes
atribuição de classe em HTML5 <div class="container">
criação de classe em CSS3
.container{
width:80%;
margin:auto;
overflow:hidden;
}
CSS
ID
Só podem ser utilizadas uma vez.
#nome_classe {
propriedade1:valor;
propriedade2:valor;
}
CSS
ID
atribuição de ID em HTML5 <aside id="sidebar">
criação de ID em CSS3
#sidebar {
float:right;
width:30%;
background: #333;
color:#fff;
padding:10px;
box-sizing: border-box;
}
CSS
CSS
CSS
Cores
body {
color: red;
background:coral;
}
h1 {
color: #00ff00; }
p{
color: rgb(0,0,255); }
CSS
Pseudo Classes
li:first-child {
}
li:nth-child(2) {
}
li:nth-child(odd) {
}
CSS
Pseudo Classes
a:hover{
color:red; }
a:active{
color:green; }
a:visited{
}
CSS
Texto
h1{
font-family:Tahoma;
font-weight:800;
font-style:italic;
text-decoration:underline;
text-transform:uppercase;
letter-spacing: 0.2em;
word-spacing: 1em;
}
CSS
CSS
Webfonts
https://fonts.google.com/
Declaração em CSS
font-family: 'Xanh Mono', monospace;
Declaração em HTML5
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Xanh+Mono&display=swap"
rel="stylesheet">
BOOTSTRAP – O QUE É
Bootstrap é um framework de código aberto que simplifica o processo de
desenvolvimento web. Ele oferece uma coleção de ferramentas, estilos e componentes
pré-construídos, permitindo aos desenvolvedores criar páginas web responsivas e
estilizadas de forma rápida e eficiente. Originalmente desenvolvido pelo Twitter, o
Bootstrap se tornou um dos frameworks mais populares para o desenvolvimento front-
end.
BOOTSTRAP – ORIGEM
O Bootstrap foi criado por dois engenheiros do Twitter, Mark Otto e Jacob Thornton.
Inicialmente, era conhecido como Twitter Blueprint, mas foi renomeado para Bootstrap
quando foi disponibilizado como um projeto de código aberto em agosto de 2011. A
intenção era fornecer uma estrutura consistente e fácil de usar para os
desenvolvedores, ajudando a manter a consistência visual e de comportamento em
toda a aplicação web do Twitter.
3. Objetivos Iniciais:
• Padronização
• Agilidade no Desenvolvimento
• Reusabilidade
BOOTSTRAP – ORIGEM
Desde a sua introdução, o Bootstrap evoluiu consideravelmente. A comunidade de
desenvolvedores ao redor do mundo contribuiu para seu aprimoramento, e o framework
tornou-se independente do Twitter. A versão mais recente (até a data do meu conhecimento
em janeiro de 2022) é o Bootstrap 5, que continua a oferecer novos recursos, melhorias de
desempenho e uma abordagem mais modular.
BOOTSTRAP – CARACTERÍSTICAS
Sistema de Grade (Grid System): Facilita o design responsivo e a disposição de elementos na
página.
Componentes Pré-construídos: Incluem botões, formulários, navegação, entre outros.
Estilos e Temas: Oferece uma base visual consistente e fácil de customizar.
Compatibilidade com Navegadores: Garante uma experiência consistente em diferentes
navegadores.
BOOTSTRAP – INSTALAÇÃO
https://getbootstrap.com
Neste exemplo, a classe col-12 é aplicada à colunas, indicando que ocupará 12 colunas em telas de
qualquer tamanho. No entanto, para dispositivos pequenos (sm), cada coluna ocupará 6 colunas, para
dispositivos médios (md) ocuparão 4 colunas, e para dispositivos grandes (lg) ocuparão 3 colunas.
BOOTSTRAP – GRID
O Bootstrap utiliza um Sistema de Grade (Grid System) para facilitar o desenvolvimento de
layouts responsivos e fluidos. Esse sistema é baseado em uma estrutura de 12 colunas, oferecendo
flexibilidade e adaptabilidade.
Cada linha no sistema de grade é dividida em até 12 colunas. As classes col- são usadas para
definir quantas colunas uma seção específica deve ocupar. Por exemplo, col-6 indica que a seção
ocupará metade da largura disponível.
Exemplo:
<div class="row">
<div class="col-6">Coluna 1</div>
<div class="col-6">Coluna 2</div>
</div>
BOOTSTRAP – GRID
Exemplo:
<div class="container vertical">
<div class="row justify-content-center">
<div class="col-3"></div> </div>
</div>
BOOTSTRAP – GRID
Alinhamento de Itens Exemplo:
O alinhamento de item serve para alinhar um item <div class="container vertical">
individualmente <div class="row">
<div class="col-4"></div>
Exemplo: align-self-center <div class="col-4 align-self-center">
Não há alinhamento unitário na horizontal. Apenas </div>
na vertical. <div class="col-4 align-self-end">
</div>
</div>
</div>
BOOTSTRAP – GRID
Ordem dos itens Exemplo:
É possível alterar a ordem pela qual os itens são <div class="container vertical">
apresentados <div class="row">
<div class="col-3 order-3">3</div>
Utiliza-se a classe order-* <div class="col-3 order-1">1</div>
1 é o primeiro item <div class="col-3 order-4">4</div>
<div class="col-3 order-2">2</div>
Útil no desenvolvimento para ambiente mobile
</div>
</div>
BOOTSTRAP – GRID
Offset de colunas Exemplo:
É possível criar um espaçamento entre colunas <div class="container vertical">
<div class="row">
Utiliza-se a classe offset-md-x <div class="col-3 order-3">3</div>
x é o número de colunas à esquerda <div class="col-3 order-1">1</div>
<div class="col-3 order-4">4</div>
<div class="col-3 order-2">2</div>
</div>
</div>
BOOTSTRAP – GRID
Responsividade com Breakpoints
O Bootstrap utiliza os breakpoints para ajustar o layout com base no tamanho da tela. Classes
como col-md-4 significam que, em telas médias, a coluna ocupará 4 das 12 colunas disponíveis.
Exemplo:
<div class="row">
<div class="col-12 col-md-4">Coluna 1</div>
<div class="col-12 col-md-4">Coluna 2</div>
<div class="col-12 col-md-4">Coluna 3</div>
</div>
BOOTSTRAP – GRID
Alinhamento e Offset no Sistema de Grade
Além de controlar a largura das colunas, o Bootstrap permite alinhar e deslocar colunas. As classes
justify-content e align-items são úteis para alinhamento vertical e horizontal, enquanto offset
desloca colunas.
Exemplo:
<div class="row justify-content-between">
<div class="col-4">Coluna 1</div>
<div class="col-4">Coluna 2</div>
</div>
BOOTSTRAP – CONTAINER
Um container é um elemento de nível superior usado para envolver e centralizar o
conteúdo da página dentro da estrutura de layout. O container é uma parte
fundamental do sistema de grade (Grid System) do Bootstrap e desempenha um
papel crucial na criação de layouts responsivos e consistentes.