Notas Técnicas do zhaoJian

Curso IT Fundamentos CSS 019_HelloCSS

Aprendizado / Fundamentos CSS ~9238 palavras · 24 min de leitura - visualizações

O que é CSS?

CSS (Cascading Style Sheets, Folhas de Estilo em Cascata) é semelhante ao HTML, CSS também não é uma verdadeira linguagem de programação, nem mesmo uma linguagem de marcação. CSS é uma linguagem de folhas de estilo, usada para adicionar estilos a elementos HTML, descrever a aparência de documentos HTML e controlar cor, tamanho, fonte, layout, etc. dos elementos do documento HTML.

CSS é uma parte importante do desenvolvimento web, pode ajudá-lo a criar páginas web atraentes e fáceis de usar.

Estrutura Básica do CSS

Os estilos CSS são compostos por seletores e propriedades. Os seletores selecionam os elementos HTML aos quais os estilos serão aplicados. As propriedades especificam os valores dos estilos.

Exemplo:

p {
color: red;
}

Resultado:

Exemplo de efeito

Análise da Estrutura:

Exemplo de efeito

[!Resumo]

  • Seletor (Selector) O nome do elemento HTML está no início do conjunto de regras. Ele seleciona um ou mais elementos aos quais adicionar estilos (neste exemplo, o elemento <p>). Para adicionar estilos a diferentes elementos, basta alterar o seletor.

  • Declaração (Declaration) Uma regra individual, como color: red; especifica as propriedades dos elementos a serem estilizados. As declarações CSS sempre terminam com ponto e vírgula ; e são cercadas por chaves {}:

  • Propriedades (Properties) O meio de alterar os estilos dos elementos HTML (neste exemplo, color é a propriedade do elemento <p>). No CSS, o autor decide qual propriedade modificar.

  • Valor da propriedade (Property value) À direita da propriedade, após os dois pontos, está o valor da propriedade, que seleciona um valor entre as muitas aparências possíveis (além de red, existem muitos outros valores para color).


Como incluir CSS?

Inclusão inline:

O código CSS é escrito diretamente nas tags HTML, usando o atributo style.

A inclusão inline consiste em escrever o código de estilo diretamente nas tags HTML, um método simples e rápido. Vantagens: conveniente e rápido, adequado para poucos estilos. Desvantagens:

  • Desfavorável para reutilização de estilos, difícil de manter.
  • Arquivos HTML desorganizados, não cumpre o princípio de separação.
  • Desfavorável para cache do navegador, afeta o desempenho.

Exemplo:

<div style="color: red; font-size: 16px;">Este é um texto vermelho</div>

Resultado:

Exemplo de efeito

Inclusão interna:

O código CSS é escrito em tags <style>, colocadas dentro da tag <head>.

A inclusão interna consiste em escrever o código de estilo nas tags style do arquivo HTML, uma abordagem relativamente equilibrada. Vantagens: estilos separados do arquivo HTML, fácil de manter. Além disso, o cache do navegador pode melhorar a velocidade de carregamento. Desvantagens:

  • Requer solicitações de rede adicionais ao carregar a página, relativamente ineficiente.
  • Estilos e arquivo HTML ainda têm certo acoplamento.

Exemplo:

div {
color: red;
font-size: 16px;
}
<div>Este é um texto vermelho</div>

Resultado:

Exemplo de efeito

Inclusão externa:

O código CSS é escrito em um arquivo CSS separado e incluído usando a tag link.

A inclusão externa consiste em escrever o código de estilo em um arquivo CSS separado, um método padrão. Vantagens: estilos e arquivo HTML completamente separados, fácil de manter. Além disso, a aceleração CDN pode melhorar a velocidade de carregamento. A inclusão externa também suporta compressão e combinação para reduzir o tamanho do arquivo. Desvantagens:

  • Requer solicitações de rede adicionais ao carregar a página, mas pode ser otimizado.
  • Dependência de recursos externos, pode causar bloqueio ou falha de carregamento.
  • Durante o desenvolvimento podem ser necessárias múltiplas solicitações a arquivos externos.

Exemplo:

<head>
<!-- No diretório atual, referência ao arquivo de estilos na subpasta styles -->
<link rel="stylesheet" href="style.css" />
<!-- No diretório atual, referência ao arquivo de estilos em styles/general -->
<link rel="stylesheet" href="/style.css" />
<!-- No diretório pai, referência ao arquivo de estilos na subpasta styles -->
<link rel="stylesheet" href="../styles/style.css" />
</head>
div {
color: red;
font-size: 16px;
}

