display e valores inline, block, inline-block e none
table, table-row, table-cell etc.flex e inline-flexgrid e inline-griddisplay: flex flex-direction: row | columnjustify-content: flex-start | flex-end | center | space-around | space-betweenalign-self: flex-start | flex-end | centerorder: numerodisplay: grid grid-template-rowsgrid-template-columnsgrid-row: inicio / fimgrid-column: inicio / fimMotivação SEO e Acessibilidade na Web
Doença a divitite
Cura tags semânticas
SEO Sigla para Search Engine Optimization, ou Otimização para Motores de Busca É um conjunto de técnicas para aumentar a possibilidade de um site aparecer no topo dos resultados do Google (e outros motores de busca)
Acessibilidade Possibilidade de uma pessoa consumir conteúdo das páginas web independente de condições físicas Pessoas cegas usam um programa especial (o “leitor de tela”) que lê o código HTML em voz alta para elas
div e span aninhadosdiv/span da seguinte forma:
<div id="header">...</div>
<div id="footer">...</div>
<div class="article">...</div>
<span class="time">...</div>
<div id="navigation">...</div>
divs/spans, mas que possuem
sentido para o navegador. Por exemplo:
<header></header> <!-- em vez de <div id="header"></div> -->
<footer></footer> <!-- em vez de <div id="footer"></div> -->
<article></article> <!-- em vez de <div id="article"></div> -->
<time></time> <!-- em vez de <span id="time"></span> -->
<nav></nav> <!-- em vez de <div id="navigation"></div> -->
<main></main> (block)
<header></header> (block)
section) ou artigos (article)<footer></footer> (block)
header, porém recomendado para que contenha informação típica
de um rodapé de página<article></article>
(block)
<section></section>
(block)
<nav></nav> (block)
<aside></aside> (block)
<time></time> (inline)
<mark></mark> (inline)
<address></address>
… para endereços
<abbr title=""></abbr>
… para abreviações
<blockquote></blockquote>
… para citação em bloco
<q></q>
… para citação em linha
<cite></cite>
… para referência
<code></code>
… para código fonte
<kbd></kbd>
… para teclas do teclado
<figure></figure>
… imagem, tabela ou gráfico
<figcaption></figcaption>
… legenda de imagem, tabela ou gráfico
<style>
h4 { color: black; }
h4 { color: white; }
</style>
<h4>Arthur Dent</h4> <!-- qual a cor de Arthur Dent? -->
<style>
.destaque { color: red; }
#titulo { color: green; }
h4 { color: blue; }
</style>
<h4 id="titulo" class="destaque">Ford Prefect</h4>
green)</h4>Regra 1 … Cada seletor tem uma pontuação de especificidade
Regra 2 … Se dois seletores selecionam o mesmo elemento, mas com pontuações diferentes, ganha aquele com pontuação maior
Regra 3 … Se dois seletores selecionam o mesmo elemento e têm a mesma pontuação, ganha o que foi declarado por último
Regra 4 … Estilo Inline >> Arquivo Externo e Incorporado
Regra 5 … ID >> classe e atributo >> tag
A … Contar o número de IDs no seletor
B … Contar o número de classes, atributos e pseudo-classes no seletor
C … Contar o número de tags e pseudo-elementos no seletor
. … Concatenar os três números (ABC)
#posts-recentes .post.novidade > h2 {
/* id: 1, classes: 2, tag: 1 */
/* pontuação: 121 */
}
/* seletor { propriedades } abc */
li { } /* 001 */
.destaque { } /* 010 */
li.destaque { } /* 011 */
#rodape { } /* 100 */
#rodape #logo { } /* 200 */
a[href^="www"] { } /* 011 */
tr:hover { } /* 011 */
.curiosidade::before { } /* 011 */
ul li { } /* 002 */
ul > li { } /* 002 */
h1, h2 { } /* 001, 001 */
Qual é a cor do texto?
<style>
#a .b .c { color: red; }
.d .e .f { color: green; }
.g .h #i { color: blue; }
</style>
<p id="a" class="d g">
<strong class="b e h">
<em id="i" class="c f">Texto</em>
</strong>
</p>
Pseudo-class … permitem selecionar elementos em diferentes situações
Pseudo-element … permitem estilizar certas partes de elementos
.link-para-comprar:hover { /* :hover (mouse em cima), mas tbm há :active, :visited... */
text-decoration: underline;
}
:focus contém o foco:hover mouse em cima:first-child é o último filho:last-child é o último filho:not() exceto que:nth-child() é o n-ésimo filho:nth-of-type() n-ésimo filho de tag:checked caixa marcada a:link {
text-decoration: none;
color: cornflowerblue;
}
a:visited {
color: gray;
}
a:hover {
text-decoration: underline;
}
a:active {
color: darkred;
}
*:focus {
outline: 3px dashed yellow;
}
article:nth-of-type(1) {
width: 100%;
}
article:not(:nth-of-type(1)) {
width: 50%;
}
Esta é a primeira nóticia e ela fala sobre os animais que estão enjaulados no zoológico da asa leste da cidade de Itapecerica da Serra.
Esta é a segunda nóticia e ela fala sobre os animais que estão enjaulados no zoológico da asa leste da cidade de Itapecerica da Serra.
Esta é a terceira nóticia e ela fala sobre os animais que estão enjaulados no zoológico da asa leste da cidade de Itapecerica da Serra.
p::selection {
color: white;
background-color: hotpink;
}
<p>Me selecione, bem aqui ←</p>
::pseudo-element quanto :pseudo-element::selection - seleção de texto::placeholder - descrição de input::before - conteúdo “pré-conteúdo”::after - conteúdo “pós-conteúdo”::first-letter - primeira letra::first-line - primeira linha::first-letter:
p:first-of-type::first-letter {
float: left;
font-size: 5em;
line-height: 0.6em;
padding-top: 0.1em;
}
Esta é a primeira nóticia e ela fala sobre os animais que estão enjaulados no zoológico da asa leste da cidade de Itapecerica da Serra.
.novidade::before {
content: "Novidade!";
display: inline-block;
background: orange; /* ... */
}
É muito comum que um site tenha um “menu principal” que é uma lista de itens na horizontal . #comofaz?
padding-left da <ul> ➡️<li>s em inline-block ou usar flexbox para a <ul> 🌟#menu-principal {
list-style-type: none;
}
<li><li> ou <a> no estado de :hover indicando ser “clicável”padding) os links em <li> para aumentar área “clicável”