Introdução ao CSS
Try it - Editor W3Schools
O que é o CSS?
O CSS (Cascading Style Sheet) é uma "folha de estilo" composta por camadas. Sua principal aplicação é formatar a apresentação do conteúdo em páginas da WEB (desenvolvidas em linguagens de marcação como XML, HTML e XHTML). Uma das principais vantagens em adotar o CCS é separar os códigos de estrutura e formatação.
Foi desenvolvido em 1996 pelo W3C (World Wide Web Consortium) afim de agregar um padrão a formatação (estilos) do conteúdo HTML, uma vez que a linguagem de marcação é bastante limitada neste quesito. A relação entre HTML e CSS é bastante estreita, para desenvolvermos um site minimamente viável será necessário utilizarmos esta integração.
Como funciona o CSS (Cascading Style Sheet)?
A exibição do conteúdo das páginas web apresentados pelos browsers combina conteúdo e estilos. O processo segue o fluxo de estágios resumidos abaixo:
- O navegador carrega todos os elementos vinculados ao site.
- Converte o HTML em um DOM (Document Object Model). O DOM representa o documento na memória do computador.
- O navegador analisa os estilos (CSS) e classifica as diferentes regras por seus tipos de seletores, por exemplo, classe, ID e etc. Com base nos seletores, o navegador define quais regras devem ser aplicadas a quais nós no DOM e anexa os respectivos estilos (essa etapa intermediária é chamada de árvore de renderização).
- A árvore de renderização é apresentada na estrutura em que deve aparecer após as regras serem aplicadas a ela.
- A interface visual da página é rederizada na tela (este estágio é chamado de pintura).
- O diagrama a seguir apresenta o esquema simplificado do processo.
DOM
Um DOM tem uma estrutura semelhante a uma árvore. Cada elemento, atributo e parte do texto na linguagem de marcação se torna um nó DOM na estrutura da árvore. Os nós são definidos em relacionamentos hierárquicos. Alguns elementos são pais de nós filhos, e os nós filhos têm irmãos.
Compreender o DOM ajuda a projetar e dupurar o CSS, é no DOM que o CSS e o conteúdo do documento se encontram. Ao começar a trabalhar com o DevTools do navegador, você estará navegando no DOM enquanto seleciona itens para ver quais regras se aplicam.
Métodos de chamada do CSS
O CSS pode ser incorporado no código de 3 formas distintas:
- Método inline - CSS adicionado ao próprio elemento HTML, utiliza o atributo style.
- Método interno - Os estilos CSS são definifos no elemente <head>, por meio do <style>
- Método externo - Os estilos CSS carregados de um arquivo externo .css. A declaração é realizada no elemento <link>
Método Inline
<!DOCTYPE html> <html> <body> <h1 style="color:blue;text-align:center;">This is a heading</h1> <p style="color:red;">This is a paragraph.</p> </body> </html>
Método Interno
<!DOCTYPE html> <html> <head> <style> body { background-color: linen; } h1 { color: maroon; margin-left: 40px; } </style> </head> <body> <h1>This is a heading</h1> <p>This is a paragraph.</p> </body> </html>
Método externo - Arquivo HTML
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head> <body> <h1>This is a heading</h1> <p>This is a paragraph.</p> </body> </html>
Método externo - Arquivo CSS
body { background-color: lightblue; } h1 { color: navy; margin-left: 20px; }
Elemento DIV
A implementação do elemento <DIV> é um recurso essencial para o desenvolvimento de páginas WEB. Trata-se do elemento de divisão. Quando associado ao CSS, atua como elemento chave para estruturar o conteúdo na linguagem de marcação.
A linguagem HTML está em constante evolução. A cada nova geração, novos padrões de programação e elementos são incorporados. Na primeira versão do HTML o principal elemento estruturante do conteúdo eram as tabelas, com o passar do tempo o elemento <DIV> passou a ocupar o protagonismo nesta tarefa. Recentemente, com o lançamento do HTML5 novos elementos estruturais de conteúdo foram incorporados ao HTML, entretanto o elemento <DIV> continua largamente utilizado e serve como referências aos novos elementos de estrutura
<div style="background-color:lightblue"> <h3>This is a heading</h3> <p>This is a paragraph.</p> </div>
Conceitos básicos de referências
/*Referencia ao elementro */ a{ text-decoration: none; color: darkblue; } p{ font-family: Helvetica; } /*Referencia ao ID do elementro */ #container{ background-color: #FFF; width: 800px; margin-left: auto; margin-right: auto; } /*Referencia a classe do elementro (class) */ .selected{ font-weight: bold; } /*Referencia hierárquica */ #nav ul{ list-style-type: none; padding: 0; } /*Referencia de vários elementos (ou ids ou classes) */ h1, h2, h3{ margin:0 }
IDE Padrão para o desenvolvimento
Download VSCODETutoriais para esta aula
Exemplo utilizando a técnica FLOW Curso sobre a técnica FLEXBOXGuia de estudos para este tema
- Ambientar-se com o uso da IDE - VSCODE
- Desenvolver um primeiro exemplo com CSS (FLOW)
- Aprimorar o entendimento sobre CSS utilizando uma técnica mais aprimorada (FLEXBOX)
Conteúdo que deverá ser apresentado (Seguir guia de estudos)
- Site com a técnica FLOW - salvar o projeto localmente
- Site com a técnica FLEXBOX - salvar o projeto localmente
Conteúdo extra
Curso sobre a Técnica GRIDConteúdo que será desenvolvido na próxima aula
-
Utilizando a biblioteca Bootstrap