Reset CSS global do projeto.
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
position: relative;
padding: 0;
margin: 0;
overflow-x: hidden;
}
body {
font-family: var(--font-family);
}
button,
input,
select,
textarea {
font-family: inherit;
}
ul {
padding: 0;
margin: 0;
list-style: none;
}
a {
text-decoration: none;
color: inherit;
cursor: pointer;
}
h1,
h2,
h3,
p,
a,
blockquote,
dd {
margin: 0;
padding: 0;
}
O display inline e block são dois tipos de display que podem ser usados para controlar como um elemento é exibido na página. O display inline é usado para exibir um elemento como uma linha, enquanto o display block é usado para exibir um elemento como um bloco. O display inline-block é usado para exibir um elemento como um bloco, mas com a possibilidade de ser inline.
Inline
Inline block
Block
.inline {
display: inline;
border: 1px solid red;
margin: 4px;
}
.inline-block {
display: inline-block;
border: 1px solid red;
margin: 4px;
}
.block {
display: block;
border: 1px solid red;
margin: 4px;
}
Demonstrações visuais das propriedades de CSS Grid.
align-content · justify-content · place-content
align-items · justify-items · place-items
align-self · justify-self · place-self
Estados especiais de um elemento, sem precisar adicionar classes no HTML.
a {
display: inline-block;
padding: 1rem 2rem;
font-size: 1.5rem;
font-family: Arial;
text-decoration: none;
background: #caf;
color: #217;
}
a:focus {
outline: 3px solid #217;
outline-offset: 4px;
}
a:active {
background: #217;
color: #caf;
}
a:visited {
background: #acf;
color: #512;
}
Seletores estruturais para escolher elementos pela posição na lista.
Seleciona o primeiro elemento.
Seleciona o último elemento.
4 (quarto elemento), even (pares), odd (ímpares), 3n (de 3 em 3).
:nth-child(4)
:nth-child(even)
:nth-child(odd)
:nth-child(3n)
/* primeiro elemento */
.lista-1 li:first-child {
background: #caf;
}
/* último elemento */
.lista-1 li:last-child {
background: #cfa;
}
/* quarto elemento */
.lista-2 li:nth-child(4) {
background: #caf;
}
/* pares */
.lista-3 li:nth-child(even) {
background: #caf;
}
/* ímpares */
.lista-4 li:nth-child(odd) {
background: #caf;
}
/* de 3 em 3 */
.lista-5 li:nth-child(3n) {
background: #caf;
}
O :not nega a seleção de um elemento específico.
.lista-6 li:not(:last-child) {
border-bottom: 2px solid #217;
}