/HTMLCSSII

Curso HTML5 e CSS3 II: Turbinando as suas páginas : https://cursos.alura.com.br/course/avancando-html-css

Primary LanguageCSS

HTMLCSSII

Curso HTML5 e CSS3 II: Turbinando as suas páginas : https://cursos.alura.com.br/course/avancando-html-css

Aula 1: Pixels?

1.0 : A medida de % e "em" como funciona.

A unidade % e "em" funciona da mesma maneira. Assim podemos deixar o site responsivo e mais flexivel possivel. podendo usar com varios elementos.

Como por exemplo:

Podemos Usar as duas formas

 p {
   font-size: 100%;
   font-family: "arial", sans-serif;
 }
 p {
   font-size: 1em;
   font-family: "arial", sans-serif;
 }

Concluimos entao que a fonte da tag:

<p>text</p>

Vai ter um tamanho de 100% com base na fonte padrao do navegador... onde 1em vamos obter o mesmo resultado

1.1 : A medida de "rem".

Podemos aplicar porcentagens em todos os elementos, mais lembrando que algumas vezes podem ta relacionado a largura do elemento pai, assim gerando algumas confusoes.

Como por exemplo

1,25 rem = 1,25 x tamanho da fonte

Se o tamanho da fonte do navegador como por exemplo for 16px, seria:

16px X 1,25rem = 20px

1.2 : A medida de "ch".

A unidade ch define o tamanho da fonte em relação à largura do caractere "0".

Supondo que o seu elementos filhos sao baseado na largura do pai, então podemos utilizar uma medida que facilita principalmente na edição de textos dentro de caixas, a medida ch:

Modificando o tamanho da fonte do navegador, esta medida também modifica-se. Essa medida é boa porque não importa muito a fonte que você está utilizando, ela se adequará muito bem.

1 ch = largura do caractere "zero" da fonte utilizada

Aula 2 : Absolute mais a fundo.

2.0 Propriedades Positions.

Aqui vamos entender um pouco mais sobre as proriedades position.

Para posicionar seus elementos, você precisa inserir uma coordenada. Essas coordenadas são comandadas pelas propriedades: top, left, right ou bottom. Todos os valores de positions só trabalham com essas coordenadas

Lembrando que se for definir uma propriedade "left" não é preciso por "Right". O mesmo com top e bottom.

Um Exemplo:

<style>
    div {
      position: absolute;
      top: 150px;
      left: 150px;
    }
</style>

Nesse caso eu posicionei o elemento a 150 pixels do topo e 150px da esquerda.

2.1 Tipos de position

Existem 3 tipos de valores que usamos na propriedade position: relative, absolute e fixed.

2.1.1 Position Fixed

Essa propriedade faz com que o elemento que voce deseja ficará fixada em um determinado local da pagina web na qual voce definir...

Definindo isso:

<style>
		div#sidebar {
			width: 200px;
			height: 300px;
			background: #75AD45;
			border: 2px solid black;
			position: fixed; /* Fixa o elemento nas coordenadas seguintes */
			top: 30px;
			right: 30px;
			color: white;
			padding: 10px;
    }
</style>

Teremos um Resultado igual a esse. Voce pode ver um exemplo nesse link Exemplo de Position Fixed

2.1.2 Position Relative

O position relative posiciona o elemento em relação a si mesmo. Ou seja, o ponto zero será o canto superior esquerdo, e ele começará a contar a partir dali.

A um exemplo em uma imagem abaixo:

2.1.2 Position Absolute

Position Absolute se utiliza do ponto superior esquerdo de outros elementos. Estes elementos são os parentes dele do elemento com position absolute. Mais especificamente o pai.

No caso, se o DIV pai não tivesse position definido, o div filho iria se referenciar pelo BODY mesmo. Se caso o div pai não tivesse position definido, e se ele também fosse envolvido por outro div com position, o div filho iria se referenciar por este terceiro div.

3.0 Bordas arredondadas e outras novidades do CSS3

3.1 Border Radius

Uma outra propriedade Incrivel presente no css3, é como podemos arredondar bordas. Quando usamos uma tag tipo a "div" notamos que é uma caixa um quadrado. Podemos facilmente mudar isso com novas propriedade "border-radius"

Entao no CSS dizemos que queremos arrendondar a borda da "div" com o "border-radius".

Exemplo:

<style>
 div {
   border-radius: 10px;
}
 </style>

Então fica assim:

exemplo de borda arredondada

3.2 Como os navegadores se comporta

Quando pensamos em criar nosso site e por ate mesmo um estilo legal como o border-radius, pensamos, será que isso vai funcionar em todos os navegadores?.

Como será que os navegadores implementaram essas funcionalidades?

A gente como desenvolver queremos que nosso site funcione em todos os navegadores.

para isso basta apenas usar:

Para o google Chrome

-webkit-border-radius:
Para o FireFox

-moz-border-radius
Para o Explorer

-ms-border-radius
Para o Opera

-o-border-radius
Para o Safari

 -webkit-border-radius

Muitos navegadores ja estao adaptando para uma so funcionalidade. Os três prefixos principais se resumem em: -webkit-, -ms- e -moz-.

Usando dessa maneira.

-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;

Garante Funcionalidade em todos os navegadores,e ate mesmo para alterações futuras. Sem precisar alterar nada no seu codigo.

Outra pergunta: mesmo assim, ainda se faz necessário deixar o código cheio desses prefixos?

Na verdade não, tratando-se do border-radius só é preciso:

-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;

Outros exemplos mais explicativo:

exemplo de borda Elipticas

3.3 Propriedade elípticas.

Como vimos, o border-radius nos permite fazer não apenas bordas redondas como também bordas elípticas.

Como exemplo abaixo:

exemplo de borda Elipticas

A sintaxe para o border-radius criar bordas elípticas é a seguinte:

border-radius: <raios na horizontal> / <raios na vertical>;

Definido seria assim

border-radius: 10% 50% / 50% 10%

3.4 Propriedade fictícia.

Imagine que uma nova especificação do CSS está surgindo para permitir a criação de elementos 3D na página

Seria nescessario a propriedade "depth" (profundidade)

Se quisermos testar essa propriedade num site nosso, fazendo um elemento com a classe botao ter uma profundidade de 10px, como deve ser a declaração para conseguirmos testá-la no maior número de usuários possível?

<style>
  .botao {
 -webkit-depth: 10px;
 -moz-depth: 10px;
 depth: 10px;
      }
 </style>

3.5 Prefixos em valores.

Com o valor "calc" conseguimos fazer calculos no css3.

Podemos fazer, por exemplo, com que um elemento tenha metade da largura da tela menos 10 pixels:

<style>
  div {
   width: calc(50% - 10px);
  }
</style>

E para Suportar bem nos navegadores, apenas atribuir os codigo como exemplo abaixo.

<style>
div {
   width: -webkit-calc(50% - 10px);
   width: -moz-calc(50% - 10px);
   width: calc(50% - 10px);
}
</style>

Mais exemplos: Exemplo do calc