# Introdução ao CSS Neste capítulo, vamos explorar o mundo do CSS (Cascading Style Sheets), uma linguagem de estilo que permite a você controlar a apresentação e o design de suas páginas web. Você aprenderá o que é CSS, por que é importante e como separar a apresentação do conteúdo. # O que é CSS? ##### **O que é CSS?** O **CSS**, ou **Cascading Style Sheets** (Folhas de Estilo em Cascata), é uma linguagem de estilo usada para controlar a apresentação visual de elementos em documentos HTML. Ele desempenha um papel crucial no design e na formatação de páginas web. Vamos aprimorar a explicação sobre o CSS: ##### **Separação de Conteúdo e Estilo** O CSS foi desenvolvido para separar a estrutura (HTML) do design (estilo) de uma página web. Isso oferece várias vantagens: 1. **Manutenção mais fácil**: Alterações no estilo podem ser feitas em um único local, afetando todas as ocorrências dos elementos afetados, em vez de ter que editar cada elemento individualmente. 2. **Reutilização**: Você pode criar regras de estilo que se aplicam a vários elementos, economizando tempo e esforço. 3. **Acessibilidade**: A separação de estilo facilita a criação de páginas acessíveis, pois permite que os leitores de tela e outros dispositivos interpretem o conteúdo de maneira mais eficaz. ##### **Como o CSS Funciona** O CSS funciona por meio de **seletores** e **declarações**. Um seletor identifica um elemento HTML específico, enquanto as declarações definem como esse elemento deve ser estilizado. Aqui está um exemplo simples: ```css /* Um seletor que estiliza todos os parágrafos com a classe "destaque" */ p.destaque { color: #FF0000; /* Define a cor do texto como vermelha */ font-size: 16px; /* Define o tamanho da fonte como 16 pixels */ } ``` Neste exemplo, `p.destaque` é o seletor que segmenta todos os parágrafos com a classe "destaque." As declarações dentro das chaves `{}` definem a cor do texto e o tamanho da fonte para esses parágrafos. ##### **Propriedades e Valores** As declarações CSS consistem em **propriedades** e **valores**. As propriedades especificam qual aspecto do elemento deve ser estilizado, como cor, tamanho, margem, etc. Os valores definem os detalhes específicos da propriedade. Por exemplo: - **Propriedade**: `color` - **Valor**: `#FF0000` (uma cor vermelha) Existem centenas de propriedades CSS que podem ser usadas para estilizar elementos, incluindo fonte, espaçamento, bordas, sombras, animações e muito mais. ##### **Cascata e Herança** O termo "em cascata" no CSS refere-se à maneira como as regras de estilo são aplicadas e priorizadas. As regras podem ser definidas em diferentes lugares, como folhas de estilo externas, na seção ` ``` **Estilos Externos**: É uma prática recomendada criar arquivos CSS separados e vinculá-los a várias páginas HTML. Isso mantém o código limpo e reutilizável. Por exemplo: ```html
``` # Sintaxe CSS ### Seletores, Propriedades e Valores CSS segue uma sintaxe específica. Aqui está um exemplo simples de uma regra CSS: ```html seletor { propriedade: valor; } ``` - **Seletor**: Indica a quem a regra se aplica. Pode ser uma tag HTML, uma classe, um ID ou outros seletores avançados. - **Propriedade**: Define o que será estilizado, como `color` para a cor do texto ou `font-size` para o tamanho da fonte. - **Valor**: Especifica o valor da propriedade, como `blue` para a cor ou `16px` para o tamanho da fonte. No próximo capítulo, exploraremos seletores, propriedades e valores com mais detalhes, mostrando como estilizar efetivamente elementos HTML. # Principais propriedades do CSS - 1 ##### **Principais propriedades do CSS** O CSS (Cascading Style Sheets) oferece uma ampla variedade de propriedades que permitem controlar o estilo e a apresentação dos elementos HTML em uma página web. Abaixo, estão algumas das principais propriedades CSS e suas descrições: 1. **`color`**: Define a cor do texto dentro de um elemento. ```css p { color: blue; } ``` 2. **`font-family`**: Especifica a família de fontes a ser usada para o texto. ```css body { font-family: Arial, sans-serif; /* Fontes preferenciais */ } ``` 3. **`font-size`**: Controla o tamanho da fonte do texto. ```css h2 { font-size: 24px; /* Tamanho da fonte de 24 pixels */ } ``` 4. **`font-weight`**: Define a espessura da fonte, como "normal," "negrito" ou valores numéricos. ```css strong { font-weight: bold; /* Texto em negrito */ } ``` 5. **`text-align`**: Alinha o texto horizontalmente (esquerda, direita, centralizado, justificado). ```css div { text-align: center; /* Alinha o texto ao centro */ } ``` 6. **`text-decoration`**: Controla a decoração do texto, como sublinhado ou tachado. ```css a { text-decoration: underline; /* Sublinha links */ } ``` 7. **`line-height`**: Define a altura da linha, afetando o espaço entre as linhas de texto. ```css p { line-height: 1.5; /* Espaço entre linhas 1,5 vezes a altura da fonte */ } ``` 8. **`background-color`**: Especifica a cor de fundo de um elemento. ```css .destaque { background-color: #FFFF00; /* Fundo amarelo para elementos destacados */ } ``` 9. **`border`**: Controla as propriedades da borda de um elemento, como largura, estilo e cor. ```css .caixa { border: 2px dashed #000; /* Borda de 2 pixels, estilo tracejado, cor preta */ } ``` 10. **`margin`**: Define a margem externa de um elemento, afetando o espaço ao seu redor. ```css .margem-superior { margin-top: 20px; /* Margem superior de 20 pixels */ } ``` 11. **`padding`**: Controla o preenchimento interno de um elemento, afetando o espaço entre seu conteúdo e sua borda. ```css .preenchimento-interno { padding: 10px; /* Preenchimento de 10 pixels em todas as direções */ } ``` 12. **`width` e `height`**: Estabelecem a largura e altura de um elemento. ```css .caixa { width: 300px; height: 200px; } ``` 13. **`display`**: Define como um elemento é exibido, como "block" (bloco) ou "inline" (em linha). ```css .botao { display: inline-block; /* Exibe o elemento como um bloco em linha */ } ``` 14. **`position`**: Controla a posição de um elemento na página, com opções como "relative" (relativa) ou "absolute (absoluta). ```css .elemento-absoluto { position: absolute; top: 20px; left: 30px; } ``` # Principais propriedades do CSS - 2 ##### **Principais propriedades do CSS** **15. `top`, `right`, `bottom`, `left`**: Usado com elementos posicionados para definir a distância entre os lados do elemento e seu pai. ```css .elemento-posicionado { position: absolute; top: 20px; /* Distância de 20 pixels a partir do topo */ right: 30px; /* Distância de 30 pixels a partir da direita */ bottom: 10px; /* Distância de 10 pixels a partir da parte inferior */ left: 40px; /* Distância de 40 pixels a partir da esquerda */ } ``` Neste exemplo, o elemento com a classe `.elemento-posicionado` é posicionado de forma absoluta e deslocado a distâncias específicas do topo, direita, inferior e esquerda em relação ao seu contêiner pai. **16. `float`**: Permite que um elemento flutue à esquerda ou à direita de seu contêiner, criando layouts de várias colunas. ```css .flutuante-esquerda { float: left; } .flutuante-direita { float: right; } ``` Neste exemplo, os elementos com as classes `.flutuante-esquerda` e `.flutuante-direita` flutuam à esquerda e à direita de seu contêiner, criando um layout de duas colunas. **17. `clear`**: Controla como os elementos devem se comportar em relação aos elementos flutuantes próximos. ```css .limpar-flutuante { clear: both; } ``` Neste exemplo, o elemento com a classe `.limpar-flutuante` é definido para "limpar" quaisquer elementos flutuantes à esquerda e à direita, garantindo que ele não seja afetado pela flutuação de outros elementos próximos. **18. `z-index`**: Define a ordem de empilhamento de elementos posicionados, determinando quais elementos aparecem acima de outros. ```css