<video src="videos/fendadobiquini.mp4" controls></video>
<video width="320" height="240" controls>
<source src="bob-esponja.mp4" type="video/mp4; codecs=avc1.42E01E,mp4a.40.2">
<source src="bob-esponja.webm" type="video/webm; codecs=vp8,vorbis">
Seu navegador não suporta o elemento video.
</video>
bob-esponja.mp4 (i.e., o primeiro)
bob-esponja.webm (2º)@font-face {...}:
@font-face {
font-family: "Emblema One"; /* dando um nome à fonte */
src: url("fonts/EmblemaOne-Regular.woff2") format('woff2'), /* 1º formato */
url("fonts/EmblemaOne-Regular.ttf") format('ttf'); /* 2º formato */
}
h1 {
font-family: "Emblema One", sans-serif;
}
sans-serif)blockinlineinline-blocknonetabletable-rowtable-cellflex e inline-flex grid e inline-grid block, para definir um elemento com comportamento blockinline, similarmente, para inlineinline-block, similar a block, porém sem quebra de linhanone, sem renderizaçãotable-* e os bacanões flex e grid div { display: inline; }
span { display: block; }
a[href*="xxx"] { display: none; }
block e a
possibilidade de ter um fluxo lateral (sem quebra de linha), como
inline. Exemplo:
<div class="passo">Instalar</div>
<div class="passo">Aprender</div>
<div class="passo">Programar</div>
.passo {
display: inline-block;
width: 150px;
height: 150px; /* ... */
}
table, table-cell, table-column, table-column-group,
table-footer-group, table-header-group, table-row,
table-row-group, inline-tableHoje em dia: preferimos flex ou grid ;)
flex, inline-flexrow) ou coluna (column) com filhosdisplay: flex e display: inline-flex, foram introduzidas outras propriedades. Exemplos:flex-direction
~ row (padrão), column, row-reverse, column-reverse
~ dispõe filhos na horizontal (se row) ou vertical (column)
justify-content
~ flex-start (padrão), center, space-around, space-between…
~ define como distribuir o espaço que sobrou
align-items
~ stretch (padrão), flex-start, center…
~ define posição dos elementos no “contraeixo”
ul.horizontal {
display: flex;
justify-content: space-around;
/* tirar coisas que vem na <ul> */
list-style-type: none;
padding-left: 0;
}
ul.horizontal > li {
flex: 1; /* crescer com peso 1 */
/* espacinho e centralização */
margin-right: 4px;
text-align: center;
}
display: flex no pai display). Ex:
flex-direction (linha ou coluna)justify-content (como dist. espaço)flex-wrap (continuar na próxima linha ou coluna?)
display: flexflex-direction define o eixo principal e o contraeixo
flex-wrap se precisar quebra linha?
justify-content distribui espaço em branco no eixo principal
align-items alinhamento no contraeixo
align-content distribui espaço em branco no contraeixo
flex-wrap !== nowrapflex define o peso do elemento no eixo na hora de definir seu tamanho
flex-grow, flex-shrink e flex-basisalign-self alinhamento no contraeixo apenas deste filho
gap define um espaço mínimo entre filhos
order define uma ordem diferente da do código fonte
display: grid (e inline-grid), várias novas propriedades foram introduzidasgrid<main>
<header></header>
<nav></nav>
<section></section>
<footer></footer>
</main>
main {
display: grid;
grid-template-rows: 200px 1fr auto;
grid-template-columns: 300px 1fr;
}
header {
grid-column: 1 / 3;
}
nav {
grid-column: 1 / 2;
grid-row: 2 / 3;
}
section {
grid-column: 2 / 3;
grid-row: 2 / 3;
}
footer {
grid-column: 1 / 3;
grid-row: 3 / 4;
}
display: grid ou inline-gridgrid-template-columns, grid-template-rows definem quantidade e tamanho de colunas e linhas
.container {
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}
grid-column, grid-row especifica as calhas da célula onde o filho será colocado
.item-a {
grid-column: 2 / 5;
grid-row: 1 / 3;
}
grid-template-areas dá nomes às áreas da grid
.container {
display: grid;
grid-template-columns: repeat(1fr, 4);
grid-template-rows: repeat(1fr, 3);
grid-template-areas:
"header header header header"
"main main . sidebar"
"footer footer footer footer";
}
. é uma célula vaziarepeat(n, valor) é um atalhogrid-area especifica nome da área onde o filho será colocado
.item-a {
grid-area: header;
}
.item-b {
grid-area: main;
}
.item-c {
grid-area: sidebar;
}
.item-d {
grid-area: footer;
}
gap: define espaço entre linhas e colunas
.container {
gap: 15px 10px;
}
justify-items align-itemsjustify-contentalign-contentgrid-auto-columns, grid-auto-rowsjustify-self align-self