Pilares do Box Model
consele.dir(document)
Ver elemento sem ser renderizadodocument.getELementById('')
Pega um elemento pelo iddocument.getElementByClassName("")
Pega coleção de elementos por Classdocument.getElementByTagName("")
Pega coleção de elementos por TagNamedocument.querySelector("seletor do css")
Pega um elemento type selectordocument.querySelectorAll("")
Pega coleção de elementos type selector
let as = document.getElemetByTagName("")
for(a of as){
}
ou
let as = document.querySelectorAll("")
as.forEach(a => {
} )
ou
let as = document.getElementByClass("")
for(var i=0;i < as.length;i++){
}
as.textContent
ver o textoas.innerText = " "
Muda o texto
as.style.backgroundColor = "gray"
as.style.border = "7px solid red"
as.parentNode
elemento Paias.parentElement
elemento Pai
as.childNodes
Pega elementos filhos incluindo espaçosas.children
Pega Elementos filhosas.childElementCount
Conta Elementos filhosas.lasstChild
Pega último filhoas.firstChild
Pega primeiro filhoas.remove()
remove elemento
as.nextSibling
Pega o próximo elemento irmãoas.nextElementSibling
Pega o próximo elemento irmãoas.previousSibling
Pega elemento irmão anterior
as.createElement
cria elementos
as.append("")
Afillia elemento depois do 'as'as.prepend("")
Afillia elemento antes do 'as'as.inserBefore(sp1,sp2)
Insere entre sp1 e sp2
as.setAttribute("id","my-ID")
Define um atributoas.removeAttribute("id")
Remove o atributoas.getAttribute("id")
Pega um Atributo
window.addEventListner("tipo do evento",funcao)
Função que ouve eventos
Layout Fixo
px
- Pixels (Fixo)
Layout Fluído
%
- Percentagem (Adaptável)auto
- Automática (Adaptável)vh
- ViewPort Heigth (altura visivel da tela)vw
- ViewPort Width (comprimento visivel da tela)
1px
= 0.75pt16px
= 12pt
em
- Multiplicado pelo valor do tamanho do elemento Pairm
- Multiplicado pelo valor do tamanho do root
Precisamos incluir o seguinte codigo para habilitar
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Neste caso, todo css colocado entre parentesses só estará disponível quando o largura máxima da tela for igual ou inferior a 768px
@media (max-width: 768px){
#form h3 {
font-size: 2rem;
}
}
Posso utilizar o atribuito media no link do meu HTML, ao importar um arquivo css, usando as propriedades da mesma forma que usaria na regra @media do css.
<link
rel="stylesheet"
href="responsive.css"
media="screen and (max-width: 768px)"
/>
<link rel="stylesheet" href="print.css" media="print">
<pictures>
Possibilita aplicar diferentes imagens em tamanhos diferentes ou seja Usamos a tag<picture>
para que as imagens sejam responsivas.
<picture class="image" alt="Imagem">
<source media="(min-width: 768px)"
srcset="https://i.ytimg.com/vi/GykTLqODQuU/maxresdefault.jpg">
<source media="(min-width: 320px)"
srcset="https://i.ytimg.com/vi/GykTLqODQuU/hqdefault.jpg">
<source media="(min-width: 10px)"
srcset="https://i.ytimg.com/vi/GykTLqODQuU/mqdefault.jpg">
<img
src="https://i.ytimg.com/vi/GykTLqODQuU/hqdefault.jpg"
alt="Imagem" />
</picture>
- Bimensional
- Divisão de toda a página em linhas e colunas
- Colocar elementos onde quiser nessa divisão
- Grid: Duas dimensões (colunas e linhas)
- Flexbox: Uma dimensão (ou coluna ou linha)
- Um complementa o trabalho do outro
- Verificar quais navegadores ainda não estão aceitando o Grid
- Vamos separar em 2 grupos: container e item(s)
- CONTAINER
display: grid;
grid-template-columns;
grid-template-rows;
grid-gap;
grid-row-gap;
grid-column-gap;
grid-template-areas;
- ITEM(s)
grid-column
grid-column-start
grid-column-end
grid-row
grid-row-start
grid-row-end
grid-area
Existem 6 propriedades para alinhamento:
- justify-content
- align-content
- justify-items
- align-items
- justify-self
- align-self
Vamos separá-los em 2 grupos
- justify e align
- content, items e self
Sabendo que o grid é bidimensional, nós temos o eixo x e o y.
O eixo x é o posicionamento horizontal, da esquerda para a direita.
O eixo y é o posicionamento vertical, de cima para baixo
-
Justify trabalhará o eixo x.
-
Align trabalhará o eixo y.
Juntando o justify
, ou align
, com esses elementos: content
, items
e self
; nós observamos nossas propriedades
O uso dessas propriedades são raras, pois só é aplicado caso o grid seja menor que a area definida. (Por exemplo, quando usamos em px o tamanho do grid, poderemos terminar com um grid pequeno, para o tamanho da area do grid)
Podemos usar 7 valores:
- start
- end
- center
- stretch
- space-between
- space-around
- space-evenly
justify-items e align-items vai permitir alinhar os items do nosso grid, em qualquer espaço disponível, na célula que ele habitar.
Podemos usar 4 valores:
- start
- end
- center
- stretch
justify-self e align-self vai nos permitir alinhar o item em si.
Faz a mesma coisa que o justify-items e align-items, porém, aplicado diretamente no item de um grid