Na última aula… (2/3)descend./filho
p strong todo <strong> descendente de <p> (filho, neto etc.)p > strong todo <strong> filho direto de <p>atributo
img[alt] toda <img> que tem atributo alt="..."a[href$=".html"] todo <a> apontando para um .html etc.estado do link
a:link, a:visited, a:hover, a:activenegação
img:not([alt]): <img> sem o atributo alt<div>...</div><span>...</span>
<h1> quanto no <h2>!h1, h2 {
background: url(coelho.png) #ff6d6d;
background-repeat: no-repeat;
background-position: right top;
}
<div>...</div> pode ser usada para agrupar elementos<body>
<div id="topo-da-pagina">
<h1>Coelhos Vampiros</h1>
<h2>De onde vêm, onde vivem ...</h2>
</div>
<p>Sexta-feira, no Globo Repórter</p>
</body>
#topo-da-pagina {
background: url(coelho.png) #ff6d6d;
background-repeat: no-repeat;
background-position: right top;
}
<div></div> serve para agrupar outros elementos<p> é um parágrafo (i.e., conteúdo)<img> é uma imagem (i.e., conteúdo)<div> é um agrupamento de elementosblockÉ um mecanismo genérico que nos permite criar uma estrutura ou agrupamento de elementos quando não há outro elemento HTML mais apropriado, e ela pode ser estilizada usando CSS ou manipulada com JavaScript Containers genéricos na W3C
html
<div id="topo-da-pagina">
<h1>Título do site</h1>
<h2>Subtítulo</h2>
</div>
css
#topo-da-pagina {
background-color: #4400ac;
color: #fffff;
}
—
<body>
➡️ <div id="conteudo">
<h1>Tesouros</h1>
<table><!-- ... --></table>
<p>Ajude Barba-Ruiva ...</p>
➡️ </div>
</body>
body { background: url(ilha.png) }
#conteudo {
background: white;
}
<span></span> tem exatamente
a mesma função que div, porém inline
<div>, vai quebrar linha (ele é block)<span>, que é inline!
O preço da <span class="produto">camisa adornada</span> é
de <span class="preco">R$ 29,90</span>.
<p>
O <span class="artista">Chimbinha</span> é rei, mas
<span class="artista">Joelma</span> é diva intergalática.
</p>
.artista {
background: url(imgs/musica.png) no-repeat left;
padding-left: 20px; color: #ff3399; /* rosa choque */
}
O Chimbinha é rei, mas Joelma é diva intergalática.
width e height
padding) border) margin)
width) ou altura (height) de
um elemento, estamos definindo o tamanho
do conteúdo da caixa,
e não da caixa inteira

Elementos inline ignoram os valores de:
width, heightmargin-topmargin-bottom
Se sabemos a dimensão total de um elemento, que também contém
padding e/ou border, como calcular seus (width, height)?

width e height de um elemento
usando a propriedade box-sizing :
box-sizing: content-box (valor padrão)
width = largura do conteúdo box-sizing: border-box
width = conteúdo +
padding +
border As margens do elemento formam um espaçamento externo e não usam espaço dentro da caixa.

Para voar, basta errar o chão. Douglas Adams no Guia do Mochileiro das Galáxias
![]()
inline e blockblock
inline
block e inline, juntos
float

Flutuando o parágrafo à direita:
p#amazing {
width: 200px;
float: right;
}
block: passam a ignorar o elemento flutuanteinline: respeitam o flutuanteblock) e o texto dentro deles (inline)…
clear no
elemento interruptor clear pode ser:
left ou right: interrompe apenas as flutuações à esquerda ou à direitaboth: interrompe ambos ladosnone: não interrompe (valor padrão)#proximo-assunto {
clear: right;
}
1ª tentativa:
.preco { float: right; }
.preco { float: right; }
.item { float: left; }
.preco { float: right; }
.item { float: left; }
.comida{ clear: both; }