cefet_web

CSS parte 1

História, a Cascata e outros Seletores, Float/Clear e Abelhas 🐝


Roteiro de hoje

  1. Reaproveitando código CSS
  2. Aprofundando em CSS
    1. História
    2. A cascata
    3. Seletores
  3. Flutuando coisas (float e clear)
  4. Atividade: Abelhas 🐝

Reaproveitando código CSS

Seletor de classe, incluindo arquivo e mais sobre cores


Relembrando… regra CSS


Problema: selecionando elementos


Selecionar por nome de tag


Selecionar por id


Selecionar por classe (1/2)


Selecionar por classe (2/2)


Incluindo arquivo CSS



Aprofundando
em CSS

CSS: Folhas de Estilo
em Cascata


História

1989 - 1993 ~ Tim Berners-Lee cria a WWW em CERN e a deixa aberta ao público geral

1994 ~ ::: figure .floating-portrait-container.push-right Foto de Håkon Wium Lie ::: Håkon Wium Lie propõe uma linguagem com a responsabilidade de alterar a aparência de páginas web chamada CSS

1996 ~ Juntamente com Bert Bos, Håkon publica a especificação do CSS1

1998 ~ Já gerenciado pela W3C, o CSS2 foi publicado

1999 - atual ~ Desenvolvimento da especificação do CSS3 (living standard)

1999 - 2016 ~ Håkon tornou-se CTO na Opera Software


A Cascata


Exemplo da cascata

Algumas propriedades (ex: color) são herdadas pelos descendentes, outras não (ex: border)


Cascata: propriedades não-herdadas


Cascata: sobrescrita de propriedade


Seletores


Desafio #1

Colorir de laranja apenas os links dentro da lista não ordenada:


Seletores de Descendente e Filho direto


Exemplo: Descendente vs Filho direto


Desafio #2

Colocar uma borda rosa apenas nas imagens .jpg:


Seletores de Atributo


Exemplos de seletores de atributos

img[alt*="ninja"] {     /* alt contém ninja */
  border: 3px solid black;
}
a[href^="http"] {       /* href começa com http */
  color: cyan;
}
a[href$=".br"] {        /* href termina com .br */
  background: linear-gradient(45deg, green, red);
}
<img src="img/algod-ove.png" alt="Ovelha de algodão">
<img src="img/ninja-logo.png" alt="Cabeça ninja">
<a href="http://www.terra.com.br">Um site brasuca<a>
<a href="http://www.cnn.com">Um site gringo<a>

:::result .span-columns margin: 1em auto; esta é uma ovelha este é um ninja Um site brasuca Um site gringo :::


Desafio #3

Tirar o sublinhado do hyperlink quando passar o mouse sobre ele:


Seletores de Estado


Desafio #4

Centralizar todas imagens exceto uma ou outra:


Seletor: Negação


Outros seletores

::: did-you-know .push-right width: 400px; margin-left: 1em; A parte dos seletores “com dois pontos” (eg, :not(), :hover) é chamada de pseudoclasse. Veja todas aqui. :::


Flutuando coisas

Para voar, basta errar o chão. Douglas Adams no Guia do Mochileiro das Galáxias


Elementos block

Elementos inline


block e inline, juntos


Flutuando coisas

Jornais e revistas costumam colocar imagens junto ao texto para fazer uma bela diagramação do conteúdo Coutinho, 2017 Isso se chama deixar o elemento (e.g., imagem) flutuando Hasan, 2017


Como flutuar elementos usando CSS?

Vamos conhecer um nova propriedade: float


Propriedade float


Como funciona o float


Exemplo de float (1º passo)


Exemplo de float (2º passo)


Flutuando elementos com float


Exemplo: flutuando uma imagem


Possíveis “problemas” com flutuação


Exemplo: interrompendo uma flutuação


Abelhas :honeybee: e suas castas

:honey_pot: :honey_pot: :honey_pot: :honey_pot: :honey_pot:



Abelhas :honeybee: e suas castas

  1. Crie um fork do repositório
    • https://github.com/fegemo/cefet-web-bees/
  2. Veja instruções detalhadas aqui
  3. Vamos estilizar a página das abelhas conforme o enunciado. Ex:
    • Fundo com gradiente
    • Imagens flutuantes
    • Topo da página com fundo
    • Estilizações com seletores diversos
    • Bordas arredondadas

Arredondando bordas


Cores e Gradientes


Notações: Nome, RGB e Hexadecimal

  1. Exemplo:
    p {
      color: cyan;
    }
    
    • Exemplo:
      p {
       color: rgb(0, 255, 255);
      }
      
  2. Exemplo:
    p {
      color: #00ffff;
    }
    

Cores com opacidade (transparência)

  1. Exemplo:
    • Não tem! - Exemplo:
      p {
       color: rgba(0, 255, 255, 0.5);
      }
      
  2. Exemplo:
    p {
      color: #00ffff80;
    }
    

Mais exemplos de cores


Gradientes (ou degradês)

  1. ::: result . max-width: calc(100% - 600px); 0 graus, iniciando com azul e terminando como verde :::

    p {
      background-image: linear-gradient( 0deg, blue, #00FF00 );
    }
    
  2. ::: result . max-width: calc(100% - 650px); Começa amarelo e termina azul no canto esquerdo superior :::
    p {
      background-image: linear-gradient( to left top, yellow, blue );
    }
    
  3. ::: result . max-width: calc(100% - 600px); Azul, branco e verde :::
    p {
      background-image: linear-gradient( 90deg, blue, white 20%, #00FF00 );
    }
    

Referências

  1. Capítulos 5, 6 e 7 do livro
  2. Os 30 seletores CSS que você precisa memorizar (inglês)