Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidade 3
Introdução ao CSS
Programação web
Unidade 3
Introdução ao CSS
Programação web | Unidade 3 - Introdução ao CSS
Objetivos de aprendizagem:
• Apresentar o CSS, ou folha de estilo, que permite diferentes tipos de formatações, como bordas,
cores, fundo etc.
• Ensinar os vários tipos de seletores do CSS que podem ser utilizados para personalizar as páginas:
seletor de tags, seletor de classes, seletor de IDs, seletor de atributos e seletores de pseudoclasse e
pseudoelemento.
• Ensinar a solucionar problemas nas formatações das páginas HTML por meio da inspeção das folhas
de estilo pelo navegador.
Tópicos de estudo:
• A sintaxe do CSS;
• Seletores CSS;
Iniciando os estudos:
CSS (Cascading Style Sheets, em português “Folha de Estilo em Cascata") é uma linguagem que descreve como
os elementos HTML devem ser exibidos no seu navegador. Ele permite controlar fontes, cores, margens,
linhas, alturas, larguras, imagens de fundo, posicionamentos etc. Atualmente a linguagem está na versão 3 e
como você vai ver nas próximas unidades, o CSS simplifica muito a vida dos desenvolvedores web, pois ele
separa o código HTML de sua formatação, além de permitir a reutilização de uma determinada formatação
em mais de uma página web. Essas duas vantagens reduzem a quantidade de código nas suas páginas e
melhora a legibilidade do seu HTML.
3
Programação web | Unidade 3 - Introdução ao CSS
1 A SINTAXE DO CSS
Como mencionado anteriormente, o HTML é utilizado para indicar o conteúdo da sua página, já o CSS é
uma linguagem para especificar como os documentos são apresentados para os usuários. Repare que
nas suas páginas HTML os cabeçalhos (<h1>) já são maiores que os textos normais dentro dos pará-
grafos (<p>) e os parágrafos geram uma quebra de linha e um espaço entre ele e o próximo elemento
HTML. Os links (<a>) são coloridos e sublinhados para distingui-los do restante do texto. Veja a figura 1
abaixo, por exemplo:
4
Programação web | Unidade 3 - Introdução ao CSS
O que você está vendo é o estilo padrão que o navegador aplica ao HTML para garantir que ele seja
legível. Porém, a web seria um lugar sem graça se todos os sites fossem assim. É por esse motivo que é
possível utilizar o CSS para alterar a formatação de todos os elementos da página HTML, como demos-
trado no site abaixo (figura 2):
5
Programação web | Unidade 3 - Introdução ao CSS
Assista
Acesse na plataforma o vídeo: Introdução ao CSS
Acredite, as imagens acima são da mesma página HTML, porém a última possui um conjunto de estilos
CSS aplicados aos seus elementos. Você pode ver o comportamento dinâmico do site, acessando o ende-
reço https://pagina-com-varios-estilos.tarleylana.repl.co/. Clique em um estilo do menu (Estilo 1, Estilo 2,
Estilo 3 ou Estilo 4) para que um novo conjunto de estilos seja aplicado à página, o que altera completa-
mente o seu formato. Por exemplo, veja o segundo estilo aplicado (figura 3):
6
Programação web | Unidade 3 - Introdução ao CSS
7
Programação web | Unidade 3 - Introdução ao CSS
Aprofunde-se
O CSS possui 17 cores nomeadas:
h1 {
background-color: #4CAF50;
color: #ffffff;
8
Programação web | Unidade 3 - Introdução ao CSS
1) A regra é iniciada com um seletor. Como o próprio nome diz, esse item seleciona o elemento
HTML que será estilizado. Nesse caso, são selecionados todos os elementos <h1> da página.
2) Em seguida há um conjunto de chaves { } que delimitam o estilo CSS. Dentro, você vai declarar
uma ou mais propriedades com os seus respectivos valores (no formato chave:valor).
3) Antes dos dois pontos há a propriedade. Após os dois pontos, o valor. Existe uma lista de
propriedades CSS possíveis, cada uma possui diferentes valores permitidos. Por exemplo, as
propriedades color e background-color, no exemplo acima, podem assumir vários valores de
cores em hexadecimal RGB.
seletor { body {
} }
Este estilo será aplicado ao elemento <body> do HTML, alterando a cor de fundo, a cor, a fonte e o
tamanho da letra.
9
Programação web | Unidade 3 - Introdução ao CSS
Aprofunde-se
Existem diversos tipos de propriedades CSS, logo você vai entender que é difícil decorar
todos os tipos. Para auxiliá-lo, mantenha nos favoritos do seu navegador a lista de possíveis
propriedades:
https://developer.mozilla.org/pt-BR/docs/Web/CSS/CSS_Reference
Até agora, foi explicada a sintaxe do CSS, porém você ainda não deve ter entendido como ele pode ser
aplicado às suas páginas HTML. Existem três formas:
No primeiro método, você utiliza o atributo style (que as tags HTML possuem) para escrever o código
CSS. Por exemplo, caso seja necessário colorir de vermelho uma página HTML, você pode escrever o
seguinte código:
</body>
Caso seja necessário mais de uma propriedade, você deve utilizar o ponto e vírgula para separá-las. O
exemplo abaixo aplica ao texto uma margem de 50 pixels (50px), um tamanho de 18 pontos (18pt), estilo
negrito e cor de fundo amarelo.
10
Programação web | Unidade 3 - Introdução ao CSS
texto diferente
</span>
</p>
A segunda maneira de aplicar o CSS a sua página é pelo uso da tag <style> do HTML:
<html>
<head>
...
<style type=”text/css”>
body {
background-color: blue;
}
</style>
</head>
<body>
<p>Esta é uma página com fundo azul</p>
</body>
</html>
Neste método, você cria um bloco style no cabeçalho do HTML (entre as tags <head> </head>). Dentro
do bloco, você cria as regras CSS. No exemplo acima, foi criada uma regra que se aplica ao elemento
<body> do seu documento, mudando a cor de fundo para azul.
11
Programação web | Unidade 3 - Introdução ao CSS
O exemplo abaixo mostra como criar mais de uma regra CSS utilizando o método interno:
<html>
<head>
...
<style type=”text/css”>
body {
background-color: #567895;
}
h1 {
font-size: 24pt;
font-family: “Impact, Arial, Sans-Serif”;
background-color: black;
color: white;
}
p {
font-size: 14pt;
font-family: cursive;
color: black;
}
</style>
</head>
<body>
<h1>Método Interno</h1>
<p>Podemos criar mais de uma regra de estilo desta forma</p>
</body>
</html>
12
Programação web | Unidade 3 - Introdução ao CSS
Reflita
No exemplo acima, foi utilizada a propriedade font-family para especificar o tipo de letra
que o elemento HTML deve utilizar. Porém, a regra h1 aplica três diferentes fontes:
h1 {
...
font-family: “Impact, Arial, Sans-Serif”;
...
}
O que seria isso? Por que não foi utilizado apenas um tipo de fonte?
O motivo é que as fontes não são específicas de CSS e precisam ser instaladas no
computador do usuário ou baixadas para que o CSS as aplique. Logo, é possível que você
utilize em seu site uma fonte que não exista na máquina do seu cliente. A solução para
esse problema é utilizar a técnica acima chamada de fallback. A ideia é que o navegador
tentará usar a fonte que você especificou primeiro (Impact), mas se não tiver essa fonte
disponível ele tentará a próxima (Arial), se todas falharem ele tentará a Sans-Serif.
A terceira maneira de aplicar o CSS a sua página é criando um arquivo de estilos externo e, na sua página
HTML, utilizar a tag <link> para referenciar esse arquivo. Por exemplo, no arquivo externo.html, você
utiliza os estilos descritos no arquivo style.css, que está no diretório css.
13
Programação web | Unidade 3 - Introdução ao CSS
<html>
<head>
...
</head>
<body>
...
Essa é a estrutura do projeto web, repare que o arquivo de estilo está dentro de um diretório css para
separar arquivos HTML de arquivos CSS. Você pode colocar qualquer nome para esta pasta, porém,
lembre-se de atualizar o atributo href=”<nome do diretório>/style.css”. com o novo nome do diretório,
conforme a figura 6.
Aprofunde-se
Existem algumas fontes que são consideradas “seguras para a web” – isso significa
que a maioria dos computadores que visitarem o seu site possuem uma dessas fontes
instaladas e, portanto, o navegador vai utilizá-la. Alguns exemplos são: Arial, Times New
Roman, Courier, Geórgia e Verdana. Para ver a lista completa, acesse:
http://web.mit.edu/jmorzins/www/fonts.html
14
Programação web | Unidade 3 - Introdução ao CSS
body {
background-color: #567895;
}
h1 {
font-size: 24pt;
font-family: “Impact, Arial, Sans-Serif”;
background-color: black;
color: white;
}
p {
font-size: 14pt;
font-family: cursive;
color: black;
}
15
Programação web | Unidade 3 - Introdução ao CSS
Reflita
Existem três formas de se aplicar o CSS. Qual delas é a mais recomendada para sites
profissionais?
O método recomendado é o de referenciar uma folha de estilos externa, pois, ao separar o
código HTML do código CSS, os seus arquivos HTML serão menores e mais legíveis. Outra
grande vantagem desse método é o aumento da produtividade por meio da reutilização
de regras de estilo, pois uma regra CSS pode ser aplicada a N arquivos HTML, como
demonstrado na figura abaixo:
16
Programação web | Unidade 3 - Introdução ao CSS
Aprofunde-se
As tags <font> e <center>, além dos atributos bgcolor e align são alguns dos vários
elementos do HTML que se tornaram obsoletos e não estão mais disponíveis no HTML
5, pois suas funções são mais bem desempenhadas pelo CSS. Para ver a lista completa,
acesse o endereço:
https://www.tutorialspoint.com/html5/html5_deprecated_tags.htm
É recomendado não utilizar esses elementos nos seus sites, mesmo que o seu
navegador ainda o suporte, pois a ideia é que o item possa ser removido em uma
versão futura do navegador.
No próximo tópico você vai aprender na prática como aplicar regras CSS aos elementos de um HTML.
Reflita
O que acontece quando mais de um estilo é aplicado ao mesmo elemento HTML?
Quando as propriedades são diferentes, o navegador resolve de forma simples,
adicionando ao elemento as diferentes propriedades de cada regra. Porém, quando
existem conflito de propriedades (ex.: uma regra coloca a cor da letra verde e outra regra
coloca a cor da letra azul), o navegador resolve utilizando uma precedência baseada no
que é mais específico para o mais genérico. Conforme descrito abaixo:
Por exemplo, se a letra azul for aplicada por meio do atributo style (métódo in-line) e a cor
verde por meio de um estilo em um arquivo externo (método externo), o navegador vai
aplicar ao elemento a cor azul.
Lembre-se disso, pois você vai enfrentar situações em que está tentando aplicar um estilo
a um elemento, mas ele não funciona, como se o navegador ignorasse seu código CSS.
17
Programação web | Unidade 3 - Introdução ao CSS
2 SELETORES CSS
Assista
Acesse na plataforma o vídeo: Introdução ao HTML
• Seletor de elemento;
• Seletor universal;
• Seletor de ID;
• Seletor de classe;
• Seletor de estado;
• Media query.
18
Programação web | Unidade 3 - Introdução ao CSS
Sua tarefa é construir uma página idêntica à apresentada acima. Durante o desenvolvimento, você vai
aprender técnicas para a construção de páginas estilizadas.
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8”>
<meta name=”viewport” content=”width=device-width”>
<title>Seletores CSS</title>
</head>
19
Programação web | Unidade 3 - Introdução ao CSS
<body>
<h2>Seletores CSS</h2>
<p>
<section>
<nav>
<ul id=”menulist”>
<li class=”menuitem”>
<a href=”#”>Análise e Desenvolvimento de Sistemas</a>
</li>
<li class=”menuitem”>
<a href=”#”>Jogos Digitais</a>
20
Programação web | Unidade 3 - Introdução ao CSS
</li>
<li class=”menuitem”>
<a href=”#”>Sistemas de Informação</a>
</li>
</ul>
</nav>
</section>
<article>
<aside>
<h1>Análise e Desenvolvimento de Sistemas</h1>
<p>
O tecnólogo com esta formação desenvolve, analisa, projeta, implementa e
atualiza sistemas de informação. Tem noções de gerenciamento, mas sua especialidade é
a criação de sistemas informatizados: programação de computadores e desenvolvimento de
softwares para ampliar a capacidade dos recursos do equipamento.
</p>
<p>
Ele implanta e desenvolve banco de dados. Conhece a estrutura física dos
equipamentos e seus periféricos, e precisa se manter muito atualizado sobre aplicati-
vos, ambientes operacionais e linguagens de programação. Além disso, precisa ter boa
noção dos negócios da companhia para a qual trabalha.
</p>
</aside>
</article>
<footer>
Newton - 2020 - Todos os direitos reservados.
</footer>
</body>
</html>
Gaste um tempo estudando esse código, pois ele será a base de todos os exemplos de seletores CSS
deste tópico.
Uma dica sobre o aprendizado de programação é que você aprende mais quando coloca a mão na massa,
então acesse o endereço https://repl.it/@TarleyLana/seletores-CSS-pratica e siga os passos descritos aqui.
Lembre-se de autenticar a ferramenta Repl.it para que o código fique salvo no seu perfil.
21
Programação web | Unidade 3 - Introdução ao CSS
A primeira tarefa seria a escolha de uma das três formas de aplicar o CSS:
Porém, como já explicado anteriormente, o método externo é o mais recomendado, habitual e útil. Logo,
essa será a escolha da prática.
Para aplicar o método externo, você deve criar um arquivo (pode ser na mesma pasta em que se encontra
o documento HTML) e colocar o nome dele de style.css, conforme a figura 8:
Para ligar o style.css ao index.html, adicione a seguinte linha em algum lugar dentro do <head> do
documento HTML:
O elemento <link> informa ao navegador que esse arquivo HTML utiliza o arquivo CSS descrito no atri-
buto href. Para testar se tudo está correto, adicione a regra abaixo ao seu arquivo style.css:
h1 {
color: #84c754;
Execute a sua página (botão no topo da ferramenta). Se sua página estiver conforme a figura
9 abaixo, parabéns! Você aplicou com sucesso o CSS ao documento HTML. Se nada aconteceu, revise
cuidadosamente o seu código para ver se digitou tudo certo.
22
Programação web | Unidade 3 - Introdução ao CSS
O teste acima aplicou o estilo ao elemento <h1> utilizando um seletor de elemento. Esse seletor busca
no HTML elementos pelo tipo descrito no início da regra. Por exemplo, para aplicar um determinado
estilo a todos os parágrafos do documento (tag <p>), você deve escrever a regra no seguinte formato:
p {
/* Informe as propriedades aqui */
}
23
Programação web | Unidade 3 - Introdução ao CSS
Para alterar a cor e a fonte de todos os parágrafos <p> e dos itens de lista <li>, você deve escrever o
seguinte código:
p {
color: #666;
font: 100% Lucida Sans, Verdana;
}
li {
color: #666;
font: 100% Lucida Sans, Verdana;
}
Veja que os estilos acima são idênticos. Quando isso ocorre, você pode simplificar o código agrupando os
seletores. Para isso, você coloca os elementos separados por vírgula, como o código abaixo:
p, li {
color: #666;
font: 100% Lucida Sans, Verdana;
}
Como dito no tópico passado, todos os navegadores aplicam estilos básicos no HTML. Veja que os títulos
são grandes e estão em negrito, a lista possui marcadores e os links estão sublinhados.
Contudo, alguns estilos podem não ser o que você deseja para sua página, por exemplo essa lista com
as disciplinas:
Atual Esperado
24
Programação web | Unidade 3 - Introdução ao CSS
Para atender ao desenho solicitado, você deve remover os marcadores da lista, o sublinhado dos textos
e mudar a cor de azul para preto. Você pode fazer isso utilizando as seguintes propriedades:
a {
text-decoration: none;
color: black
}
ul {
list-style-type: none;
}
O valor none das propriedades text-decoration (tag <a>) e list-style-type (tag <ul>) removem toda a
formatação do elemento.
Aprofunde-se
As propriedades text-decoration e list-style-type são excelentes propriedades para
se pesquisar na documentação da MDN. Lá você vai descobrir que, além de remover a
formatação, é possível aplicar outros estilos aos elementos, por exemplo:
text-decoration: none; /* Sem decoração */
text-decoration: underline red; /* Sublinhado vermelho */
text-decoration: underline wavy red; /* Sublinhado ondulado vermelho */
e
list-style-type: disc; /* Um círculo preenchido (valor padrão) */
list-style-type: circle; /* Um círculo oco */
list-style-type: square; /* Um quadrado cheio */
list-style-type: decimal; /* Números decimais começando com 1 */
Para saber mais, acesse:
https://developer.mozilla.org/pt-BR/docs/Web/CSS/text-decoration
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
Você deve ter reparado um problema no seletor de elemento. Veja que ele altera todos os elementos
que coincidem com o tipo informado. Isso pode afetar elementos que você não deseja, como é o caso
da primeira lista do documento.
25
Programação web | Unidade 3 - Introdução ao CSS
Atual Esperado
Existem vários seletores que podem resolver esse problema, um exemplo é o seletor chamado combi-
nador descendente, no qual você indica a localização do elemento que você quer aplicar o estilo. Por
exemplo, se você quer alterar somente o estilo padrão da segunda lista, você pode indicar que o seu estilo
deve ser aplicado a toda lista <ul> que está dentro de um elemento <nav>, conforme o código abaixo:
style.css index.html
nav ul { <section>
list-style-type: none; <nav>
} <ul id=”menulist”>
...
</ul>
</nav>
</section>
Desta forma, a primeira lista permanece inalterada, pois ela não está dentro de um elemento <nav>. Já
a segunda recebe o estilo conforme solicitado na prática.
Reflita
Você notou alguma diferença entre o agrupamento de seletores e o seletor combinador
descendente?
Cuidado para não errar durante a utilização de um ou de outro, pois é um detalhe
muito sutil.
No agrupamento, você escreve os seletores separados por vírgula. Já no seletor
combinador descendente, você separa os seletores por espaço.
26
Programação web | Unidade 3 - Introdução ao CSS
Outro seletor que você pode gostar de experimentar é o combinador irmão adjacente, que estiliza um
elemento que vem diretamente após um outro no mesmo nível de hierarquia no HTML. Por exemplo, o
texto “**Redimensione a janela do navegador para ver o efeito responsivo.**” deve ter uma fonte menor
que os textos anteriores, além do estilo itálico. Para isso, coloque um + entre os seletores conforme
código abaixo:
style.css index.html
ul + p { <h2>Seletores CSS</h2>
font-style: italic; <p>
font-size: 90%; ...
} </p>
<ul>
Repare que o texto está dentro de um parágrafo <p> que vem diretamente após uma lista <ul> (os dois
no mesmo nível de hierarquia). Por esse motivo se utilizou o seletor ul + p { ... }.
Agora você vai estilizar o texto “Cursos de Graduação” para dar uma cara mais profissional ao site.
Adicione a seguinte regra ao arquivo style.css.
header {
background-color: black; /* cor de fundo preto */
padding: 30px; /* será explicado a seguir */
text-align: center; /* centraliza o texto */
font-size: 35px; /* tamanho da fonte 35 pixels */
}
27
Programação web | Unidade 3 - Introdução ao CSS
Para aprender a posicionar elementos em sua página, primeiro você deve entender como funciona as
propriedades padding (utilizada acima) e margin. Veja a figura 10 abaixo:
A propriedade padding define uma distância entre o conteúdo de um elemento e suas bordas. Já a
propriedade margin define a área de margem nos quatro lados do elemento. O valor definido é aplicado
aos quatro lados (acima, direita, abaixo e esquerda), porém você pode definir o valor de um determinado
lado utilizando as propriedades: margin-top, margin-right, margin-bottom, margin-left, padding-top, paddin-
g-right, padding-bottom e padding-left.
28
Programação web | Unidade 3 - Introdução ao CSS
Até o momento, todos os elementos do site estão um abaixo do outro, pois cada elemento cria uma linha
na página. Para posicionar os elementos em colunas, você precisa conhecer as propriedades:
• clear: essa propriedade especifica que o elemento e os elementos flutuantes a seguir devem
ser movidos para baixo, em uma nova linha.
• width: essa propriedade determina a largura da área de um elemento. Porém para calcular a
largura total ocupada pelo elemento, você deve considerar o tamanho da borda, da margem
e do padding.
• height: essa propriedade determina a altura da área de um elemento. Porém, para calcular a
altura total ocupada pelo elemento, você deve considerar o tamanho da borda, da margem e
do padding.
• box-sizing: essa propriedade é utilizada para alterar a forma de cálculo das larguras (widths)
e alturas (heights) dos elementos.
29
Programação web | Unidade 3 - Introdução ao CSS
Primeiro, será alterada a forma de cálculo das larguras e alturas de todos os elementos da página. Para
isso, adicione a seguinte regra:
* {
box-sizing: border-box;
}
O seletor acima é chamado de seletor universal; o asterisco indica que todos os elementos do HTML
serão selecionados e terão o box-sizing como border-box. Isso facilitará o posicionamento dos
elementos na página, pois ao informar uma largura (width) e uma altura (height) dos elementos, você
não precisa considerar o padding e a border, devendo apenas considerar na conta o valor da margin.
Agora adicione o estilo ao <nav> para posicionar o menu à esquerda da tela, limitando sua altura em 300
pixels e sua largura ocupando 30% da tela.
nav {
float: left;
width: 30%;
height: 300px;
padding: 20px;
30
Programação web | Unidade 3 - Introdução ao CSS
O próximo passo é fazer com que o conteúdo principal <aside> ocupe os 70% restante da largura da tela
e tenha a mesma altura do menu (300 pixels). Para isso, adicione o estilo abaixo:
aside {
float: left;
padding: 20px;
width: 70%;
background-color: #f1f1f1;
height: 300px;
}
31
Programação web | Unidade 3 - Introdução ao CSS
Por fim, o estilo do <footer>, no qual o texto será alinhado à direita, com o tamanho da letra em 80% e
com a propriedade clear, que define que esse elemento e os seguintes devem ser movidos para uma
nova linha:
footer {
color: #272900;
text-align: right;
font-size: 80%;
padding: 5px;
clear: both;
}
32
Programação web | Unidade 3 - Introdução ao CSS
Até agora, você estilizou a página usando somente os nomes e posições dos elementos. Porém, existem
dois outros tipos de seletores que permitem um maior controle, por exemplo o seletor de ID (identifi-
cação) e o seletor de classe. Veja o código abaixo do menu:
<ul id=”menulist”>
<li class=”menuitem”>
<a href=”#”>Análise e Desenvolvimento de Sistemas</a>
</li>
<li class=”menuitem”>
<a href=”#”>Jogos Digitais</a>
</li>
<li class=”menuitem”>
<a href=”#”>Sistemas de Informação</a>
</li>
</ul>
33
Programação web | Unidade 3 - Introdução ao CSS
Repare que o elemento <ul> possui um atributo id (um identificador único desse elemento em todo
o documento), o valor é livre e você pode defini-lo como bem entender, porém é recomendado que
esse valor não se repita no documento. A identificação de um elemento é única dentro de uma página,
portanto, o seletor de identificação é usado para selecionar um elemento exclusivo. Para selecionar um
elemento pelo id, você utiliza o caractere hash (#) seguido pelo id do elemento, conforme código abaixo:
#menulist {
margin: 0;
padding: 0;
}
O seletor de classe seleciona elementos HTML com um atributo de classe específico. Veja os elementos
<li> com os atributos class. Para selecionar elementos com uma classe específica, escreva um caractere
de ponto (.), seguido pelo nome da classe, conforme código abaixo:
.menuitem {
background-color: #f1f1f1;
border: 1px solid #d4d4d4;
border-radius: 20px;
padding: 10px;
margin-top: 10px;
cursor: pointer;
}
Ao contrário do id, o valor do atributo class pode repetir no HTML, o que permite a reutilização dos
estilos em sua página.
34
Programação web | Unidade 3 - Introdução ao CSS
Você pode aplicar a classe menuitem a qualquer elemento da página para que ele fique com a mesma
aparência dos itens do menu lateral. Por exemplo, você pode desejar que um determinado <span>
também fique com bordas arredondadas e fundo cinza. Experimente adicionar ao <span>INSCRE-
VA-SE</span> a classe menuitem e, em seguida, recarregue a sua página para ver o que acontece.
Vale ressaltar que você pode combinar vários seletores e combinadores. Por exemplo:
li.menuitem {
...
}
Essa sintaxe seleciona somente elementos li que tenham uma classe menuitem. Se você fizer isso, o
<span>, criado anteriormente, não terá mais o estilo aplicado.
35
Programação web | Unidade 3 - Introdução ao CSS
Outro exemplo:
body h1 + p .menuitem {
...
}
Isso estilizará qualquer elemento com a classe menuitem, a qual está dentro de um <p>, que vem logo
após um <h1>, que, por sua vez, está dentro de um <body>. Ufa! Não se preocupe, com o tempo e
prática, você vai se acostumar a ler e escrever códigos CSS complexos.
Você também tem a opção de estilizar elementos baseados em seus estados. Por exemplo, o elemento
link <a> possui diferentes estados, dependendo se ele foi visitado, se não foi visitado, se o mouse está
acima dele ou se ele foi clicado. Você pode selecionar esses diferentes estados indicando o elemento,
seguido de dois pontos (:), seguido de seu estado, conforme código abaixo:
a:link {
color: darkblue;
}
a:visited {
color: green;
}
a:hover {
color: tomato
}
O CSS acima estiliza o link não visitado com a cor darkblue, já quando o link é visitado, ele fica com a cor
verde, e quando o mouse está em cima do link ele fica vermelho.
O último tipo de estilo que você vai aprender é uma novidade do CSS 3, as media queries. Uma media
query consiste em uma expressão condicional que permite a aplicação de um determinado estilo,
dependendo do dispositivo em que a página será apresentada. Com isso, você vai conseguir adaptar
o conteúdo para um smartphone, tablet, notebook ou uma smart TV. Por exemplo, ative o Responsive
Design Mode do seu navegador.
36
Programação web | Unidade 3 - Introdução ao CSS
Caso o atalho não funcione, tente acessar pressionando F12 e, em seguida, procure o seguinte
ícone .
Veja que em telas menores existe um impacto na disposição dos elementos da página, conforme a figura
16 a seguir:
A solução é utilizar a seguinte media query para deixar a sua página adaptada para esses tipos de dispositivos:
37
Programação web | Unidade 3 - Introdução ao CSS
Essa query especifica que o estilo deve ser aplicado quando o dispositivo tiver uma largura de até 900
pixels. O estilo modifica a largura do menu e do conteúdo para 100%, ocupando assim todo a largura da
tela. O tamanho não está mais fixo em 300 pixels, ocupando o tamanho do conteúdo. O resultado é o
seguinte, conforme a figura 17:
Aprofunde-se
Cada vez mais as pessoas utilizam smartphones para navegar na internet, porém grande
parte das páginas não está preparada para atender esse tipo de dispositivo. O web design
responsivo reage às necessidades dos usuários e seus dispositivos. Para aprender mais
sobre as boas práticas que permitem criar páginas adaptativas às diferentes telas, acesse
o endereço:
https://developers.google.com/web/fundamentals/design-and-ux/responsive?hl=pt_br
38
Programação web | Unidade 3 - Introdução ao CSS
Você pode criar lógicas mais complexas com as media queries usando operadores lógicos, como:
and
not
only
Você também pode combinar múltiplas medias queries em uma lista separadas por vírgulas:
Aprofunde-se
A media query possui diversas condicionais que podem ser utilizadas, daria mais um
tópico de estudo para tratar desse assunto. Para saber mais, acesse o endereço:
https://developer.mozilla.org/pt-BR/docs/Web/Guide/CSS/CSS_Media_queries
Neste tópico, você aprendeu várias maneiras de estilizar um documento usando o CSS. Agora, você já
sabe o suficiente para estilizar as suas páginas. Lembre-se sempre de que é possível pesquisar as infor-
mações de propriedades e seus valores na documentação da MDN. Você também pode ver o código
completo do exemplo acima no endereço: https://repl.it/@TarleyLana/seletores-CSS.
Aprofunde-se
Existem inúmeras opções de seletores CSS. A lista completa, incluindo os novos seletores
do CSS 3, você pode encontrar no endereço:
https://www.w3schools.com/cssref/css_selectors.asp
39
Programação web | Unidade 3 - Introdução ao CSS
Assista
Acesse na plataforma o vídeo: Depurando o CSS
Em alguns casos, você vai se deparar com um código CSS que não faz o que você espera. O problema
pode ser um seletor que não corresponde a um elemento (e o estilo não é aplicado), ou um elemento
tem um tamanho diferente do esperado, ou mais de uma regra está sendo aplicada ao mesmo elemento
(criando um conflito de propriedades). Este tópico fornece orientações sobre a ferramenta DevTools,
que vai permitir depurar seu código HTML/CSS e descobrir o que está acontecendo. Essa ferramenta
permite que você veja o resultado do HTML em execução, bem como o CSS aplicado em cada elemento
da página. Ele também permite realizar mudanças no código HTML e CSS, e toda alteração é imediata-
mente reproduzida na janela do navegador.
https://seletores-css.tarleylana.repl.co/
O DevTools está disponível para Internet Explorer, Firefox, Chrome, Safari e Opera, porém esse tópico
está baseado no Firefox. Não se preocupe, as funcionalidades mais importantes estão disponíveis para
todos os navegadores.
• Ou o mouse: clique com o botão direito na página e selecione Inspect Element no menu que
aparece.
40
Programação web | Unidade 3 - Introdução ao CSS
41
Programação web | Unidade 3 - Introdução ao CSS
Por padrão, a ferramenta abre o inspetor (figura acima). Ative o modo inspecionar, clicando no botão
42
Programação web | Unidade 3 - Introdução ao CSS
À direita do seu HTML, você pode ver uma aba com o nome Rules:
Essa aba mostra todas as regras aplicadas ao elemento selecionado. As regras são apresentadas em
ordem de precedência, das mais específicas para as menos específicas.
Abaixo, são descritos alguns dos recursos dessa aba que são especialmente úteis:
• Remover regra CSS: clique nas caixas de seleção ao lado de cada declaração para ver o que
aconteceria se você removesse a declaração.
43
Programação web | Unidade 3 - Introdução ao CSS
• Editando uma propriedade: clique no nome ou no valor de uma propriedade para exibir uma
caixa de texto na qual você pode digitar um novo valor. A alteração tem efeito imediato no
navegador.
44
Programação web | Unidade 3 - Introdução ao CSS
• Adicionando uma propriedade: clique na chave de fechamento de qualquer regra para abrir
uma caixa de texto em uma nova linha, na qual você pode escrever uma declaração completa-
mente nova para a sua página.
• Origem da regra CSS: ao lado de cada regra está o nome do arquivo e o número da linha em
que a regra está definida. Se você clicar no link, a ferramenta exibe o conteúdo completo do
arquivo CSS, onde você pode editar as regras.
45
Programação web | Unidade 3 - Introdução ao CSS
Além da Rules, você notará outras abas na parte superior da ferramenta. Abaixo, uma descrição das
funcionalidades mais úteis para você:
• Fonts: exibe as informações da fonte aplicada ao elemento selecionado. Você pode utilizar os
controles para editar de forma fácil as configurações de fonte.
O DevTools pode ser de grande ajuda na resolução de problemas de CSS, portanto, quando você se
encontrar em uma situação em que o CSS não está se comportando conforme o esperado, use todas as
funcionalidades dessa ferramenta para simular a correção do problema. Ao final, lembre-se de aplicar as
correções no seu código, pois as alterações no DevTools são feitas somente em memória.
Aprofunde-se
Os navegadores esperam que os seus CSS e HTML sejam escritos corretamente. No
entanto, os navegadores também perdoam e farão o possível para exibir suas páginas,
mesmo se houver erros no seu código HTML ou no seu CSS. Nesse caso, o navegador
precisa adivinhar o que você quis dizer e pode tomar uma decisão diferente da que você
tinha em mente. Além disso, navegadores diferentes podem lidar com o problema de
maneiras diferentes. Por esse motivo, é muito importante você validar seu HTML ou CSS,
utilizando uma ferramenta de análise sintática, para detectar e corrigir erros.
Para validar o seu código CSS, acesse o endereço:
https://jigsaw.w3.org/css-validator/
Já para a validação de HTML, acesse o endereço:
https://validator.w3.org/
46
Programação web | Unidade 3 - Introdução ao CSS
CONSIDERAÇÕES FINAIS
Parabéns, você concluiu a unidade 3 desta disciplina e já pode estilizar as páginas do estudo de caso.
Nesta unidade, você se familiarizou com a linguagem CSS e adquiriu um pouco de prática aplicando
alguns estilos às páginas HTML na ferramenta Repl.it. Também aprendeu a utilizar as ferramentas de
depuração para encontrar problemas de formatação. Continue firme nos estudos!
47
Programação web | Unidade 3 - Introdução ao CSS
GLOSSÁRIO
DOM: o Modelo de Objeto de Documentos (do inglês Document Object Model) é uma API definida pelo
W3C para representar e interagir com qualquer documento HTML ou XML. O DOM é um modelo de
documento carregado pelo navegador, representado por meio de uma árvore de “nós”, na qual cada um
desses “nós” representa uma parte do documento (por exemplo um elemento, texto ou comentário). O
DOM é uma das APIs mais usadas na web porque ele permite que cada código rodando no navegador
acesse e interaja com cada "nó" do documento. Os “nós” podem ser criados, movidos ou modificados.
Listeners de evento podem também ser adicionados aos "nós" para serem disparados quando um dado
evento ocorrer.
HTML: a HyperText Markup Language é utilizada para definir e descrever semanticamente o conteúdo de
uma página da web seguindo um formato bem estruturado. Com o HTML é possível criar documentos
estruturados, constituídos por blocos chamados elementos, que são delineados por tags e escritos
usando os caracteres de menor que (<) e maior que (>). Alguns introduzem conteúdo diretamente na
página, outros fornecem informações sobre o texto do documento e podem incluir outras tags como
subelementos. Obviamente os navegadores não os exibem, pois são usados para interpretar o conteúdo
da página.
JavaScript: o JavaScript (JS) é uma linguagem de programação utilizada principalmente no lado do cliente
para scripts de páginas web dinâmicas, mas também é utilizado no lado do servidor.
48
Programação web | Unidade 3 - Introdução ao CSS
REFERÊNCIAS
ALVES, W. P. Desenvolvimento e Design de Sites. 1. ed. São Paulo: Érica, 2014.
GOOGLE DEVELOPERS. Princípios básicos do Web design responsivo, 2018. Disponível em: https://deve-
lopers.google.com/web/fundamentals/design-and-ux/responsive?hl=pt_br Acesso em: 10 jan. 2020.
MIT. Safe web fonts. Disponível em: http://web.mit.edu/jmorzins/www/fonts.html Acesso em: 26 dez. 2019.
W3C. CSS Color Module Level 3, 2019. Disponível em: https://www.w3.org/TR/css-color-3/ Acesso em: 25
dez. 2019.
49