diff --git a/dia-01/01-introducao-css/01-conteudo.md b/dia-01/01-introducao-css/01-conteudo.md index e6e195c..cc8bee2 100644 --- a/dia-01/01-introducao-css/01-conteudo.md +++ b/dia-01/01-introducao-css/01-conteudo.md @@ -1,17 +1,19 @@ -### Introdução ao CSS +# Introdução ao CSS -#### O que é CSS? +Agora que você já aprendeu a estruturar uma página utilizando HTML, chegou o momento de aprender como **estilizar** seus conteúdos e deixá-los visualmente atraentes. Enquanto o HTML cuida da **estrutura** e do **conteúdo**, o CSS cuida do **design** e da **experiência visual** do usuário. Eles trabalham juntos para criar páginas completas e bem apresentadas. + +## O que é CSS? CSS, ou Cascading Style Sheets (Folhas de Estilo em Cascata), é uma linguagem de estilização utilizada para descrever a apresentação de documentos escritos em HTML ou XML. Ele foi criado para possibilitar a separação entre o conteúdo (HTML) e a apresentação (CSS), promovendo uma maior flexibilidade e eficiência no desenvolvimento de páginas web. Através do CSS, é possível controlar vários aspectos visuais dos elementos HTML, como cores, espaçamentos, fontes, tamanhos e layout geral da página. Com CSS, desenvolvedores conseguem criar páginas visualmente atraentes e responsivas, o que melhora a experiência do usuário e facilita o processo de manutenção do site. -#### Vantagens do CSS +## Vantagens do CSS - **Separação de Conteúdo e Estilo**: Com CSS, o conteúdo HTML fica mais organizado e sem estilos embutidos, permitindo que a apresentação da página seja gerida em arquivos externos. - **Reutilização de Código**: As regras CSS podem ser aplicadas a múltiplos elementos e páginas, economizando tempo e esforço. - **Manutenção Facilitada**: Alterar o estilo em um único arquivo CSS reflete automaticamente em todas as páginas que o utilizam. - **Compatibilidade com Diferentes Dispositivos**: Com CSS, é possível criar páginas responsivas, adaptáveis a diferentes resoluções e tamanhos de tela. -#### Sintaxe Básica do CSS +## Sintaxe Básica do CSS A estrutura de uma regra CSS é composta por um **seletor**, uma **propriedade** e um **valor**. ```css @@ -33,7 +35,7 @@ p { ``` No exemplo acima, todas as tags `
` no HTML terão texto na cor azul e tamanho de fonte 16 pixels. -#### Formas de Incluir CSS +## Formas de Incluir CSS O CSS pode ser inserido de três maneiras em um documento HTML: **inline**, **interno** e **externo**. 1. **CSS Inline**: @@ -71,82 +73,4 @@ O CSS pode ser inserido de três maneiras em um documento HTML: **inline**, **in color: blue; font-size: 16px; } - ``` - -#### Cascata e Especificidade -CSS significa **Cascading Style Sheets** (Folhas de Estilo em Cascata), e o termo "cascata" refere-se a como o navegador decide qual regra aplicar em situações onde múltiplas regras podem se sobrepor. As regras seguem uma hierarquia baseada na **especificidade** dos seletores: - -1. **Estilo Inline**: Tem a maior prioridade. -2. **ID**: Seletores de ID (`#id`) têm mais prioridade do que classes e tags. -3. **Classes e Pseudo-Classes**: Seletores de classe (`.classe`) e pseudo-classes (`:hover`, por exemplo) possuem prioridade inferior ao ID. -4. **Elementos**: Seletores de elemento (`p`, `h1`, etc.) têm a prioridade mais baixa. - -**Exemplo de Cascata e Especificidade**: -```html - - -
Texto de exemplo
-``` - -Nesse exemplo: -- A regra do ID (`#special`) tem prioridade sobre a classe `.highlight` e o seletor de elemento `p`. -- O texto será exibido em verde, pois o ID tem maior especificidade. - -#### Unidades CSS -CSS oferece várias unidades para definir tamanhos, incluindo: -- **px**: Pixels (medida fixa). -- **em** e **rem**: Medidas relativas ao tamanho da fonte do elemento pai (`em`) ou da raiz (`rem`). -- **%**: Percentual, útil para layouts responsivos. - -Exemplo: -```css -h1 { - font-size: 2em; /* duas vezes o tamanho da fonte do elemento pai */ -} -``` - -#### Seletores Comuns -1. **Seletor de Elemento**: Aplica estilos a todas as instâncias de um elemento HTML específico. - ```css - h1 { - color: blue; - } - ``` - -2. **Seletor de Classe**: Aplica estilos a elementos com uma classe específica. - ```css - .titulo { - font-size: 24px; - color: red; - } - ``` - -3. **Seletor de ID**: Aplica estilos a um elemento com um ID específico. - ```css - #principal { - background-color: yellow; - } - ``` - -#### CSS Responsivo -O CSS também oferece recursos para a criação de layouts responsivos, que se ajustam automaticamente a diferentes tamanhos de tela. Um dos principais métodos para isso são as **Media Queries**. - -Exemplo de Media Query: -```css -@media (max-width: 600px) { - body { - font-size: 14px; - } -} -``` -Neste exemplo, quando a largura da tela for menor que 600px, o tamanho da fonte será ajustado para 14px. \ No newline at end of file + ``` \ No newline at end of file diff --git a/dia-01/02-seletores-basicos/01-conteudo.md b/dia-01/02-seletores-basicos/01-conteudo.md new file mode 100644 index 0000000..899f20c --- /dev/null +++ b/dia-01/02-seletores-basicos/01-conteudo.md @@ -0,0 +1,106 @@ +# Seletores Básicos no CSS + +No CSS, utilizamos **seletores** para escolher quais elementos serão estilizados. Eles permitem aplicar estilos de forma precisa a partes específicas do conteúdo, e cada tipo de seletor permite um nível diferente de customização. + +--- + +## 1. **Seletores de Elemento** + Os seletores de elemento aplicam estilos a todas as instâncias de um elemento HTML específico. + + - **Sintaxe**: + ```css + elemento { + propriedade: valor; + } + ``` + + - **Exemplo**: + ```css + p { + color: black; + font-size: 16px; + } + ``` + Esse código aplica um estilo a todos os parágrafos `` da página, definindo a cor do texto como preto e o tamanho da fonte como 16px. + + +## 2. **Seletores de Classe** + Os seletores de classe são utilizados para aplicar estilos a um ou mais elementos que possuam a mesma classe. Para selecionar uma classe no CSS, usa-se o ponto (`.`) seguido do nome da classe. + + - **Sintaxe**: + ```css + .nome-da-classe { + propriedade: valor; + } + ``` + + - **Exemplo**: + ```css + .destaque { + color: blue; + font-weight: bold; + } + ``` + + ```html +
Este texto será azul e em negrito.
+ Este texto também será azul e em negrito. + ``` + No exemplo acima, qualquer elemento com a classe `destaque` terá o texto azul e em negrito. + + +## 3. **Seletores de ID** + O seletor de ID é usado para aplicar estilos a um elemento específico. IDs são únicos, ou seja, cada ID deve ser usado apenas uma vez por página. Para declarar um ID, usa-se o símbolo `#` seguido do nome do ID no CSS. + + - **Sintaxe**: + ```css + #nome-do-id { + propriedade: valor; + } + ``` + + - **Exemplo**: + ```css + #principal { + background-color: lightgrey; + padding: 20px; + } + ``` + + ```html +` como 18px. + - O fundo (`background-color`) de todos os `
Este é um parágrafo 1.
+Este é um parágrafo 2.
+Parágrafo com classe highlight
+Parágrafo sem classe
+ + Span com classe highlight + Span sem classe + + + diff --git a/dia-01/02-seletores-basicos/_assets/03-exercicio3-boilerplate.html b/dia-01/02-seletores-basicos/_assets/03-exercicio3-boilerplate.html new file mode 100644 index 0000000..26a32a6 --- /dev/null +++ b/dia-01/02-seletores-basicos/_assets/03-exercicio3-boilerplate.html @@ -0,0 +1,16 @@ + + + + + +` da página, definindo a cor do texto como preto e o tamanho da fonte como 16px. - ---- - -#### 2. **Seletores de Classe** - Os seletores de classe são utilizados para aplicar estilos a um ou mais elementos que possuam a mesma classe. Para declarar uma classe, usa-se o ponto (`.`) seguido do nome da classe no CSS. - - - **Sintaxe**: - ```css - .nome-da-classe { - propriedade: valor; - } - ``` - - - **Exemplo**: - ```css - .destaque { - color: blue; - font-weight: bold; - } - ``` - - ```html -
Este texto será azul e em negrito.
- Este texto também será azul e em negrito. - ``` - No exemplo acima, qualquer elemento com a classe `destaque` terá o texto azul e em negrito. - ---- - -#### 3. **Seletores de ID** - O seletor de ID é usado para aplicar estilos a um elemento específico. IDs são únicos, ou seja, cada ID deve ser usado apenas uma vez por página. Para declarar um ID, usa-se o símbolo `#` seguido do nome do ID no CSS. - - - **Sintaxe**: - ```css - #nome-do-id { - propriedade: valor; - } - ``` - - - **Exemplo**: - ```css - #principal { - background-color: lightgrey; - padding: 20px; - } - ``` - - ```html -`. - ---- - -#### 8. **Seletores Universais** - O seletor universal (`*`) aplica estilos a todos os elementos da página. É útil para resetar margens e paddings. - - - **Exemplo**: - ```css - * { - margin: 0; - padding: 0; - box-sizing: border-box; - } - ``` - Isso define margens e paddings como zero para todos os elementos, útil ao aplicar um reset de CSS. - ---- - -#### 9. **Seletores de Grupo** - Os seletores de grupo aplicam o mesmo estilo a vários elementos, separados por vírgulas. - - - **Exemplo**: - ```css - h1, h2, h3 { - color: purple; - font-family: Arial, sans-serif; - } - ``` - ---- - -#### 10. **Especificidade e Importância** - No CSS, **especificidade** e a **importância** determinam a prioridade dos estilos aplicados. - - - **Ordem de Especificidade**: - 1. Estilos inline têm a maior prioridade. - 2. IDs têm mais prioridade que classes. - 3. Classes, pseudo-classes, e atributos têm prioridade inferior aos IDs. - 4. Seletores de elementos têm a menor prioridade. - - - **Exemplo de Especificidade**: - ```css - /* Prioridade baixa */ - p { color: black; } - - /* Prioridade maior que o seletor de elemento */ - .texto { color: blue; } - - /* Prioridade maior que o seletor de classe */ - #principal { color: green; } - - /* Texto ficará verde pois o ID tem maior especificidade */ -
Texto
- ``` - ---- \ No newline at end of file diff --git a/dia-01/03-seletores-combinados/01-conteudo.md b/dia-01/03-seletores-combinados/01-conteudo.md new file mode 100644 index 0000000..27b6c7f --- /dev/null +++ b/dia-01/03-seletores-combinados/01-conteudo.md @@ -0,0 +1,126 @@ +# Seletores Combinados e Agrupados + +Agora que você já conhece os **seletores básicos** do CSS (elemento, classe e ID), chegou o momento de aprender como combiná-los para criar estilos mais precisos e eficientes. +Essas combinações permitem selecionar elementos com base em **relações hierárquicas**, **múltiplas condições** ou **agrupamentos**, tornando o código mais limpo e poderoso. + +--- + +## 1. **Seletores de Grupo** +Os **seletores de grupo** permitem aplicar o mesmo conjunto de estilos a múltiplos elementos HTML ao mesmo tempo. Isso não apenas reduz a repetição de código, mas também facilita a manutenção do CSS. Os seletores de grupo são separados por vírgulas e funcionam de forma similar a selecionar um único elemento, mas abrangem vários elementos simultaneamente. +- **Sintaxe** + ```css + seletor1, seletor2, seletor3 { + propriedade: valor; + } + ``` + +- **Exemplo** + ```css + h1, h2, h3 { + color: purple; + font-family: Arial, sans-serif; + } + ``` +Neste exemplo, todos os elementos ``) dentro de qualquer `div` terão o texto na cor azul, não importa quantos níveis de aninhamento existam entre eles. + + + +### 2.2 **Seletor de Filho Direto (`>`)**: +Seleciona apenas filhos diretos de um elemento. + +- **Sintaxe**: + ```css + pai > filho { + propriedade: valor; + } + ``` + +- **Exemplo**: + ```css + div > p { + color: red; + } + ``` + Neste exemplo, apenas os `
` que são filhos diretos de uma `
`) que aparece imediatamente após um `
`) que aparecem após um `
Texto em destaque
-``` - -Nesse caso, o texto do parágrafo será verde, pois o seletor de ID `#destaque` tem mais especificidade que o seletor de classe `.important` e o seletor de elemento `p`. - ---- - -#### Boas Práticas com o Seletor de ID - -- **Evite o Uso Excessivo de IDs**: Utilize IDs apenas para elementos únicos. Quando você precisa aplicar estilos a múltiplos elementos, é preferível usar classes. -- **Mantenha IDs Únicos**: IDs devem ser únicos em uma página. Reutilizar o mesmo ID em vários elementos pode gerar comportamentos inconsistentes, dificultando a depuração. -- **Combine IDs com Outros Seletores para Precisão**: Quando precisar de ainda mais precisão, combine o seletor de ID com outros seletores (como pseudo-classes) para criar seletores complexos, se necessário. - ---- - -#### Exemplo Avançado: Seletores de ID Combinados - -Você pode combinar seletores de ID com outros para aplicar estilos ainda mais específicos. Isso pode ser útil para aplicar estilos a um elemento específico em um estado específico (por exemplo, hover). - -```css -#menu:hover { - background-color: darkblue; -} - -#menu li.active { - font-weight: bold; -} -``` - -Neste exemplo, o ID `#menu` muda de cor ao passar o mouse, e o item da lista `