Escolar Documentos
Profissional Documentos
Cultura Documentos
DESENVOLVIMENTO WEB
AULA 2
2
informação e sua classificação, bastando para isso alterar apenas o arquivo do
CSS.
a) b) c)
seletor { h1 {
seletor { propriedade : valor ; } propriedade: valor ; color: blue;
} }
a) b)
<html>
<head>
<title> CSS </title>
<style>
h1 {
color: blue;
}
</style>
</head>
3
<body>
<h1>Elemento H1</h1>
<p> Elemento p </p>
</body>
</html>
a) b) c)
<style>
h1 {
font-size: 16px;
font-weight: normal;
}
p{
font-size: 16px;
}
</style>
4
poderá ficar na frente da tela do sistema, enquanto o operador não clicar em
alguma parte da tela com o mouse.
Nesta aula, serão vistas algumas propriedades para exemplificar o seu
uso. Nas práticas, outras propriedades serão utilizadas, mas nem todas as
propriedades existentes do CSS serão comentadas, pois são muitas e com
diferentes variações de valores na aplicação. Recomenda-se como uma das
fontes de consulta sobre as propriedades existentes do CSS a lista de referência
da Fundação Mozilla desenvolvedora do navegador Firefox (Mozilla, 2020).
Uma sugestão para aprofundar o entendimento e uso das propriedades é
pesquisar os elementos utilizados na formatação das telas que serão vistas nas
aulas sobre JavaScript e Angular, assim como nas aulas práticas, para identificar
outras variações de valores e novas formas de aplicação. Assim o leitor vai
experimentando formas alternativas de utilização das propriedades do CSS e
aumentando seu repertório.
No Quadro 4 foi criada uma lista com um conjunto básico de propriedades
e uma descrição simplificada para iniciar o entendimento dos exemplos didáticos
na sequência.
TEXTO: BORDAS:
font-size: tamanho da letra. border-style: tipos de linhas (pontilhada,
text-transform: opções de maiúscula ou dupla, tracejada).
minúsculas. border-(top/right/bottom/left): identifica
lateral da borda a ser alterada.
text-align: alinhamento de texto com relação
as laterais. Border-radius: arredondamento do canto da
borda.
font-family: tipo de fonte de letra a ser
utilizada (Arial, Times New Roman). Border: atalho que pode configurar várias
características das bordas numa única
propriedade.
CORES: ESPAÇAMENTO:
background-color: cor do fundo. margin-(top/right/bottom/left): indica o
color: cor do texto. espaço externo do elemento.
padding-(top/right/bottom/left): indica o
espaço interno ao elemento.
5
Para alterar algumas das propriedades, pode-se utilizar como seletor um
elemento HTML já existente ou pode-se criar um termo específico. Esse termo
deve estar associado posteriormente a um elemento HTML dentro do
documento, usando os atributos “id=” ou “class=”, como será visualizado nos
próximos exemplos.
No Quadro 5, temos um exemplo de várias das propriedades listadas no
quadro anterior (Quadro 4) sendo aplicadas no mesmo seletor.
a) b)
<style>
p{
font-size: 16px;
border: 2px dashed brown;
color: blue;
background-color: lightgray;
}
</style>
6
a. o seletor agora não é o nome de uma tag HTML, mas sim um termo
“.quadroAula” que poderá ser aplicado a vários tipos diferentes de tags;
b. o termo usado como seletor tem um “.” no início, indicando que poderá ser
aplicado com um atributo “class=’quadroAula’”;
c. somente o elemento <p> com o atributo class foi formatado, o outro
elemento <p> não;
d. o elemento <h1> foi formatado, mas manteve o negrito original, pois nas
propriedades aplicadas não havia nenhuma que alterava o estilo da fonte.
a) b) c)
</style>
7
1.2 Cascata
Até este ponto da aula, utilizamos a tag <style> na área <head> para
configurar os seletores e suas propriedades, que depois seriam aplicadas aos
elementos do documento.
Mas existem duas outras formas de incluir e alterar propriedades no
documento: importando um arquivo CSS externo, ou aplicando um atributo CSS
diretamente no elemento HTML. E todas as formas podem ser utilizadas no
mesmo documento, o que nos leva a verificar como o navegador vai tratar os
conflitos na aplicação das propriedades.
Essa característica faz parte do nome do CSS (cascade ou cascata) e se
refere a possibilidade de organizar a ordem de aplicação da formatação (CSS1,
1996).
Na Figura 1, temos um diagrama que mostra uma sequência genérica de
aplicação de formatação CSS num documento, em que as três formas são
utilizadas.
8
Quadro 8 – Conflito de aplicação de CSS
1.4 Cores
3% 3% Paladar
4% Tato
Olfato
11% Audição
Visão - Formas
Visão - Cor
59%
20%
11
Quadro 10 – Comparação entre RGB, HSL e termo em inglês
Uma comparação entre o padrão RGB, HSL e o termo Fuchsia pode ser
visto no Quadro 10. Nessa comparação foi identificado visualmente o tom de cor
no padrão HSL que fosse semelhante ao padrão RGB usado no exemplo
anterior. Também foi pesquisado o termo padronizado em inglês semelhante aos
dois padrões (RGB e HSL). O resultado, no quadro 10 – (b), mostra que as
tonalidades de cores podem ser representadas e usadas na construção da
interface do sistema independente do padrão utilizado.
1.5 Tableless
a) Estilos: b) Aplicação:
<style> <h2> Colunas iniciando pela lateral Esquerda</h2>
.col { <p class='col'> Coluna de teste n.1</p>
float: left; <p class='col'> Coluna de teste n.2</p>
width: 25%; <p class='col'> Coluna de teste n.3</p>
padding: 5px; <p class='col'> Coluna de teste n.4</p>
margin: 0px;
box-sizing: border-box; <h2> Colunas iniciando pela lateral Direita</h2>
border: 1px solid red; <p class='col2'> Coluna de teste n.1</p>
12
} <p class='col2'> Coluna de teste n.2</p>
.col2 { <p class='col2'> Coluna de teste n.3</p>
float: right; <p class='col2'> Coluna de teste n.4</p>
width: 25%; c) Resultado:
padding: 5px;
margin: 0px;
box-sizing: border-box;
border: 1px solid blue;
}
</style>
No Quadro 11 (a), no seletor col foi feita uma divisão da largura da tela de
forma proporcional (25%) indicando que um total de 4 espaços poderiam ser
utilizados. Para distribuir os elementos na tela e eles ficassem lado a lado, foi
configurado a propriedade float indicando a ordem inicial pela esquerda left.
Assim os parágrafos com a classe col foram sendo apresentados iniciando com
o texto “Coluna de teste n.1” na lateral esquerda e os demais sendo posicionados
no lado esquerdo deste primeiro texto. Para facilitar a visualização, foi formatada
uma borda simples vermelha.
Mas, ao indicar que a largura do elemento seria 25%, qualquer pixel a
mais sendo posicionado na tela junto aos 4 parágrafos teria ultrapassado a
largura total, que é o caso da borda de 1 pixel (duas laterais com um pixel de
borda vezes os 4 parágrafos teríamos 8 pixels a mais). Para que todos esses
espaçamentos fossem utilizados pelo navegador, também no cálculo da largura
(25%) foi atribuída a propriedade de “box-sizing: border-box;”. Dessa forma, não
houve necessidade de calcular os pixels utilizados na borda ou no espaçamento
do texto na largura total das colunas.
No exemplo do Quadro 11 também é apresentada a propriedade float com
o valor right, indicando que a disposição dos elementos iniciaria pela lateral
direita. Isso pode ser comprovado pela ordem que foram inseridos os elementos
de parágrafo que estavam com a classe “col2”. Ficaram ao contrário dos
elementos da classe col acima.
13
Essa forma de posicionar os elementos e criar a visão de colunas e linhas
através do CSS é mais flexível e é processada pelos navegadores de forma mais
rápida. Conforme a versão do CSS disponível no navegador, outras formas de
posicionamento são liberadas para facilitar a diagramação da interface.
14
Um exemplo é inserir uma imagem ou uma tabela com uma largura de
100%, o que faria com que estes dois itens se adaptassem ao tamanho da tela.
Uma propriedade incluída no CSS permite também a montagem de layout
em grade (grid), que é semelhante ao uso de tabelas, mas que foi desenvolvido
com a expectativa de ser responsivo. Assim, o desenvolvedor de interfaces pode
usar esse método como alternativa ao uso de tabelas e floats, como mostrado
no Quadro 12.
a) b)
<h2> Colunas sem formatação</h2>
<style> <div class='grade-completa'>
.grade-completa { <p> Coluna de teste n.1</p>
display: grid; <p> Coluna de teste n.2</p>
grid-row-gap: 10px; <p> Coluna de teste n.3</p>
grid-template-columns: auto <p> Coluna de teste n.4</p>
auto auto auto; </div>
padding: 5px; <h2> Colunas formatadas</h2>
border: 1px solid red; <div class='grade-completa'>
} <p class='col-grade'> Coluna de teste n.1</p>
.col-grade { <p class='col-grade'> Coluna de teste n.2</p>
background-color: lightgray; <p class='col-grade'> Coluna de teste n.3</p>
padding: 5px; <p class='col-grade'> Coluna de teste n.4</p>
margin: 5px; </div>
border: 2px solid green;
c)
}
</style>
Saiba mais
16
Quadro 13 – Condição de aplicação do float, conforme resolução
a) b)
<style> <h2>
.col { 4 ou 2 colunas conforme resolução.
float: left;
</h2>
width: 25%;
<p class='col'> Coluna de teste n.1</p>
padding: 5px;
<p class='col'> Coluna de teste n.2</p>
margin: 0px;
box-sizing: border-box; <p class='col'> Coluna de teste n.3</p>
border: 1px solid red; <p class='col'> Coluna de teste n.4</p>
} </div>
@media screen and (max-width: 600px) {
.col {
float: left;
width: 50%;
padding: 2px;
margin: 0px;
box-sizing: border-box;
border: 1px solid blue;
}
}
</style>
17
b. Resolução da tela do navegador menor que 600px.
18
Quadro 15 – Uso de variáveis
19
TEMA 4 – BOOTSTRAP
20
Nesta tela, foram utilizados botões, listas personalizadas e opções para
cor e sombra, combinados com CSS normal.
<head>
<title> página principal </title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-
beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-
giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-
beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-
ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"
integrity="sha384-
lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ"
crossorigin="anonymous">
</head>
Com essa configuração o Bootstrap pode ser chamado por meio das
classes pré-configuradas, e no último link foi incluído também uma fonte externa
chamada Awsome, que contém muitos ícones que podem ser usados na
interface.
5.1 Componentes
21
Quadro 18 – Componentes Bootstrap
a)
<img src='logo.png' style='width:100px; heigth:
50px' class='rounded-circle shadow'>
b)
<ul class='list-group'>
<li class='list-group-item bg-primary'>
Cadastro >>
</li>
<li class='list-group-item bg-primary'>
Consulta
</li>
<li class='list-group-item bg-primary'>
Gráficos
</li>
</ul>
c)
<div class="btn btn-success btn-icon-split btn-
sm">
<i class="fas fa-check"></i>
<input type="submit" name="grava"
value="Grava" class="btn btn-success btn-sm">
</div>
22
Quadro 19 – Componentes adicionais para sistemas web
a)
<div class="dropdown">
<button type="button" class="btn btn-
info dropdown-toggle" data-
toggle="dropdown">
Menu principal
</button>
<div class='dropdown-menu'>
<h1 class='dropdown-header'>
Opções:</h1>
<a class='dropdown-item'
href='/item1.html'> Cadastro </a>
<a class='dropdown-item'
href='/item2.html'> Consulta </a>
<a class='dropdown-item'
href='/item3.html'> Gráficos </a>
<div class="dropdown-divider"></div>
<a class='dropdown-item'
href='/sobre.html'> Sair...</a>
</div>
b)
<div class="alert alert-danger alert-
dismissible">
<button type="button" class="close" data-
dismiss="alert">×</button>
<strong>Atenção!</strong> O login e
senha não conferem!!
</div>
c)
<button type="button" class="btn btn-
primary">
Clientes faturados <span class="badge
badge-light">47</span>
</button>
Na opção (a), temos um menu dinâmico que lista as opções ao ser clicado.
É muito usado em interfaces para mostrar opções do usuário ou de rápido
acesso. Na opção (b), um quadro dinâmico que será fechado e liberado o espaço
ocupado ao clicar no x do canto superior direito. E, na opção (c), um botão que
pode dar acesso a um relatório do sistema, mas que também informa um dado
23
numérico dentro do próprio botão, permitindo o usuário avaliar antes se precisa
ou não clicar no botão com base na informação adicional.
Na Figura 4, um exemplo da aparência de um conjunto de abas dinâmicas
que mostram conteúdo diferente ao serem clicadas. Cada aba mostra uma tabela
com informações de Faturas pagas ou Faturas em aberto.
24
<tr><td>Transportes SA</td><td>1.680,00</td><td>16/11/2020</td></tr>
</table>
</div>
<div id="aberto" class="container tab-pane fade"><br>
<h3>FATURAS EM ABERTO </h3>
<table class='table table-striped'>
<tr><td>Fornecedor</td><td>Valor</td><td>DT vencto</td></tr>
<tr><td>Industria de cimentos SA</td><td>8.150,00</td><td>14/03/2021</td></tr>
</table>
</div>
</div>
</div>
FINALIZANDO
25
REFERÊNCIAS
26
W3C. Media Queries Level 5. W3C, 31 jul. 2020. Disponível em:
<https://www.w3.org/TR/mediaqueries-5/>. Acesso em: 10 mar. 2021.
27