Curso de HTML e CSS para Iniciantes
Curso de HTML e CSS para Iniciantes
HTML / CSS
GOVERNADOR
Elmano de Freitas da Costa
VICE-GOVERNADORA
Jade Afonso Romero
SECRETARIA DA EDUAÇÃO
Eliana Nunes Estrela
EQUIPE DE ELABORAÇÃO
Renanh Gonçalves de Araújo
Francisco Aglayrton de Araújo Julião
Carlos Elmen Gerônimo de Andrade
3
Caros professores do Eixo de Informação e Comunicação,
5
Caros alunos,
MENSAGEM AO ESTUDANTE
de Informação e Comunicação das nossas Escolas Estaduais de
Educação Profissional. Este é um campo vibrante e essencial,
onde as fronteiras da tecnologia e da inovação se encontram
com as necessidades humanas e sociais.
6
1. INTRODUÇÃO 9
1.1. Breve História do HTML 9
SUMÁRIO
1.2. Introdução ao HTML 9
2. ELEMENTOS HTML FUNDAMENTAIS 9
2.1. O Uso de Tags 9
2.2. Tags de abertura e fechamento 9
2.3. Atributos 10
2.4. Estrutura básica de um documento HTML 10
3. TÍTULOS E PARÁGRAFOS 13
4. FORMATAÇÃO DE TEXTO 14
5. LISTAS 15
5.1. Listas Ordenadas 15
5.2. Não Ordenadas 16
6. HIPERLINKS 16
7. MULTIMÍDIA EM HTML 18
7.1. Imagens 18
7.2. Vídeos 20
7.3. Formatos de arquivo suportados 21
8. TABELAS 22
8.1. Como criar tabelas 22
8.2. Estrutura de uma tabela 22
8.3. Atributos de tabela 23
9. ELEMENTOS DE BLOCO ELEMENTOS INLINE 25
9.1. Elementos de Bloco (Block-level elements) 25
9.2. Elementos Inline (Inline-level elements) 25
10. FORMULÁRIOS 26
11. HTML SEMÂNTICO 28
11.1. O que é html semântico? 28
11.2. Novas tags semânticas em HTML 28
12. INTRODUÇÃO À CSS 30
12.1. Definição 30
12.2. Finalidade 30
12.3. Regra CSS 30
12.4. Estilos 32
12.4.1. Estilos inline 32
12.4.2. Estilos incorporados 32
12.4.3. Estilos externos 34
7
12.5 Organização dos arquivos 35
13. CORES E PLANO DE FUNDO 36
13.1. Background-Repeat 38
13.2. Background-Position 39
13.2.1 Opções para background-position 39
13.3. Background-Attachment 40
13.3.1 Opções para background-attachment 40
13.4. Background-Size 41
13.5. Fonte 41
13.6. Pseudo-classe 46
13.7. Agrupamentos 47
13.8. Largura e Altura 49
13.9. Bordas 50
14. MODELO DE CAIXA BOX 52
14.1. Padding 52
14.2. Margin 53
15. DIRECIONANDO E FLUTUANDO ELEMENTOS 55
16. POSICIONAMENTO 57
17. DISPLAY 60
18. FLEXBOX 63
19. CRIAÇÃO DE UMA LANDING PAGE 74
19.1. HTML 75
19.2. CSS 77
20. REFERÊNCIAS 81
8
INTRODUÇÃO
O HTML (Hypertext Markup Language) foi criado em 1991 por Tim Berners-Lee, um
cientista da computação britânico, na CERN (Organização Europeia para a Pesquisa
Nuclear) na Suíça. Inicialmente, o HTML foi projetado para interligar instituições de
pesquisa próximas e compartilhar documentos com facilidade. O HTML surgiu junto com o
HTTP, ambos possibilitaram a internet ser popularizada.
Nos primeiros cinco anos (1990-1995), o HTML passou por várias revisões e
experimentou várias extensões, hospedadas primeiramente no CERN e depois no IETF.
Com a criação do W3C, o desenvolvimento do HTML mudou de local novamente.
Introdução ao HTML
O Uso de Tags
As tags HTML são constituídas por uma palavra-chave entre os sinais de menor e
maior, como <tag> (abertura). Para fechar uma tag, utiliza-se a barra ("/") antes da palavra-
chave, como </tag>. A maioria das tags possui uma abertura e fechamento, por exemplo:
<h1>título</h1> criando assim um elemento que envolve o conteúdo, embora algumas
sejam auto-fechados, como <img />.
9
Obs: As tags HTML não são case sensitive, ou seja, não diferenciam letras
maiúsculas de minúsculas. Portanto, tanto faz você escrever <html></html> como
<HTML></HTML> porém, por boas práticas de condutas, é indicado que tudo seja inscrito
em caixa baixa (letras minúsculas).
Atributos
Os atributos HTML são palavras especiais usadas dentro da tag de abertura para
controlar o comportamento do elemento. Eles são um modificador de um tipo de elemento
HTML. Com eles, podemos identificar melhor um elemento, informar qual arquivo aquela
tag deve utilizar, indicar o tipo de um campo de texto, entre outros. A sintaxe dos atributos
em tags HTML é a seguinte:
Por exemplo, na tag de imagem (<img>), os atributos comuns incluem src (que define
a fonte da imagem) e alt (que fornece um texto alternativo para a imagem). Por exemplo
1. Atributos requeridos: são atributos necessários para a etiqueta HTML. Sem eles,
a etiqueta por si só não terá o comportamento esperado.
2. Atributos opcionais: esses atributos são utilizados para modificar a
funcionalidade por defeito da etiqueta HTML.
3. Atributos globais: são atributos de âmbito geral que podem ser utilizados em
quase qualquer etiqueta HTM.
10
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Título da página</title>
</head>
<body>
<!-- Conteúdo da página aqui -->
</body>
</html>
Você pode copiar o código acima em um bloco de notas, salvar como [Link] e
depois abrir o documento no navegador, exemplo:
11
Agora clique duas vezes no arquivo com o nome index (caso o seu não fique com o
símbolo do chrome, não tem problema, basta clicar com o botão direito em cima e depois
abrir com um navegador de sua preferência). Exemplo do arquivo [Link]:
O resultado será:
Agora que você entendeu o que é o HTML e está começando na introdução, vamos
nos aprofundar mais ainda nesse assunto, e para isso, vamos instalar um Editor de Código.
Faça o download e instale. O endereço eletrônico abaixo:
[Link]
12
Você pode deixar com o idioma em português do brasil, basta ir na opção de
extensões e instalar.
TÍTULOS E PARÁGRAFOS:
○ <h1> a <h6>: São usadas para definir títulos e subtítulos, sendo <h1> o
título de maior importância e <h6> o de menor importância.
○ <p>: É usada para definir um parágrafo.
Exemplo:
Resultado no navegador:
13
FORMATAÇÃO DE TEXTO:
Resultado:
Observe que o código está bem alinhado, isso se dá devido a prática de identação
do código, que nada mais é que a organização do código, então no VsCode para que ele
faça isso, basta usar as teclas de atalho: alt + shift + f.
14
LISTAS
As listas são uma ótima maneira de organizar informações de maneira clara e concisa.
Listas Ordenadas
Use listas ordenadas quando a ordem dos itens é importante. Por exemplo, se você
estiver listando as etapas para realizar uma tarefa, uma lista ordenada seria apropriada.
● Exemplo:
1. Pré-aqueça o forno a 180 graus.
2. Misture a farinha, o açúcar e o fermento em uma tigela grande.
3. Adicione os ovos e a manteiga e misture bem.
<ol>: Define uma lista ordenada, e <li> define cada item da lista.
<ol>
<li>Pré-aqueça o forno a 180 graus.</li>
<li>Misture a farinha, o açúcar e o fermento em uma tigela grande.</li>
<li>Adicione os ovos e a manteiga e misture bem.</li>
</ol>
Resultado:
Você pode mudar o tipo e ordem adicionando os atributos na tag <ol></ol>, como
“type” indicando se serão letras , algarismo romanos ou números (padrão), assim como
“start” que especifica o valor inicial para numeração dos itens da lista. Exemplo:
15
Resultado:
Não Ordenadas
<ul> Define uma lista não ordenada, e <li> define cada item da lista3.
Use listas não ordenadas quando a ordem dos itens não é importante. Por exemplo,
se você estiver listando uma série de itens que podem ser usados em uma receita, uma
lista não ordenada seria apropriada. Exemplo:
Resultado:
HIPERLINKS
Em HTML são links que permitem vincular nossos documentos a qualquer outro
documento que queremos. Também podemos vincular para partes específicas de
documentos e podemos disponibilizar aplicativos em um endereço web simples. Qualquer
conteúdo da web pode ser convertido em um link, para que, quando clicado (ou ativado de
outra forma) faça com que o navegador vá para outro endereço (URL).
Sua tag começa <a> e fecha </a>, além disso existe o atributo “href” que diz para
ser redirecionado. Dito isso, existem algumas nuances que vale a pena considerar:
16
● Link interno: Um link entre duas páginas da web, em que ambas as páginas
pertencem ao mesmo site, é chamado de link interno.
● Link externo: Um link de sua página da web para a página de outra pessoa.
● Links de âncora: São usados para criar links que podem levar o usuário a
diferentes partes de uma página web (dentro dela mesmo.
Exemplo Âncora:
Digamos que você está criando uma landing page (site com 1 única página
navegável nele mesmo), então com a âncora, ao clicar, em nosso exemplo, você será
redirecionado(a) a parte marcada com o #nomedolocaldentrodosite, por exemplo, o código
acima vai para um parágrafo que tem o id com o mesmo nome do link vertical.
Exemplo:
Podemos até usar comandos de links para criar um download de arquivos. Exemplo:
17
MULTIMÍDIA EM HTML
Imagens
Para incorporar imagens em HTML, usamos a tag <img>, além disso, temos
atributos da tag, segue abaixo:
Exemplo:
Resultado:
18
Temos também. mas não obrigatório, a tag <figure> que no HTML é usada para
representar conteúdo independente, frequentemente com uma imagem e uma legenda
associada, que é definida pela tag <figcaption>. O conteúdo dentro de <figure> deve ser
relacionado ao fluxo principal do documento, mas pode ser posicionado como
independente, o que significa que, se removido, o fluxo principal do documento não será
afetado. Aqui está uma explicação detalhada das tags:
● <figure>: Serve como um contêiner para algum tipo de conteúdo autônomo,
geralmente uma imagem ou ilustração, junto com sua legenda. Pode ser usado para
fotos, diagramas, códigos, entre outros.
● <img>: É a tag usada para incorporar uma imagem no documento. O atributo src
especifica o caminho para a imagem que você deseja exibir, enquanto o atributo alt
fornece uma descrição alternativa que será mostrada se a imagem não puder ser
carregada.
● <figcaption>: Define a legenda para o conteúdo de <figure>. A legenda pode
descrever o que está na imagem ou fornecer uma explicação adicional sobre o
conteúdo da figura.
Quando usadas juntas, <figure> e <figcaption> criam uma associação clara entre a
imagem e sua legenda, o que é benéfico para acessibilidade e SEO, pois os mecanismos
de busca e tecnologias assistivas podem entender melhor o conteúdo e seu contexto.
Exemplo:
Resultado:
19
Vídeos
Para incorporar vídeos em HTML, usamos a tag <video>. O atributo src é usado
para especificar o caminho para o vídeo. Além disso, existem vários atributos em HTML
que podem ser usados para controlar a reprodução de mídia. São esses:
● controls: Exibe controles de reprodução do vídeo.
● autoplay: Inicia a reprodução do vídeo assim que ele estiver pronto.
● loop: Faz o vídeo começar novamente toda vez que termina.
● muted: Silencia o vídeo.
● Width: Largura do vídeo.
● Height: Altura do vídeo.
Exemplo:
Resultado:
Além disso, podemos incorporar vídeos do youtube, sem precisar termos o vídeo
baixado em nosso computador, no caso basta ir até o youtube, clicar em incorporar,
exemplo:
20
Depois disso basta copiar e colar o código e inserir no seu HTML
Essa prática na verdade é de um iframe (página externa com conteúdo) onde você
poderá inserir o vídeo no código HTML.
21
TABELAS
Exemplo:
22
O resultado:
Atributos De Tabela
Está sem a borda devido não estarmos utilizando o atributo border, fazemos isso
com CSS, mas já que é uma explicação de HTML, basta inserir no table e indicar sua
espessura. Você pode aplicar no código acima o atributo border.
Exemplo:
O resultado:
● colspan: O atributo colspan é usado para especificar quantas colunas uma célula de
tabela deve ocupar. O “col” vem de “column” (coluna) e “span” significa “expandir”
ou “abranger”. Portanto, colspan é usado para expandir células para que ocupem o
tamanho de quantas colunas quisermos.
● rowspan: O atributo rowspan é usado para especificar quantas linhas uma célula de
tabela deve ocupar. Assim como colspan, “row” vem de “row” (linha) e “span”
significa “expandir” ou “abranger”. Portanto, rowspan é usado para expandir células
para que ocupem o tamanho de quantas linhas quisermos.
23
Exemplo do código abaixo:
Resultado:
Acima é possível visualizar o tamanho da célula com base nos comandos. Esses
atributos são muito úteis para criar tabelas mais complexas e personalizadas em HTML.
24
Obs: Não falaremos sobre cellspacing e cellpadding, pois não é interessante para a versão
HTML5, pois se usa CSS.
Exemplo:
Resultado:
a div empurrou o span para baixo, já o span ficou do lado da tag de link
25
FORMULÁRIOS
Existem diferentes tipos de inputs de formulário que você pode usar, dependendo do
tipo de informação que você deseja coletar. Alguns dos tipos de input mais comuns incluem:
Exemplo:
26
O resultado:
Exemplo:
27
Resultado:
HTML Semântico
É quando o código HTML está descritivo, utilizando tags que são consideradas
semânticas. Isso deixa o código mais organizado e de fácil manutenção. O HTML semântico
tem como objetivo descrever o significado do conteúdo presente em documentos HTML,
tornando-o mais claro tanto para programadores quanto para browsers e outras engines
que processam essa informação.
28
Neste exemplo, a tag <header> é usada para o cabeçalho da página, que inclui o
título da página e a navegação. A tag <main> é usada para o conteúdo principal da página,
que inclui um <article> para o conteúdo do artigo e um <aside> para conteúdo adicional
relacionado ao artigo principal. Finalmente, a tag <footer> é usada para o rodapé da página.
Resultado sem CSS:
29
INTRODUÇÃO À CSS, MÉTODOS INLINE, INTERNO E EXTERNO
CSS é a abreviação para o termo em inglês Cascading Style Sheet, traduzido para
o português como folhas de estilo em cascata. Neste livro, adotaremos CSS como
abreviação e folhas de estilo em cascata para o termo por extenso.
Definição
Finalidade
Regra CSS
A Regra CSS é a unidade básica de uma folha de estilo. Nessa definição, o termo
unidade básica significa a menor porção de código capaz de produzir efeito de estilização.
30
Uma regra CSS é composta de duas partes: o seletor e a declaração. A declaração
compreende uma propriedade e um valor. A sintaxe para se escrever uma regra CSS é
mostrada na figura abaixo:
Uma regra CSS poderá conter várias declarações separadas por ponto e vírgula.
Observe o exemplo a seguir:
p{
color: red;
background-color: black;
font-size: 12px;
}
Nesse exemplo identificamos os seguintes componentes da regra CSS:
• Seletor: é o elemento p. Seletores para elementos da marcação são deno-
minados seletores tipos;
• Declarações: são três – color: red; background-color: black; font-size: 12px;
• Propriedades: são três – color, que define a cor dos textos contidos em p,
background-color, que define a cor de fundo do elemento p e font-size, que
define o tamanho da fonte para o elemento p.
31
Estilos
Estilos inline
Estilos incorporados
32
O resultado:
33
A vantagem desse método sobre o anterior é que, agora, localizamos com mais
facilidade a folha de estilo, mas há a desvantagem de colocar a folha de estilos dentro do
próprio documento. Não seria sensato vincular uma mesma folha de estilo a vários
documentos empregando esse método. Toda vez que for preciso alterar a apresentação,
será necessário abrir o documento ou centenas de documentos, se o site for grande, e fazer
a mesma alteração de estilo em todos eles. Uma boa escolha para uso desse método seria
para o caso de aplicação de estilos específicos a um documento do site.
Estilos externos
Folha de estilo externa é aquela que não foi escrita no documento HTML. Trata-se
de um arquivo de texto contendo as regras de estilo e os comentários CSS. Um arquivo de
folha de estilo deve ser gravado com a extensão .css e pode ser vinculado a um documento
HTML de duas maneiras distintas, conforme explicado em seguida. Abaixo temos a tag
<link rel="stylesheet" href="[Link]">, que linka o HTML ao CSS externo ([Link])
e que vai gerar o mesmo resultado anterior. Exemplo:
34
O resultado será o mesmo do anterior, porém agora temos um código mais
organizado, de fácil manutenção e com menos linha de código.
35
CORES E PLANO DE FUNDO
As cores podem ser inseridas como valores hexadecimais (# ff0000), com nomes em
inglês das cores (red) ou RGB (RGB (255,0,0)).
O elemento <body> contém todo o conteúdo de um documento HTML. Assim, para
mudar a cor de fundo de uma página inteira, a propriedade de cor de fundo deve ser
aplicada ao elemento. Abaixo temos um exemplo onde a propriedade background-color
define a cor de fundo do elemento body.
Exemplo:
36
HTML:
Aplicamos em uma tag <h1> a cor de texto (color) e uma cor de fundo
(background-color), então, a estilização será aplicada. Resultado:
Temos também comando para deixar uma imagem como fundo de elementos,
abaixo temos um código exemplo:
A url significa o caminho da imagem, enquanto o ../ é basicamente dizendo que será
acessado algum arquivo fora do diretório principal do css (pasta CSS), no caso é a pasta
img e dentro dela o [Link].
Resultado:
37
Existem outras:
Background-Repeat
Utilizamos esta propriedade para definir a maneira como a imagem será repetida no
elemento. Podemos especificar que a imagem se repetirá em todos os eixos, apenas no
horizontal, apenas no vertical ou não se repetirá.
A tabela a seguir apresenta todos os valores que podemos atribuir a background-
repeat.
Caso você tenha um código onde a imagem é pequena para o elemento ela vai
automaticamente preencher repetindo, exemplo:
38
O resultado:
Background-Position
Com esta propriedade podemos definir a posição na qual a imagem será inserida.
Essa posição pode ser especificada utilizando uma combinação de valores, sendo o
primeiro a posição horizontal e o segundo a posição vertical.
O local de inserção de uma imagem pode ser especificado com valores pré-
definidos para os eixos horizontal e vertical conforme as tabelas abaixo.
Posição Horizontal
Posição Vertical
top Sinaliza que a imagem será renderizada no topo.
center Sinaliza que a imagem será renderizada no centro.
bottom Sinaliza que a imagem será renderizada na parte de baixo.
39
Além disso, podemos configurar os eixos com diferentes unidades de medida, como
informar que a imagem ficará a 20 pixels de distância da margem esquerda e 40% em
relação ao topo da página.
O resultado:
Background-Attachment
Esta propriedade é utilizada para definir o que acontecerá com a imagem de fundo
quando da interação com a barra de rolagem, se ela ficará fixa, se ela se moverá junto com
o movimento de scroll, entre outras opções. Um Exemplo padrão é quando você tem um
menu e quer deixar fixo mesmo que a página role para o final. Exemplo é o comando
background-attachment: fixed;
40
fixed Faz com que a imagem não se movimente junto com
o documento, dando a impressão de que o conteúdo
desliza sobre o fundo.
initial
Indica à propriedade que o valor padrão deve ser
utilizado.
Background-Size
41
initial
Indica à propriedade que o valor padrão deve ser
utilizado.
Existem vários outros comandos para plano de fundo, porém nessa apostila temos
as informações que são mais usadas no mercado.
Fonte
42
Código CSS
Código HTML
O resultado:
De forma didática foi explicado o CSS com comandos separados para você
entender, porém é mais sensato da forma abaixo:
43
Podemos também resumir as propriedades em uma única abreviação de comando.
Segue o exemplo abaixo:
Obs: o código acima a propriedade “font” tem os valores: italic que define o estilo da
fonte, bold o peso, 16px o tamanho da fonte, e "Arial", sans-serif a família da fonte.
Existe também a propriedade text-decoration do CSS que é usada para definir a
formatação de underline, overline, line-through ou blink. As decorações underline e overline
são posicionadas abaixo e acima do texto (respectivamente), e line-through cortando-o.
Exemplo do código HTML e CSS:
44
Resultado:
45
Resultado
PSEUDO-CLASSE
Uma pseudo-classe CSS é uma palavra-chave adicionada a seletores que
especifica um estado especial do elemento selecionado. Por exemplo, :hover pode ser
usado para alterar a cor de um botão quando o usuário passar o cursor sobre ele.
Pseudo-classes permitem que você aplique um estilo a um elemento não apenas
em relação ao conteúdo da árvore do documento, mas também em relação a fatores
externos como o histórico de navegação (:visited, por exemplo), o status do seu conteúdo
(como :checked em certos elementos de um formulário), ou a posição do mouse (como
:hover, que permite saber se o mouse está sobre um elemento ou não).
Sintaxe:
seletor:pseudo-classe {
propriedade: valor;
}
46
Abaixo temos o resultados por pseudo-classe:
a:link
a:visited
a:hover
a:active
Acima aplicamos todos voltados a hiperlinks, porém existem vários outros. Você pode
acessar: [Link]
AGRUPAMENTOS
No HTML, id e class são atributos que você pode adicionar a quase qualquer
elemento. Eles são usados principalmente para duas coisas: estilização com CSS e
manipulação com JavaScript.
ID:
47
Class:
● O atributo class é usado para especificar uma ou mais classes para um elemento
HTML.
● Diferente do id, a mesma class pode ser usada em vários elementos.
● A class é usada quando você quer selecionar um grupo de elementos.
Exemplo de uso:
O resultado:
48
pixels (border: 2px solid red; será explicado em outro tópico), e os elementos com a class
“classe3” terão o texto alinhado ao centro (text-align: center;).
Lembre-se de que o CSS é aplicado de cima para baixo, então se houver conflitos
(por exemplo, duas regras diferentes para a cor do texto), a última regra definida será a que
prevalecerá. No entanto, as regras de id têm prioridade sobre as regras de class se ambas
estiverem tentando modificar a mesma propriedade.
LARGURA E ALTURA
Em CSS, width e height são propriedades usadas para definir a largura e a altura de um
elemento, respectivamente.
Width (Largura)
Exemplo de uso:
div {
width: 50%;
Neste exemplo, a largura do elemento div é definida como 50% da largura do seu elemento
pai.
Height (Altura)
Exemplo de uso:
div {
height: 100px;
49
Neste exemplo, a altura do elemento div é definida como 100 pixels.
Apesar de você ter visto o código acima, não é possível ver as dimensões, pois eles
somente criam o tamanho, para que possa ser entendido, o código abaixo apresenta cores
de fundo das divs (elemento de bloco), segue o exemplo:
BORDAS
50
/* Exemplo de uso */
div {
border: 2px solid black;
}
Você também pode definir as bordas de cada lado de um elemento individualmente usando
as propriedades border-top, border-right, border-bottom e border-left.
/* Exemplo de uso */
div {
border-top: 2px solid black;
border-right: 2px solid blue;
border-bottom: 2px solid green;
border-left: 2px solid red;
}
Exemplo na prática:
51
MODELO DE CAIXA BOX
Padding
É o espaço entre o conteúdo de um elemento e sua borda. Ele é usado para criar
espaço ao redor do conteúdo, dentro da borda definida. Por exemplo:
div {
padding: 10px;
}
52
Neste exemplo, a div terá um padding de 10px em todos os lados. Você também
pode definir o padding para cada lado individualmente usando padding-top, padding-right,
padding-bottom e padding-left.
Margin
Neste exemplo, a div terá uma margin de 20px em todos os lados. Assim como o
padding, você pode definir a margin para cada lado individualmente usando margin-top,
margin-right, margin-bottom e margin-left. Abaixo, temos um exemplo de como padding e
margin podem ser usados juntos:
div {
padding: 10px;
border: 2px solid black;
margin: 20px;
}
Neste exemplo, a div tem um padding de 10px, uma borda sólida preta de 2px, e
uma margin de 20px. Isso significa que haverá 10px de espaço entre o conteúdo da div e
sua borda, e 20px de espaço entre a borda da div e quaisquer elementos adjacentes. Para
entender melhor, temos o exemplo abaixo na prática:
53
Temos também a possibilidade de alterar o modelo de caixa padrão (border-box)
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
54
Para que você entenda melhor, vou explicar o código acima:
1. * Este é um seletor universal em CSS. Ele seleciona todos os elementos na página.
2. margin: 0; Isso define a margem de todos os elementos para 0. A margem é o espaço
ao redor dos elementos, fora de qualquer borda definida.
3. padding: 0; Isso define o preenchimento (padding) de todos os elementos para 0. O
preenchimento é o espaço entre o conteúdo de um elemento e sua borda.
4. box-sizing: border-box; Isso altera o modelo de caixa padrão. No modelo de caixa
padrão (box-sizing: content-box;), a largura e a altura definidas de um elemento se
aplicam apenas ao conteúdo do elemento, e o preenchimento e a borda são
adicionados a essas dimensões especificadas. Quando você usa box-sizing: border-
box;, a largura e a altura definidas de um elemento incluem o preenchimento e a
borda, mas não a margem. Isso significa que o preenchimento e a borda não
aumentam o tamanho do elemento, eles são incluídos no tamanho do elemento.
O resultado, caso seja incluído o código acima, é de uma página que pega o total
das laterais, e é padrão para o desenvolvimento web em css para termos mais liberdade
de manipulação de espaços dentro da body.
55
Neste exemplo, a div será flutuada para a esquerda do contêiner pai, e os
elementos subsequentes se enroscaram à direita da div. A propriedade float pode ter um
dos seguintes valores:
56
Neste exemplo, temos dois divs, um flutuando à esquerda e outro à direita. O
terceiro div usa a propriedade clear para garantir que ele apareça abaixo dos dois divs
flutuantes. Cada div tem uma cor de fundo diferente para facilitar a visualização.
POSICIONAMENTO
Exemplo do RELATIVE:
57
CSS:
Resultado:
Acima o elemento ficou relativo a sua própria posição dentro da página, porém,
usamos outras propriedades que no caso foram top e left para poder deslocar o elemento
do seu topo com 20px e ao lado esquerdo com 50px. Então as propriedades top, left, bottom
e right fazem o elemento se deslocar a partir de sua posição original.
Exemplo do ABSOLUTE:
58
CSS:
Resultado:
Podemos observar que o elemento absoluto ficou organizado com base no pai que
no caso é o elemento relative. Além disso, foi colocado à direita (rigth) no final (bottom).
Exemplo do FIXED
59
Resultado:
Caso você role a página para baixo, identificará que o div que está fixo se manterá
no mesmo local independentemente se estiver ou não rolando a página.
DISPLAY
● block: O elemento gera uma caixa de bloco, causando uma quebra de linha antes e
depois do elemento.
● inline: O elemento gera uma caixa inline, que não causa uma quebra de linha antes
ou depois do elemento.
● none: O elemento não será exibido na página.
60
● inline-block: o elemento se comporte como um elemento inline, mas ainda preserva
as características de um elemento block
● flex: O elemento se comporta como um contêiner flexível.
● grid: O elemento se comporta como um contêiner de grade.
Para entender melhor, vamos começar pelo BLOCK: Elementos HTML como como
div, section, p, h1, ul, li, article são exibidos como block por padrão e outros que
representam o comportamento abaixo:
● Ocupa 100% da largura do elemento pai
● Ocupa sempre a sua própria linha e é posicionado abaixo do elemento anterior
● A altura é definida de acordo com o conteúdo interno
● É possível definir Width e Height
● Você pode definir valor de margin-top e margin-bottom
Inline: Elementos HTML como span, a, img, em, strong e outros são exibidos como inline
por padrão. Aqui estão algumas características dos elementos inline:
● Não ocupam 100% da largura do elemento pai. A largura é definida pelo conteúdo
interno.
● Não ocupam a sua própria linha. Eles são posicionados na mesma linha que o
elemento anterior e o próximo, se houver espaço.
● A altura e a largura não podem ser definidas. Eles são determinados pelo conteúdo
interno.
● As margens superior e inferior não têm efeito, mas as margens esquerda e direita
funcionam normalmente.
Inline-Block: A propriedade display com valor inline-block permite que o elemento seja
exibido na mesma linha que os elementos adjacentes (como inline), mas ainda permite
definir largura e altura (como block). Aqui estão algumas características dos elementos
inline-block:
61
● Não ocupam a sua própria linha. Eles são posicionados na mesma linha que o
elemento anterior e o próximo, se houver espaço.
● A altura e a largura podem ser definidas.
● Você pode definir valores para margin-top e margin-bottom.
62
Neste exemplo, temos um div que é exibido como um bloco, um span que é exibido
inline e um div que é exibido como inline-block. Cada elemento tem uma cor de fundo
diferente para facilitar a visualização. Resultado:
FLEXBOX
A propriedade display: none é usada para ocultar um elemento HTML. Quando você
define display: none para um elemento, ele é completamente removido do fluxo do
documento e não ocupa espaço na página. Isso é diferente de visibility: hidden, que oculta
um elemento, mas o espaço que ele ocuparia ainda é reservado na página.
63
A propriedade display: flex em CSS é usada para criar um contêiner flexível. Um
contêiner flexível se torna flexível permitindo que seus itens filhos se redimensionam e se
reposicionam para preencher o espaço disponível. Aqui estão algumas características dos
contêineres flex:
● Os itens filhos (flex items) serão dispostos em uma linha ou coluna, dependendo da
direção flex (definida pela propriedade flex-direction).
● Você pode controlar o alinhamento dos itens flex ao longo do eixo principal e
transversal usando as propriedades justify-content e align-items, respectivamente.
● Os itens flex podem “flexionar” seus tamanhos para preencher o espaço disponível
ou evitar o overflow, dependendo da propriedade flex aplicada a eles.
Então, quando se usa o display: flex, significa dizer que estamos trabalhando com
FLEXBOX. O termo “Flexbox” é uma maneira abreviada de se referir ao Módulo de Caixa
Flexível (Flexible Box Module), que é um modelo de layout no CSS. Quando você define
display: flex em um elemento, esse elemento se torna um contêiner flexível, e seus filhos
diretos se tornam itens flexíveis. Isso permite que você controle o layout, alinhamento e
espaçamento desses itens de maneira mais eficiente e com menos código do que outros
modelos de layout.
Para começar, imaginemos um elemento, pode ser uma div, um section, ou outros,
assim que determinamos que o elemento vai trabalhar com flexbox, esse elemento se torna
um FLEX CONTAINER, onde esse elemento pode ter outros elementos que serão
chamados de FLEX ITEM. Assim como na figura abaixo:
64
Acima temos o container que pode ser uma div contendo outras divs (4 no caso) que
são os flex item, então a div pai tem as divs filhas.
Além disso, precisamos entender o alinhamento dentro do container, que são
precisamente o MAIN AXIS (eixo horizontal) e o CROSS AXIS (eixo vertical). Abaixo temos
outra figura que exemplifica isso:
É importante entender que temos tanto de onde começa a posição e onde termina,
para cada eixo. No eixo primário MAIN AXIS temos o ínicio sendo no MAIN START e o seu
término no MAIN END. Já no eixo secundário CROSS AXIS, temos seu inicio em CROSS
START e o seu término em CROSS END. Veja a figura abaixo:
65
Vamos começar pela base para poder entender o fluxo do FLEXBOX, então para
isso temos o código abaixo:
Teremos o resultado:
66
Pois o comportamento é em bloco das divs, deixando um elemento abaixo do outro,
porém se agora aplicarmos o FLEXBOX como abaixo:
Onde o valor flex deixa todos os elementos filhos (divs) um do lado do outro. Além
disso, podemos aplicar a direção, que enfatiza o conceito das direções Main Axis e Cross
Axis, com a propriedade flex-direction.
A propriedade flex-direction em CSS é usada em um contêiner flexível para
especificar a direção dos itens flex. Ela pode ter um dos seguintes valores:
● row: Os itens flex são dispostos na mesma direção do texto (da esquerda para a
direita em scripts de escrita de esquerda para a direita, da direita para a esquerda
em scripts de escrita de direita para a esquerda). Este é o valor padrão.
● row-reverse: Os itens flex são dispostos na direção oposta do texto.
● column: Os itens flex são dispostos verticalmente, do topo para baixo.
● column-reverse: Os itens flex são dispostos verticalmente, de baixo para cima.
67
Vejamos o código abaixo:
68
Resultado com column:
69
alinhamento horizontal dos itens flex. Aqui estão alguns valores possíveis para justify-
content:
align-content: Esta propriedade alinha as linhas flex ao longo do eixo transversal quando
há espaço extra no contêiner flex. O eixo transversal é perpendicular ao eixo principal. Por
exemplo, se flex-direction é row, o eixo transversal é vertical e align-content irá controlar o
alinhamento vertical das linhas flex. Aqui estão alguns valores possíveis para align-content:
Para entender melhor, abaixo temos o exemplo do que foi explicado acima:
70
Vamos colocar a mão na massa.
Usando justify-content:
HTML:
71
CSS:
Resultado:
Usando align-itens:
HTML:
CSS:
72
Resultado:
73
Se você chegou até aqui, significa dizer que já leu bastante, praticou os comandos
e entendeu como utilizar o HTML e CSS, agora vamos juntá-los de forma a criar um site
responsivo.
Uma landing para treinar suas habilidades aprendidas nessa apostila, além disso,
trará vários benefícios, especialmente se você quer ser um profissional da área, freelancer
procurando por novas oportunidades ou precisa criar esse projeto para um cliente.
74
HTML
75
76
CSS
77
78
79
Agora temos uma landing page que permite que você apresente suas habilidades,
experiências e projetos de maneira profissional e atraente. Personalize!
[Link]
80
REFERÊNCIAS
[Link]
[Link]
[Link]
[Link]
81