3. Na aula anterior...
• Como usar o CSS
• Vantagens e Utilidades do CSS
• Sintaxe
• Efeito Cascata
• Especificidade
4. Na aula anterior...
selectors1.css selectors2.css
E
E F
E, E (grouping)
E#id
E.Class
.class.class
E:link
E:active
E:visited
E:first-line
E:first-letter
*
E > F
E:first-child
E:hover
E:focus
E + F
E[attr]
E[attr=“name”]
E[attr~=“name”]
E:before
E:after
7. E ~ F
<!-- html -->
<div>
<p> Lorem ipsum </p>
<blockquote>
<p>Lorem ipsum dolor sit
amet, consectetur
</p>
<p>Phasellus nec libero eu
mi gravida pretium id in
diam.
</p>
</blockquote>
</div>
/* css */
p { color: black; }
p ~ p { color: green; }
Lorem ipsum dolor sit
amet, consectetur
Phasellus nec libero
eu mi gravida pretium
id in diam.
Lorem ipsum
Phasellus nec libero
eu mi gravida pretium
id in diam.
8. E[attr]
<!-- html -->
<div>
<p class=“lorem-ipsum”>
Lorem ipsum </p>
<blockquote>
<p class=“inicio”>Lorem
ipsum dolor sit amet,
consectetur
</p>
<p class=“fim nota”>Phasellus
nec libero eu mi gravida
pretium id in diam.
</p>
</blockquote>
</div>
/* css */
p { color: black; }
p[class*=“ini”] { color: green; }
p[class|=“lor”] { color: orange; }
p[class^=“fim”] { color: blue; }
Lorem ipsum dolor sit
amet, consectetur
Phasellus nec libero
eu mi gravida pretium
id in diam.
Lorem ipsum
p[class$=“nota”] { color: red; }
Phasellus nec libero
eu mi gravida pretium
id in diam.
9. E:nth-of-type
<!-- html -->
<div>
<p> Lorem ipsum </p>
<div>
<p>Lorem ipsum dolor sit amet</p>
<p> consectetur </p>
<p>Phasellus nec </p>
<p>libero eu mi</p>
</div>
<div>
<p>gravida pretium id in diam</p>
</div>
</div>
/* css */
p { color: black; }
p:last-nth-of-type(2){ color: red;}
p:nth-of-type(2){ color: green; }
p:first-of-type { color: orange; }
p:last-of-type { color: blue; }
p:only-of-type { color: purple; }
consectetur
Phasellus nec
Lorem ipsum dolor sit amet
libero eu mi
Lorem ipsum
gravida pretium id in diam
Lorem ipsum
Lorem ipsum dolor sit amet
consectetur
Phasellus nec
libero eu mi
gravida pretium id in diam
10. Test Drive
1. Escrever os seletores css para atribuir:
a. cor ao link precedido de span
b. cor ao segundo item da lista
c. cor ao segundo input, contando do ultimo
d. cor ao último input
e. cor ao um elemento que seja único
f. cor ao elemento com class começando
com up
g. cor ao elemento com class terminando em
div
h. cor ao elemento com class que contenha
‘do’
<!--html-->
<div id=“content” class=“div”>
<div class=“up_div first”>
<p>Lorem Ipsum</p>
<span><a>Era uma vez</a></span>
<a>Era uma vez</a>
</div>
<div class=“down_div”>
<ul>
<li class=‘da’>Item 1</li>
<li class=‘do’>Item 2</li>
</ul>
</div>
<div>
<form>
<input type=‘text’ value=‘um’/>
<input type=‘password’/>
<textarea></textarea>
<input type=‘submit’ value=‘ir’>
</form>
</div>
</div>
span ~ a
li:nth-of-type(2)
input:nth-last-of-type(2)
input:last-of-type
p:only-of-type
div[class^=“up”]
div[class$=“div”]
div[class*=“do”]
span:only-of-type
12. E:nth-child <!-- html -->
<div>
<p> Lorem ipsum </p>
<div>
<p> Lorem ipsum dolor sit amet </p>
<p> consectetur </p>
<p> Phasellus nec </p>
<p> libero eu mi </p>
</div>
<div>
<p> gravida pretium id in diam </p>
</div>
</div>
/* css */
p { color: black; }
p:nth-last-child(3){ color: red;}
p:nth-child(odd) { color: green; }
p:last-child { color: blue; }
p:only-child { color: purple; }
Lorem ipsum
Lorem ipsum dolor sit amet
consectetur
Phasellus nec
libero eu mi
gravida pretium id in diam
consectetur
Phasellus nec
Lorem ipsum dolor sit amet
libero eu mi
gravida pretium id in diam
13. E:empty E:target <!-- html -->
<div>
<p></p>
<div>
<p><a href=“#fim”>Lorem ipsum</a>
dolor sit amet, consectetur
</p>
<p id=“fim”>Phasellus nec
libero eu mi gravida
pretium id in diam
</p>
</div>
</div>
/* css */
p { color: black; }
p:empty {
border: 1px dashed red;
}
p:target {
border: 1px dotted green;
}
Lorem ipsum dolor sit
amet, consectetur
Phasellus nec libero eu mi
gravida pretium id in diam
14. E:checked E::selection
<!-- html -->
<div>
<p></p>
<div>
<p><a href=“#fim”>Lorem ipsum</a>
dolor sit amet, consectetur
</p>
<p id=“fim”>Phasellus nec
libero eu mi gravida
pretium id in diam
</p>
</div>
</div>
/* css */
p { color: black; }
p::selection {
background: blue;
}
input:checked {
margin-left: 30px;
}
Lorem ipsum dolor sit
amet, consectetur
15. E:enabled E:disabled E:not <!– html -->
<div>
<input type=“text” />
<input type=“text” disabled=“disabled” />
<div>
<p>Lorem ipsum dolor sit amet</p>
<p id=“fim”>Phasellus nec libero
eu mi gravida pretium id </p>
</div>
</div>
/* css */
input:enabled {
border-color: green;
}
input:disabled {
border-color: red;
background-color: gray;
}
p:not(#fim) { color: red; }
Lorem ipsum dolor sit amet
Phasellus nec libero eu mi
gravida pretium id
Phasellus nec libero eu mi
gravida pretium id
16. Test Drive
1. Escrever o código css para selecionar os
elementos para atribuir:
a. cor ao parágrafro que for único em uma
div
b. borda ao último filho do formulário
c. cor quando um parágrafo ou link for
selecionado
d. sublinhar um item do formulário quando
for marcado
e. tamanho e borda a um elemento vazio
f. borda ao elemento alvo do link
g. cor a um lemento desabilitado
h. estilo itálico a parágrafos, exceto com
classe ‘up’
<!--html-->
<div id=“content” class=“div”>
<div class=“up div first”>
<p>Lorem Ipsum</p>
<span><a>Era uma vez</a></span>
<a href=“opa”>Era uma vez</a>
<p></p>
</div>
<div class=“down div”>
<p>Lista</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
<div>
<form id=“opa”>
<input type=‘text’ value=‘um’/>
<input type=‘password’/>
<input type=‘checkbox’/> ir
<input type=‘text’
disabled=‘disabled’ />
</form>
</div>
</div>
div p:only-child
form:last-child
p::selection, a::selection
input:checked
input:empty
p:target
input:disabled
p:not(.up)
27. Test Drive
1. Criar um arquivo default.css
2. Nas suas páginas html chamar o default.css
3. Em index.html adicione à div a class content
4. No arquivo css, edite o layout da tela inicial:
a. atribua um tamanho fixo ao content
b. centralize o content
c. coloque uma borda cinza e tracejada
d. atribua um espaçamento interno
5. Atribua css às tabelas de tabela de table.html de forma que:
a. cada tabela possua um id
b. Exista uma margem entre as tabelas
c. O head da 1ª tabela seja verde
d. As células de conteúdo tenham cor #eee
e. A 2ª tabela tenha bordas pontilhadas e cinza
f. A dimensão da 2ª tabela seja 300 x 100
g. As células da 2ª tabela que possuam rowspan sejam azuis
h. As células da 2ª tabela que não possuam rowspan ou colspan, sejam
laranjas
28. Test Drive
6. Atribua css ao formulário de form.html de forma que:
a. os inputs de texto possuam o mesmo tamanho
b. as entradas de texto estejam alinhadas no 2º formulário (usar apenas os
recursos ensinados até o momento)
c. o fieldset tenha um background cinza claro com borda dupla cinza escuro
d. estabelecer um espaçamento entre os itens de 10px
e. Todo input, exceto o de senha tenham fundo amarelo (yellow)
7. Adicione no form.html um botão para voltar para a página inicial
a. determine um tamanho fixo de forma que o botão seja bem visível
b. Cor do botão lilás
c. Borda larga, cinza e outset
8. Aplicar o content do index na página do form
9. Crie um arquivo chamado menu.html e crie um menu vertical com itens e seus
sub-itens, diferenciando por cor do texto e cor de fundo.
10. Em layout.html faça a demonstração do modelo de caixa diferenciando por cor
de fundo e borda (margem, borda, espaçamento e conteúdo)
E ~ F -> Casa com qualquer elemento F precedido pelo elemento E.
E[attr^=“name”] -> Corresponde a um elemento E cujo valor do atributo "attr" começa exatamente com a string "nome“
E[attr|=“name”] -> Coincide com qualquer elemento E cujo valor do atributo "attr" é uma lista de valores separados por hífen, sendo o primeiro exatamente igual ao "nome"
E:nth-of-type -> Corresponde a um elemento E, que é o irmão n-º do seu tipo
E:last-nth-of-type -> Corresponde a um elemento E, que é o irmão n-º do seu tipo, a contar da última
E:first-of-type -> Corresponde a um elemento E, que é o primeiro irmão do seu tipo
E:last-of-type -> Corresponde a um elemento E, que é o último irmão do seu tipo
E:only-of-type -> Corresponde a um elemento E, que é o único irmão do seu tipo
E:nth-child -> Corresponde a um elemento E, a criança n-th de seu pai (pode usar odd ou even ou fórmulas)
E:nth-last-child -> Corresponde a um elemento E, a criança n-th de seu pai, contando a partir da última
E:last-child -> Corresponde a um elemento E, quando E é o último filho de seu pai.
E:only-child -> Corresponde a um elemento E, que é o único filho de seu pai.
E:empty -> Corresponde a um elemento E, que não tem filhos, incluindo os nós de texto
E:target -> Corresponde a um elemento E estar no alvo da URI referindo
E:checked -> Um usuário E elemento de interface que está marcada (por exemplo, um botão de rádio ou caixa)
style:
none: nenhuma borda
hidden: equivalente a none
dotted: borda pontilhada
dashed: borda tracejada
solid: borda contínua
double: borda dupla
groove: borda entalhada
ridge: borda em ressalto
inset: borda em baixo relevo
outset: borda em alto relevo
style:
none: nenhuma borda
hidden: equivalente a none
dotted: borda pontilhada
dashed: borda tracejada
solid: borda contínua
double: borda dupla
groove: borda entalhada
ridge: borda em ressalto
inset: borda em baixo relevo
outset: borda em alto relevo