SlideShare uma empresa Scribd logo
CSS
O que você precisa saber
Copyright © 2017
Fábio Nogueira de Lucena
Instituto de Informática (UFG)
Conteúdo (1/2)
1. Introdução: definição e referências
2. Sintaxe
3. Onde depositar conteúdo em CSS?
4. Seletor
5. Documento HTML é uma árvore
6. O que faço com CSS?
7. <span> é um elemento que não possui estilo senão via CSS
8. Como “limpar” a formatação padrão?
Conteúdo (2/2)
12.float
13.Botões
14.Mais seletores
15.Portal responsivo?
16.Boas práticas para escrever regras em CSS
17.Layout
18.Font-family
19.Cores e gradientes
Introdução:
definição e
referências
O que é CSS?
● CSS é acrônimo de
Cascading Style Sheet = “folhas de estilo”
● CSS permite remover formatação de uma página HTML
CSS define como exibir
elementos HTML
CSS (exemplo)
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; }
pre { overflow: auto; }
Conjunto de regras
(rule set)
Cascading Style Sheets (CSS)
Referência (e tutorial)
Outra fonte de
referência
CSS (alvo móvel)
-webkit, -mox, -o, ...
Sintaxe
Sintaxe (seletor seguido por declarações)
● seletor
O elemento que receberá o estilo, o que está sendo formatado “lá” no documento
HTML
● propriedade : valor ;
Todas as declarações em CSS terminam em ;
Cada declaração estabelece como formatar uma característica de um elemento.
seletor { propriedade : valor ; }
Exemplo
seletor { propriedade : valor ; }
h1 { color : gray ; }
Declaração
Onde depositar
conteúdo em
CSS?
Há três “locais” de uso de CSS
1. Depositar o código em CSS em arquivos externos
aos documentos HTML
2. Depositar código em CSS no próprio documento
HTML
a. Usando <style> para todo o documento.
b. Específico por elemento por meio da propriedade style.
(não recomendada)
Arquivo externo, <style> e propriedade “style”
Seletor
(identifica elemento
que recebe o estilo)
Seletores mais comuns
● Nome de um elemento
p { color : green; }
(todos os parágrafos em verde)
● Identificador único
#nomeUnico { color : blue; }
(elemento cujo id tem como valor nomeUnico)
● Classe
.classe { color : red; }
(elementos cujo atributo class tem como valor classe)
● Classe para determinado elemento
Todo elemento footer
Todo p descendente direto de div
p, div > p e div > div > p são diferentes
Simples variação do caso anterior
Documento HTML
é uma árvore
p descendente de div descendente de div ou
div ancestral de div que é ancestral de p
Maiúsculas e
Minúsculas não fazem
diferença, mas siga
um padrão.
Um documento HTML é uma "árvore"
Document Object Model (visão geral)
Document Object Model (DOM)
(API para acesso e manipulação de HTML)
O que faço com
CSS?
Tabela (table)
Tabela formatada (table)
Tabela formatada (table)
table { width: 100%; }
faz com que tabela ocupe toda a extensão da janela
Tabela (table) (primeira coluna ocupa 65%)
Tabela ocupa 90% da janela e a primeira coluna
ocupa 65% da tabela
Tabela (table) (agora com header)
Agora a primeira linha (tr) contém elementos th
(indica header em vez de dados).
Tabela (table) (agora com header)
O valor da segunda linha foi removido (td), valor repetido,
e na primeira linha é indicado quantos linhas farão parte da “união”
<span> é um
elemento que não
possui estilo
senão via CSS
span agrupa ou relaciona elementos
Como limpar a
formatação
padrão?
CSS
Ordem de
prioridade entre
regras
“conflitantes”
Regra prática
● !important
● Inline
● ID
● Classe ou pseudo-classe
● Elemento
● Seletor universal (*)
Qual o impacto das regras abaixo?
* {
color: blue !important;
}
#vermelho {
color: red;
}
<span style=”color:red;” id=”vermelho”>Um teste</span>
style (inline) e #x “perdem” para !important
Qual a cor do texto “TESTE”?
E agora, com a inserção de “id”?
Modelo de caixa
(box model)
Elementos do box model
● Elementos possuem uma largura (width) e altura (height) ou “caixa” na qual está
inserido.
● Ao redor desta caixa há um espaço chamado de preenchimento (padding). Este
espaço não possui “background” próprio.
● Ao redor do preenchimento (padding) há uma borda (border).
● Ao redor da borda (border) há uma margem (margin).
● Por último, ao redor da borda (border) há um contorno (outline).
Elementos do modelo de caixa ilustrados
Sem preenchimento
Com preenchimento
Caixa com preenchimento torna-se maior.
Observe espaço entre o C o canto
superior esquerdo.
box-sizing: border-box;
Caixa com preenchimento mas mesmo tamanho
Observe espaço entre o b o canto superior
esquerdo.
Chrome DevTools
padding: 10px;
e a ilustração correspondente
na direita.
Chrome DevTools
padding: 30px 5px;
Superior e inferir com 30px e
esquerda/direita com 5px.
Com borda (border)
Bordas de cores, tipos e espessuras distintos
Margem
Margens superior/inferior: 10px
Esquerda/direita: 20px;
Padding superior/inferior: 30px;
Padding laterais: 5px
Largura em %
Propriedade
display
A propriedade mais importante: "display"
● Todo elemento possui um valor padrão para display.
● h1 e footer, por exemplo, o valor é block.
● a e span, por outro lado, o valor padrão é inline.
● block
○ Inicia uma nova linha
○ Ocupa todo o espaço disponível à esquerda e à direita.
● inline
○ Não altera o fluxo de posição dos elementos.
block (nova linha, todo o espaço)
span não inicia nova linha
p (estende-se por toda a largura)
span (apenas para acomodar o conteúdo)
script por padrão é none
(que pode ser alterado)
float
Imagem, título, texto e link (repetidos)
Queremos o título ao redor da bola.
A bola permanece na esquerda.
Imagem, título, texto e link (repetidos)
Queremos o título ao redor da bola.
A bola permanece na esquerda.
img {
float:left;
width: 50px;
}
Conteúdo centralizado (parte de toda página)
Conteúdo atual é
<body>
<div>...</div><div>...</div>
</body>
<div class=”wrapper”>
<div>...</div><div>...</div>
</div>
CSS
.wrapper { width: 90%; margin: 0 auto; }
Conteúdo em duas colunas
Conteúdo atual é
<div class=”wrapper”>
<div class=”col”>...</div>
<div class=”col”>...</div>
</div>
CSS
.wrapper { width: 90%; margin: 0 auto; }
.col { float: left; width: 40%; }
Conteúdo em X colunas (tamanho fixo)
Conteúdo atual é
<div class=”wrapper”>
<div class=”col”>...</div>
<div class=”col”>...</div>
</div>
CSS
.wrapper { width: 90%; margin: 0 auto; }
.col { float: left; width: 300px; }
Float
Cria um problema
(sem altura, no height)
Queremos margem antes e após as colunas
Conteúdo atual é
<div class=”wrapper”>
<div class=”col”>...</div>
<div class=”col”>...</div>
</div>
CSS
.wrapper { width: 90%; margin: 0 auto;
margin-top: 50px; margin-bottom: 50px;}
.col { float: left; width: 300px; }
div da classe wrapper não possui
altura. Margem superior e inferior
estão unidas.
Estratégia preferida por especialistas
<div class=”wrapper grouping”>
<div class=”col”>...</div>
<div class=”col”>...</div>
</div>
CSS
.grouping::after, .grouping::before {
content:” “; display:table; }
.grouping::after { clear:both; }
.wrapper { width: 90%; margin: 0 auto;
margin-top: 50px; margin-bottom: 50px;}
.col { float: left; width: 300px; }
Margin superior e inferior agora
devidamente consideradas.
Botões
Alterando apresentação quando sob o mouse
Apresentação diferente conforme botão
Transição das cores é instantânea
Como suavizar?
Acrescente ao seletor .botao conforme abaixo, a estratégia de consumir .25s, de forma
linear, para alterar todas as propriedades do elemento em questão.
transition: .25s all linear;
Ampliar o tamanho do botão sob o mouse?
transform: scale(1.1, 1.1);
Amplia o botão em 10% no eixo X
e outros 10% no eixo Y.
Mais seletores
Pseudo-classe
Pseudo-classe
Mouse “sobre” elemento :hover
Pseudo-classe
nth-child(odd) ímpares
nth-child(even) pares
O que precede e sucede um elemento
Portal responsivo?
Exemplo de portal não responsivo?
http://cursohtml.top
(no iPhone 6)
Um portal mais responsivo
https://kyriosdata.github.io/id/
Meta
<meta name="viewport"
content="width=device-width, initial-scale=1.0,
minimum-scale=1.0">
O browser não tentará “diminuir” ou “reduzir” as dimensões
proporcionalmente para acomodar a página na tela do
dispositivo.
Padrões e outros
recursos para obter
“responsividade”
Boas práticas para
escrever regras em CSS
Qual a motivação para o BEM?
De acordo com https://goo.gl/WE7i5o
O portal trulia.com possuía:
● > 16.000 regras
● 3920 propriedades “color”
● 4888 propriedades “background”, ...
BEM
Block,
Element,
Modifier
Seguindo
“boas”
práticas?
Layout
Como
centralizar?
E na vertical?
Leiaute
font-family
Google Fonts
@font-face
(para profissionais)
Adobe Typekit
Cores e
gradientes
Definindo cores
Gerador de
gradiente
/* Permalink - use to edit and share this gradient:
http://colorzilla.com/gradient-
editor/#1e5799+0,2989d8+50,207cca+51,7db9e8+100;Blue
+Gloss+Default */
background: rgb(30,87,153); /* Old browsers */
background: -moz-linear-gradient(top, rgba(30,87,153,1)
0%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 51%,
rgba(125,185,232,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(30,87,153,1)
0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1)
51%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-
6 */
background: linear-gradient(to bottom, rgba(30,87,153,1)
0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1)
51%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+,
Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient(
startColorstr='#1e5799',
endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */
Ferramentas
https://goo.gl/LvuMZJ
Ferramentas
https://goo.gl/dZn3iE
Ferramentas
https://coolors.co/
Frameworks, bibliotecas?
Bulma
Purecss.io
Flexbox Grid
Skeleton
O mais popular
Ícones e imagens
Zurbe
Font awesome
Font Awesome (exemplo de uso)
O último fica
“girando”
Unsplash
(fotos de
qualidade
gratuitas,
inclusive
para uso
comercial)
E sobre web design?
Métodos de design
● Algumas questões básicas de design em 4 minutos
● Mobile first
● Um exemplo completo (web design)
● UX (uma infinidade de métodos)
● Métodos mais comuns
Considerações finais
Observe e ambiente-se com os exemplos

Mais conteúdo relacionado

PDF
Básico em (X)HTML e CSS
PPT
Aprenda HTML e CSS
PDF
Slides Css3
PPT
Css completo(2)
PDF
PDF
XHTML Básico
PPT
Css e iFrames
PDF
Minicurso CSS: Definição e aplicação
Básico em (X)HTML e CSS
Aprenda HTML e CSS
Slides Css3
Css completo(2)
XHTML Básico
Css e iFrames
Minicurso CSS: Definição e aplicação

Mais procurados (20)

PPTX
HTML & CSS - Aula 5
PPTX
HTML & CSS - Aula 3
PDF
Programação Web - CSS
KEY
HTML/CSS Patterns
PPTX
HTML & CSS - Aula 4
PPT
CSS & JQquery
PPTX
Web em grande estilo com CSS 3
PPTX
Introdução ao CSS
PPTX
Construindo layout de sites com CSS
PDF
jQuery Simplificando o JavaScript
PDF
Css 3
PPTX
HTML - aula 1
PDF
Curso de css3 unidade 1 - introdução ao css
PPTX
HTML & CSS - Aula 2
PDF
Curso HTML, CSS e JavaScript
PDF
Html 5 -_aula_2
PDF
Introdução a HTML, CSS, JS, Ajax
PPT
03css2005
ODP
CSS - Folhas de Estilo em Cascata
PDF
Curso de Desenvolvimento Web - Módulo 02 - CSS
HTML & CSS - Aula 5
HTML & CSS - Aula 3
Programação Web - CSS
HTML/CSS Patterns
HTML & CSS - Aula 4
CSS & JQquery
Web em grande estilo com CSS 3
Introdução ao CSS
Construindo layout de sites com CSS
jQuery Simplificando o JavaScript
Css 3
HTML - aula 1
Curso de css3 unidade 1 - introdução ao css
HTML & CSS - Aula 2
Curso HTML, CSS e JavaScript
Html 5 -_aula_2
Introdução a HTML, CSS, JS, Ajax
03css2005
CSS - Folhas de Estilo em Cascata
Curso de Desenvolvimento Web - Módulo 02 - CSS
Anúncio

Semelhante a CSS (20)

PDF
RCOM 11ºAno - CSS
PPTX
PPTX
Fundamentos e Desenvolvimento de Interface Web com HTML5 & CSS3
PPTX
Aula 20 div e spans
PDF
Curso CSS 3 - Aula Introdutória com conceitos básicos
PDF
Gabarito ad1 web_2012_2
PDF
CSS - Cascading Style Sheets - 1
PDF
HTML + CSS
PDF
CSS e Bootstrap - Introdução básica
PDF
CSS Mastigado
PPTX
Dream 06
PDF
PW00 - Programação Web html e estilo CSS.pdf
PPTX
Introdução a CSS objetiva e facil mesmo.pptx
PPTX
PDF
Bootstrap praticas mais usadas
PPT
Palestra / Novidades No CSS3 / Instituto Infnet
PPT
Palestra sobre Novidades no CSS 3
PPTX
Minicurso CSS
RCOM 11ºAno - CSS
Fundamentos e Desenvolvimento de Interface Web com HTML5 & CSS3
Aula 20 div e spans
Curso CSS 3 - Aula Introdutória com conceitos básicos
Gabarito ad1 web_2012_2
CSS - Cascading Style Sheets - 1
HTML + CSS
CSS e Bootstrap - Introdução básica
CSS Mastigado
Dream 06
PW00 - Programação Web html e estilo CSS.pdf
Introdução a CSS objetiva e facil mesmo.pptx
Bootstrap praticas mais usadas
Palestra / Novidades No CSS3 / Instituto Infnet
Palestra sobre Novidades no CSS 3
Minicurso CSS
Anúncio

Mais de Fábio Nogueira de Lucena (20)

PDF
Fundamentos de Programação Front-End
PPTX
JavaScript: Aprendendo a programar
PPTX
HTML5: Primeiros Contatos (visão geral)
PDF
HTTP: Um Curso Básico
PDF
Apresentacao curso-2017-08-08
PPTX
Jornada Goiana em Engenharia de Software 2017
PPTX
PPTX
Introducao integracao
PPTX
Healthdb Visão Geral
PPTX
Engenharia de Software - planejamento pedagógico
PPTX
Arquitetura de Software EXPLICADA
PPT
Arquitetura de Software
PPTX
Arquitetura software
PPTX
Prontuário Eletrônico do Paciente
PPTX
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
ODP
Como desenvolver-software
ODP
Orientação a Objetos (3)
ODP
Orientação a Objetos (2)
Fundamentos de Programação Front-End
JavaScript: Aprendendo a programar
HTML5: Primeiros Contatos (visão geral)
HTTP: Um Curso Básico
Apresentacao curso-2017-08-08
Jornada Goiana em Engenharia de Software 2017
Introducao integracao
Healthdb Visão Geral
Engenharia de Software - planejamento pedagógico
Arquitetura de Software EXPLICADA
Arquitetura de Software
Arquitetura software
Prontuário Eletrônico do Paciente
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Como desenvolver-software
Orientação a Objetos (3)
Orientação a Objetos (2)

Último (9)

PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
TURMA modelo de modelo apresentação 4DE.pptx
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
Metodologias ágeis - Slides - aulas 1 a 5.pdf
Certificado de Conclusão Jornada Inteligência Artificial
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx

CSS