HTML e CSS
HTML e CSS
Nome: _________________________________________________
Número da matrícula: _____________________________________
Endereço: ______________________________________________
Bairro: _________________________________________________
Cidade: ________________________________________________
Telefone: _______________________________________________
Anotações Gerais: ________________________________________
_______________________________________________________
_______________________________________________________
Marcas Registradas:
Todas as marcas e nomes de produtos apresentados nesta apostila são
de responsabilidade de seus respectivos proprietários, não estando a
editora associada a nenhum fornecedor ou produto apresentado nesta
apostila.
● O conceito básico
• É importante fixar que o HTML não é uma linguagem de
programação, ele é uma linguagem de marcação!
• O HTML usa "marcação" para definir texto, imagem e outros
conteúdos para exibição em um navegador, essa marcação consiste
de uma série de elementos, que você usa para delimitar ou agrupar
diferentes partes do conteúdo para que ele apareça ou atue de
determinada maneira.
• Confira alguns exemplos de "elementos":
o <head>
o <title>
o <body>
o <footer>
o <p>
o <div>
o <span>
o <img>
• Um elemento HTML é separado de outro texto do documento por
"tags", que consistem no nome do elemento entre "<" e ">". O
nome de um elemento dentro de uma tag é insensível a maiúsculas
8 HTML & CSS
e minúsculas. Isto é, pode ser escrito em maiúsculas, minúsculas
ou uma mistura. Por exemplo, a tag <title> pode ser escrita como
<Title>, <TITLE> ou de qualquer outra forma. Porém, o mais usual
é manter a escrita em letras minúsculas, é assim que seguiremos
neste curso.
• As tags anexas podem transformar uma palavra ou imagem num
hiperlink, pode colocar palavras em itálico, pode aumentar ou
diminuir a fonte e assim por diante.
● Elementos aninhados
• No HTML elementos podem ser inseridos dentro de outros
elementos, isso é conhecido como aninhamento, utilizando o
exemplo visto na aula passada
● Elementos vazios
● Nem todos os elementos HTML seguem o padrão de: <tag de
abertura>conteúdo</tag de fechamento>. Alguns elementos são
compostos apenas por uma única tag, podendo ou não conter
atributos para a especificação de informações extras.
• Confira alguns exemplos de elementos vazios:
o Quebra de linha <br>
o Linha horizontal <hr>
o Imagem <img src="">
• No caso dos exemplos acima, apenas o elemento img necessita de
um atributo (src) para funcionar corretamente.
● Títulos
• O HTML possui elementos próprio para a produção de títulos e
subtítulos que deseja incluir em sua página.
• Eles são importantes pois os mecanismos de busca, como o google,
utilizam estes elementos para a indexação da estrutura e do
conteúdo do site, além disso, eles servem para guiar o usuário pelo
seu site, facilitando a localização de um determinado conteúdo, por
exemplo.
• Os elementos de título estão divididos em seis níveis, começando
do principal (mais importante) até o menos importante, a criação
de um cabeçalho é simples, basta utilizar o elemento h seguido do
número desejado, confira abaixo:
● Parágrafos
• Nas primeiras lições você digitou o texto de forma solta dentro do
elemento body, por mais que isso funcione, essa ação está errada,
você sempre deve utilizar o elemento de parágrafo para digitar um
texto.
• A criação de um parágrafo é simples, basta inserir o elemento p
com o conteúdo desejado... Lembre-se, por não se tratar de um
elemento vazio, o p depende da tag de abertura e de fechamento,
confira:
● A sintaxe do elemento
• Como dito anteriormente, o elemento img não possui uma tag de
fechamento, e possui dois atributos, o src para especificar o local
da imagem e o alt para definir um texto alternativo, confira a
sintaxe do elemento:
•
• Confira que o atributo src indica o "caminho" que o arquivo
index.html deve fazer até chegar na imagem desejada...
● A sintaxe do elemento
• Um link html é definido através do elemento a. Ele é composto das
tags de abertura e fechamento, do atributo href que é responsável
por indicar o destino do usuário, e do conteúdo (que fica entre as
tags) que será a parte visível (clicável) pelo usuário.
• Confira um exemplo:
● O atributo href
● Assim como ocorre com o atributo src do elemento img, o atributo
href necessita da indicação correta de onde o arquivo que será
carregado está, ou seja, imagine a seguinte situação:
• Ignorando a parte visual (que foi feita com CSS), confira a seguinte
tabela:
● Linhas e Células
• Toda linha é iniciada com a tag <tr> e é finalizada com a tag
</tr>.
• O tr significa table row (linha da tabela)
• Toda célula é iniciada com <td> e é finalizada com </td> - tudo
que estiver presente entre essas duas tags é o conteúdo da célula
• O td significa table data (dados da tabela). As células são os
containers da tabela e podem conter todos os tipos de elementos
HTML: texto, imagens, listas, outras tabelas, etc.
•
• Dica! A criação das listas também pode ser feita com a abreviação
Emmet, neste caso, após definição do tipo da lista (elemento
inicial), basta inserir o elemento li multiplicado (*) pela quantidade
de itens desejadas, por exemplo:
● O elemento form
• Assim como as listas e as tabelas html, o formulário possui um
elemento para indicar a sua criação, esse elemento é conhecido
como form.
• O elemento form é o container para todos os outros elementos do
seu formulário
● O elemento textarea
• O elemento textarea define uma caixa de texto com múltiplas
linhas, geralmente utilizada para que o usuário digite uma
mensagem, confira um exemplo muito comum:
● O elemento select
• O elemento select cria uma lista do tipo "drop-down", muito
utilizada para a listagem de estados do país, por exemplo.
• A criação dele é simples, inicialmente você cria a tag de abertura e
de fechamento do elemento select
● O atributo name
• É importante adicionar o atributo name em seus inputs e em todos
os elementos principais do formulário (textarea, select), ele
garante que (quando o formulário estiver funcional) o valor do
● O que é CSS?
• O CSS é um acrônimo para cascading style sheets, que em
português significa "folhas de estilo em cascata", ele é uma
linguagem de folhas de estilo usada para descrever a apresentação
de um documento escrito em HTML. O CSS descreve como
elementos devem ser mostrados na tela.
• É interessante ressaltar que, assim como o HTML, o CSS não é uma
linguagem de programação. Porém, diferentemente do HTML ele
não é uma linguagem de marcação, ele é uma linguagem de folhas
de estilo.
● A Sintaxe do CSS
• Confira um exemplo de estrutura CSS:
● Os seletores CSS
• Os seletores CSS são usados para selecionar os elementos HTML
que você deseja estilizar. Podemos dividir os seletores me cinco
categorias:
o Seletores simples (seleciona elementos com base no nome, id,
classe)
o Seletores de combinação (seleciona elementos com base em
um relacionamento específico entre eles)
o Seletores de pseudo-classe (seleciona elementos com base em
um determinado estado)
o Seletores de pseudo-elementos (seleciona e estiliza uma parte
de um elemento)
o Seletores de atributo (seleciona elementos com base em um
atributo ou valor de atributo)
● O seletor de id
● O seletor de classe
• O seletor de classe funciona da mesma maneira que o seletor de
id, a diferença é que a especificação da classe é feita através do
caractere . (ponto final), confira um exemplo:
● O seletor universal
• O seletor universal afeta todos os elementos HTML da página, ele
é indicado através do caractere *, confira o exemplo:
● O CSS interno
• O CSS interno é construído diretamente na página HTML que você
deseja modificar, ele não terá a capacidade de modificar outras
páginas.
• Para utilizar este modo, basta criar um elemento chamado style,
dentro do elemento head do seu site...
•
● Definindo a largura e a altura de um elemento
HTML & CSS 47
• Ao utilizar as propriedades CSS width (largura) e/ou height (altura)
você define o tamanho da área de conteúdo, para saber o tamanho
total do seu objeto você deve considerar o espaço utilizado por
todos os itens que compõem a caixa do CSS. Ou seja, se você
analisar o código abaixo:
• Notará que a largura do elemento div está definida em 300px,
porém, ainda é necessário adicionar as medidas presentes nas
propriedades padding e border; o resultado seria o seguinte:
● O viewport
• Viewport é o nome dado para a área visível do site pelo usuário,
ela varia de acordo com o dispositivo que o usuário estiver
utilizando. Antes do surgimento dos tablets e celulares, as páginas
da web eram projetadas apenas para as telas de computador, e era
comum que elas tivessem um design estático e um tamanho fixo.
● As propriedades background
• As propriedades background são usadas para adicionar efeitos de
plano de fundo para elementos. As propriedades disponíveis são:
o background-color
o background-image
o background-repeat
o background-attachment
o background-position
● A propriedade background-color
• A propriedade background-color permite definir uma cor para o
plano de fundo de qualquer elemento HTML. Seu uso é muito
simples, confira:
● A propriedade background-image
• A propriedade background-image especifica uma imagem a ser
usada como plano de fundo de um elemento. Por padrão, a imagem
é repetida para cobrir todo o elemento.
• Assim como a propriedade background-color, você pode utilizar a
propriedade background-image para alterar o plano de fundo de
qualquer elemento html.
• Para definir uma imagem de fundo para toda a página, utilize o
seguinte:
● A propriedade background-repeat
• Por padrão, a propriedade background-image repete uma imagem
na horizontal e na vertical, conforme visto no exemplo anterior, isso
pode resultar em um plano de fundo estranho. Se a imagem fosse
repetida apenas na horizontal, o resultado seria melhor, e é pra
isso que você pode utilizar a propriedade background-repeat. Os
principais valores para esta propriedade são:
o repeat: Este é o valor padrão, nele a imagem é repetida em
ambas as direções.
o no-repeat: Com este valor a imagem não será repetida,
sendo aplicada apenas uma vez.
o repeat-x: Com este valor a imagem será repetida na
horizontal (eixo x)
o repeat-y: Com este valor a imagem será repetida na vertical
(eixo y)
• Confira o exemplo anterior com a aplicação do valor repeat-x:
● A propriedade background-attachment
• A propriedade background-attachment especifica se a imagem de
fundo deve rolar ou ser fixa, não rolando com o resto da página.
Essa propriedade possui dois valores:
o fixed: Deixa a imagem fixada, ou seja, não acompanhando a
rolagem da página.
o scroll: Deixa a imagem "flutuando", acompanhando a
rolagem da página.
● A propriedade color
• Como o nome indica, a propriedade color permite a modificação da
cor do seu texto, o valor desta propriedade segue o mesmo padrão
utilizado para a mudança dos fundos dos elementos, ou seja, você
pode preenchê-la das seguintes maneiras:
o Nome de uma cor válida em inglês - como por exemplo: red;
(vermelho)
o Valor hexadecimal - como por exemplo: #ff0000; (vermelho)
o Valor RGB - como por exemplo: rgb(255, 0, 0); (vermelho)
● A propriedade text-decoration
• A propriedade text-decoration é uma forma prática de utilizar
outras quatro propriedades, são elas:
o text-decoration-line
o text-decoration-color
o text-decoration-style
o text-decoration-thickness
HTML & CSS 65
• A propriedade text-decoration-line permite adicionar uma linha
ao texto, seu valor pode ser:
o overline: cria uma linha acima do texto
o line-through: passa uma linha sobre o texto (tachado)
o underline: cria uma linha abaixo do texto (sublinhado)
• Essa única linha surtiria o mesmo efeito que as quatro linhas feitas
anteriormente...
● A propriedade text-transform
• A propriedade text-transform é usada para especificar letras
maiúsculas e minúsculas em um texto. Com ela podemos forçar
que as letras sejam exibidas conforme desejado,
independentemente da forma que elas forem inseridas no código
HTML. Os valores podem ser:
o uppercase: deixa todas as letras do texto maiúsculas;
o lowercase: deixa todas as letras do texto minúsculas;
o capitalize: deixa o texto capitalizado, ou seja, com a primeira
letra de cada palavra no formato maiúsculo;
● A propriedade font-family
• A propriedade font-family permite a seleção de uma fonte para o
texto de sua página. É importante ao utilizar a font-family que você
determine mais de um nome de fonte para a sua página, isso cria
um "sistema reserva", caso uma fonte não funcione ou não exista
no computador do usuário, outra fonte será utilizada.
● A propriedade font-style
• A propriedade font-style é comumente utilizada para deixar um
texto em itálico. Ela pode possuir três valores:
o normal: deixa a exibição do texto em seu estado normal
o italic: deixa o texto em itálico
o oblique: deixa o texto inclinado, bem parecido com o itálico,
porém, com um suporte de navegadores inferior
● A propriedade font-weight
• A propriedade font-weight define o "peso" da sua fonte,
normalmente utilizada para deixar o texto em negrito, além de
alguns valores numéricos, ela pode conter os seguintes valores:
o normal: deixa o texto com seu peso normal
o bold: deixa o texto em negrito
● A propriedade font-size
• A propriedade font-size permite a definição do tamanho utilizado
na fonte do seu site.
● O Font Awesome
• Para a criação destes links iremos usar um serviço chamado Font
Awesome. Ele é acessível através do seguinte link:
https://fontawesome.com
• Como o próprio site deles diz:
• A maneira mais fácil de obter ícones em seu site é com um Kit. O
Font Awesome permite a criação de seu próprio kit personalizado,
tudo empacotado apenas com os ícones, ferramentas e
configurações de que você precisa.
• A ideia é muito simples, você acessa o site, cria sua conta, cria o
seu kit, insere o código no elemento <head> da sua página e
pronto, basta inserir os ícones em sua página...
• O font awesome é um serviço pago, que tem a possibilidade de uso
em um plano gratuito. Esse plano possui algumas limitações,
porém, essas limitações não impedem sua utilização em um site de
pequeno porte.
• As principais diferenças ficam por conta da quantidade de ícones e
de estilos disponíveis, além da quantidade de visualizações
disponíveis para a sua página (10.000 por mês). Para maiores
informações, confira o seguinte link:
https://fontawesome.com/plans
•
• O estado de "hover" e "active" seriam alterados, quando o usuário
posicionar o mouse sobre ou clicar no link, o fundo teria a cor
modificada, resultando no seguinte:
● A propriedade list-style-type
• A propriedade list-style-type permite definir o estilo do marcador
ou da numeração utilizada em sua lista, ela pode conter diferentes
valores para cada tipo de lista, confira os principais abaixo:
• Listas não ordenadas:
o none: para remover os marcadores
o disc: valor padrão, marcadores circulares pretos
o circle: marcadores circulares vazados (sem preenchimento)
o square: marcadores quadrados
• Listas ordenadas:
o none: para remover os marcadores
o decimal: valor padrão, lista numerada
o decimal-leading-zero: semelhante ao valor padrão, porém,
com os números iniciando com 0.
o lower-roman: números romanos em letras minúsculas
o upper-roman: números romanos em letras maiúsculas
•
84 HTML & CSS
• Confira o seguinte código CSS:
● A propriedade list-style-image
• A propriedade list-style-image permite o uso de uma imagem como
marcador para a lista, o uso é bem simples e segue o mesmo
padrão visto para as imagens de fundo no CSS, confira:
ul.menu{
list-style-type: none;
margin: 0;
padding: 0;
overflow: auto;
background-color: coral;
border-bottom: 2px solid chocolate;
}
ul.menu li {
float: left;
}
ul.menu li.destaque{
float:right;
background-color: brown;
font-weight: bold;
}
• <!DOCTYPE html>
• <html lang="pr-bt">
• <head>
• <meta charset="UTF-8">
• <title>Exemplo de menu</title>
• </head>
• <body>
• <ul class="menu">
• <li><a href="index.html">HOME</a></li>
• <li><a href="servicos.html">SERVIÇOS</a></li>
• </ul>
• </body>
</html>
O resultado:
• O resultado:
• O resultado:
● Alterando os inputs
• Você pode alterar todos os inputs utilizando o seletor sem
especificação de tipo, confira abaixo:
● Ajustando os labels
• Utilizando a mesma ideia dos ajustes nos inputs, podemos também
alterar os labels do nosso formulário. Geralmente as alterações nos
labels envolvem as margens e a fonte utilizada, confira abaixo:
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="Seu email...">
<label for="periodo">Período</label>
<select id="periodo" name="periodo">
<option value="manha">Manhã</option>
<option value="tarde">Tarde</option>
<option value="noite">Noite</option>
</select>
• body{
• margin:20px;
• }
•
• input[type=text], input[type=email], select{
• width: 100%;
• border: none;
• box-sizing: border-box;
• background-color: white;
• }
• outline: none;
• }
•
• label, form p{
• display: block;
• margin-top: 1em;
• margin-bottom: 0em;
• font-weight: bold;
• }
•
• label[for*=excel], label[for*=exp]{
• display: inline;
• font-weight: normal;
• }
• width: 100%;
• background-color: #2085c0;
• color: white;
• margin: 2em 0;
• border: none;
• border-radius: 4px;
• cursor: pointer;
• font-weight: bold;
• text-transform: uppercase;
• }
• input[type=submit]:hover {
• background-color: #0e679b;
}
•
HTML & CSS 113
• E agora o site após o usuário utilizar a barra de rolagem,
ultrapassando a área inicial do menu
FIM DA APOSTILA
Método CGD ® - Todos os direitos reservados.
Protegidos pela Lei 5988 de 14/12/1973.
Nenhuma parte desta apostila poderá ser copiada sem prévia
autorização.