Resultado:

Exemplo de efeito Exemplo de efeito

Ordem de Cascata e Prioridade

A ordem de cascata CSS (Cascading Order) e a especificidade (Specificity) são dois fatores chave que determinam o efeito de estilo CSS exibido.

Ordem de cascata: A ordem de cascata CSS define o peso das regras de estilo, do mais alto ao mais baixo:

  1. Importância (!important): Regras de estilo declaradas com !important têm a maior prioridade. Deve ser usado com moderação, pois o abuso dificulta a manutenção.
  2. Estilos do autor (Author Styles): Estilos definidos pelo desenvolvedor web, incluindo folhas de estilo externas, internas e estilos inline. Prioridade entre estilos do usuário e estilos do agente de usuário.
  3. Estilos do usuário (User Styles): Estilos definidos pelo usuário através de plugins ou configurações do navegador, prioridade maior que estilos do agente de usuário, ex: plugins de fontes.
  4. Estilos do agente de usuário (User Agent Styles): Os estilos padrão do navegador, menor prioridade, ex: fontes.

Prioridade: Quando há múltiplas regras de estilo do mesmo nível ou regras conflitantes, o CSS exibe os estilos de acordo com a prioridade.

  1. Estilos inline (Inline Styles): Estilos especificados dentro de tags HTML, maior prioridade.
  2. Seletor ID (id): Estilos especificados por seletor ID, ex: #header.
  3. Seletores de classe, atributo e pseudo-classe (class): Por seletor de classe, ex: .container. Por seletor de atributo, ex: [type="text"]. Por seletor de pseudo-classe, ex: :hover.
  4. Seletor de elemento: Seletor com nome de elemento HTML, ex: div, p.

Com a mesma prioridade, a regra definida por último tem precedência.

Exemplo:

#header {
color: red;
}
.container p {
color: blue;
}
p {
color: green;
}
Herança CSS

A herança CSS significa que os elementos filhos herdam certos valores de propriedades dos elementos pais. A herança é uma característica importante no CSS que simplifica a escrita de estilos e melhora a manutenibilidade do código. Nem todas as propriedades CSS são herdáveis, apenas uma parte é definida como herdável.

As propriedades CSS herdáveis incluem principalmente:

  • Propriedades de texto: font-family, font-size, font-weight, font-style, color, text-decoration, text-align, line-height, letter-spacing, word-spacing
  • Propriedades de cor: background-color, border-color, color, outline-color
  • Propriedades de borda: border-width, border-style, border-color
  • Propriedades do modelo de caixa: margin, padding, width, height, display, float, position, z-index

Propriedades CSS não herdáveis incluem width, height, margin, padding e outras propriedades do modelo de caixa, posicionamento (position), flutuação (float), limpeza de flutuação (clear) e outras propriedades de layout.

Propriedades CSS comuns e suas funções:

Propriedades básicas width, height: Definir largura e altura do elemento. margin: Definir margem do elemento. padding: Definir preenchimento do elemento. color, background-color: Definir cor e cor de fundo do elemento. font-size, font-family, font-weight, font-style: Definir tamanho, família, peso e estilo da fonte.

Propriedades de layout display: Definir modo de exibição do elemento. float: Definir comportamento de flutuação do elemento. position: Definir posição do elemento. top, left, right, bottom: Definir posições superior, esquerda, direita e inferior. z-index: Definir ordem de empilhamento do elemento.

Propriedades de texto text-align: Definir alinhamento do texto. text-decoration: Definir decoração do texto. line-height: Definir altura da linha. font-variant: Definir variante da fonte. text-transform: Definir transformação do texto. letter-spacing, word-spacing: Definir espaçamento entre caracteres e palavras.

Propriedades de borda border: Definir estilo de borda do elemento. border-width: Definir largura da borda. border-style: Definir estilo da borda. border-color: Definir cor da borda. border-radius: Definir raio dos cantos da borda.

Propriedades de fundo background: Definir fundo do elemento. background-color: Definir cor de fundo. background-image: Definir imagem de fundo. background-repeat: Definir modo de repetição da imagem de fundo. background-position: Definir posição da imagem de fundo. background-size: Definir tamanho da imagem de fundo.

Propriedades de transição transition: Definir efeito de transição do elemento. transition-property: Definir propriedade de transição. transition-duration: Definir duração da transição. transition-timing-function: Definir função de transição. transition-delay: Definir atraso da transição.

Compartilhar:

Comentários