Skip to content

Este repositório contém os exercícios, desafios e projetos realizados durante o curso de desenvolvimento web da B7Web, com foco em HTML, CSS e JavaScript.

Notifications You must be signed in to change notification settings

SamuelASantos/EstudosHTMLeCSS

Repository files navigation

📚 Resumo do Estudo:

Bem-vindo ao repositório onde compartilho meu aprendizado e projetos práticos sobre diversas tecnologias. Este repositório contém anotações e exemplos de código das semanas de estudo, com foco em estudo de programação.

🧠 Tecnologias estudadas

  • HTML
  • CSS
  • Lógica de programação
  • JavaScript

🎯 Objetivo

O objetivo deste repositório é registrar o progresso do meu aprendizado, compartilhando os conceitos, práticas e projetos desenvolvidos ao longo das semanas. Além disso, cada semana inclui exemplos de código aplicados e desafios enfrentados.

📅 Conteúdo das Semanas

  • Conceitos principais: Orientações iniciais, conhecendo o VS Code, estruturando páginas.
  • Desafios: Uso do VS Code, criação de pastas e arquivos.
  • Aprendizados:
    • Como baixar e usar as ferramentas que será usada durante o estudo das semanas.
    • Familizarizando com a interface do VS Code e criando o primeiro projeto.

🧩 Projeto Prático

  • Conceitos principais: Estruturação de páginas com HTML, introdução ao CSS, uso de seletores e propriedades básicas.
  • Desafios: Criação de páginas simples com foco na estruturação e estilização básica.
  • Aprendizados:
    • Como estruturar uma página HTML utilizando as tags principais como <html>, <head>, <body>, <header>, <footer>, etc.
    • Aplicação de estilos básicos com CSS, como cores, fontes, margens e padding.
    • Uso de seletores CSS para estilizar diferentes elementos, incluindo seletores de classe e ID.
    • Introdução ao modelo de caixa do CSS (box model), entendendo como os elementos são dimensionados e dispostos na página.

🧩 Projetos Práticos

  • Conceitos principais: Exploração de conceitos avançados de HTML e CSS, com foco em layouts responsivos, técnicas de design e otimização de desempenho.
  • Desafios: Criação de layouts mais complexos e interativos, utilizando técnicas avançadas de estilização e responsividade.
  • Aprendizados:
    • Como usar o modelo de layout flexível (Flexbox) para criar designs dinâmicos e adaptáveis.
    • Implementação de layouts responsivos utilizando media queries e técnicas de design adaptativo.
    • Criação de layouts complexos com CSS Grid, permitindo a construção de designs mais sofisticados e controlados.
    • Técnicas de otimização de desempenho, como o uso eficiente de imagens e fontes, além da melhoria da experiência do usuário com animações e transições.

🧩 Projetos Práticos

  • Conceitos principais: Layouts avançados com Grid e Flexbox, efeitos parallax, media queries, formulários HTML5, tags <video> e <audio>.
  • Desafios: Criação de layouts avançados e integração de multimídia com HTML5.
  • Aprendizados:
    • Como usar grid-template-areas para criar layouts complexos e responsivos.
    • Como aplicar efeitos parallax para criar sites mais interativos.
    • Como usar a tag <audio> e <video> para integrar multimídia aos sites.
    • Como criar formulários avançados e validar entradas do usuário.

🧩 Projetos Práticos

  • Conceitos principais: Introdução à lógica de programação, diferenças entre programa, software e algoritmo, tipos primitivos de dados, operações aritméticas, condicionais, laços de repetição, funções, operadores lógicos, vetores e estrutura de algoritmos.
  • Desafios: Implementação de algoritmos básicos, cálculos matemáticos em Portugol, e criação de exercícios práticos. Implementação de algoritmos práticos com condicionais, loops, funções parametrizadas e manipulação de vetores.
  • Aprendizados:
    • Como diferenciar programa, software e algoritmo.
    • Como estruturar e implementar algoritmos simples.
    • Como utilizar variáveis e tratar erros de tipo e sintaxe.
    • Como aplicar operações aritméticas em programação.
    • Introdução ao conceito de Input/Output (I/O) e interatividade com o usuário.
    • Como utilizar condicionais (se e senao) e operadores lógicos para controle de fluxo.
    • Como evitar loops infinitos e implementar laços de repetição como ENQUANTO e PARA.
    • Como aplicar operadores de incremento, decremento e módulo em algoritmos.
    • Como construir funções parametrizadas e organizar o código com escopo e retorno.
    • Como manipular vetores para armazenar e acessar múltiplos valores.

🧩 Projetos Práticos

  • Conceitos principais:
    • HTML: Linguagem de marcação usada para estruturar páginas web. 🖋️
    • JavaScript: Linguagem de programação usada para tornar as páginas web dinâmicas, com suporte a lógica, loops, variáveis, operadores e funções. 🖥️
    • Variáveis: Declaração e uso de variáveis com var, let e const. 🔑
    • Tipos de Dados: number, string, boolean. 🔢💬
    • Operadores de Comparação e Lógicos: >, <, ==, ===, &&, ||. ⚖️
    • Estruturas Condicionais: if, else, else if, operador ternário e switch. 🔄
    • Laços de Repetição: while, for. 🔁
    • Funções: Criação e execução de funções, incluindo funções anônimas e arrow functions. 🛠️
    • Arrays: Definição, acesso e manipulação de arrays com métodos como push(), pop(), shift(). 📦
    • Manipulação do DOM: Seleção e modificação de elementos HTML via JavaScript. 🎨
    • Eventos: Atribuição de eventos a elementos HTML, como o clique de um botão. 🖱️

  • Desafios:
    • Entender a diferença entre let e var: Saber quando usar cada um para evitar erros relacionados ao escopo. 🤔
    • Manipulação do DOM: Selecionar e alterar elementos HTML usando JavaScript de forma eficiente. 🖼️
    • Trabalhar com arrays: Criar, acessar e modificar arrays, além de aprender a usar métodos como push(), pop(), e shift(). 📚
    • Eventos em JavaScript: Atribuir e gerenciar eventos como cliques e interações com o usuário. 🔔

  • Aprendizados:
    • Uso de variáveis: Aprendi a declarar variáveis corretamente, utilizando let e const para garantir um código mais seguro e eficiente. 🔑
    • Manipulação do DOM: Compreendi como selecionar elementos HTML e modificar seu conteúdo ou estilo com JavaScript, utilizando innerHTML e classList. 🎨
    • Estruturas condicionais e laços de repetição: Aprofundei meus conhecimentos em estruturas de controle, como if, else, while e for, para criar lógica de fluxo eficiente. 🔄
    • Eventos: Aprendi a atribuir eventos a elementos HTML e gerenciar interações do usuário com o código JavaScript. 🖱️

🧩 Projeto Prático


  • Conceitos principais:
    • Manipulação Avançada do DOM: Adição e remoção dinâmica de elementos HTML. 🎨
    • Eventos: Gerenciamento de eventos de mouse (hover, click, etc.) e teclado (keydown, keyup). 🖱️⌨️
    • Iteração Avançada com Arrays: Métodos como map(), filter(), slice() e splice(). 📊

  • Desafios:
    • Eventos de Mouse e Teclado: Implementar funcionalidades que dependem de interações do usuário, como cliques de teclado ou animações ao passar o mouse. 🖱️⌨️
    • Manipulação Avançada do DOM: Criar e remover elementos dinamicamente para criar interfaces dinâmicas. 🎭
    • Iteração com Arrays: Resolver problemas usando métodos como map(), filter(), splice() e slice(). 📈

  • Aprendizados:
    • Eventos de Mouse e Teclado: Entendi como capturar e gerenciar eventos, criando interações mais dinâmicas e responsivas. 🖱️⌨️
    • Manipulação de Objetos e Arrays: Explorei métodos avançados para transformar e acessar dados de forma mais eficiente. 🛠️📊
    • DOM Dinâmico: Consegui adicionar e remover elementos HTML dinamicamente, aprimorando a interatividade das páginas. 🎨

🧩 Projeto Prático

  • [Lista To-Do](EM BREVE)
    • Criação de uma lista de tarefas em JavaScript, manipulando arrays e DOM.

  • Conceitos principais:
    • Objetos em JavaScript: Criação e manipulação de objetos, uso de propriedades e métodos. 🧱
    • JSON (JavaScript Object Notation): Estrutura de dados leve para troca de informações entre cliente e servidor. 📜
    • Manipulação Avançada do DOM: Criação dinâmica de elementos HTML, remoção e atualização de conteúdo. 🎨
    • Eventos Avançados: Delegação de eventos, prevenção de comportamento padrão e propagação de eventos. 🔔
    • Promises e Async/Await: Controle de operações assíncronas, uso de then, catch e finally. ⏳
    • APIs Fetch: Consumo de APIs RESTful com o método fetch para requisições HTTP. 🌐
    • Manipulação de Estilos via JavaScript: Alteração de classes, estilos inline e animações dinâmicas. 🎭

  • Desafios:
    • Trabalhar com objetos e JSON: Criar e manipular objetos complexos e converter dados entre objetos e JSON. 🔄
    • Criação dinâmica de elementos: Usar JavaScript para adicionar, remover e modificar elementos diretamente no DOM. 🛠️
    • Controle de eventos avançados: Implementar delegação e gerenciar propagação de eventos em elementos HTML. 🔗
    • Requisições HTTP com Fetch: Realizar chamadas a APIs externas, manipular respostas e tratar erros. 🌐
    • Promises e Async/Await: Entender como lidar com fluxos assíncronos e evitar callbacks aninhados. ⏱️

  • Aprendizados:
    • Manipulação de objetos e JSON: Entendi como criar objetos complexos, acessar propriedades e converter entre JSON e objetos JavaScript. 🧩
    • DOM Dinâmico: Aprendi a criar e manipular elementos HTML de forma dinâmica, possibilitando interfaces mais interativas. 🎨
    • Eventos Avançados: Aprofundei conhecimentos em delegação de eventos e prevenção de comportamentos indesejados. 🖱️
    • Fetch e Async/Await: Compreendi como realizar requisições HTTP, manipular dados retornados e tratar erros de forma eficiente. 🌐

🧩 Projeto Prático da semana 7

💡 Resumo dos Aprendizados

  • Semana 0: Iniciei com orientações, ferramentas usadas nos estudos assim como organização de pastas e arquivos.
  • Semana 1: Compreendi os fundamentos de HTML e CSS, aprendendo a estruturar e estilizar páginas web de forma simples e eficaz.
  • Semana 2: Aprofundei meus conhecimentos em técnicas avançadas de CSS, como Flexbox e Grid, para criar layouts responsivos e dinâmicos.
  • Semana 3: Aprendi a integrar multimídia com HTML5, usando as tags <video> e <audio>, além de aplicar efeitos interativos como o parallax.
  • Semana 4: Entendi os conceitos de lógica de programação, como algoritmos, tipos de dados e operações aritméticas, além de praticar com exercícios de programação em Portugol. Compreendi lógica de programação com condicionais, loops, funções parametrizadas e manipulação de vetores
  • Semana 5: Aprendi os conceitos iniciais de JavaScript, como variáveis, tipos de dados, operadores, estruturas condicionais e laços de repetição. Aprofundei meus conhecimentos em manipulação de DOM e eventos, além de trabalhar com funções e arrays para criar interatividade nas páginas web.
  • Semana 6: Explorei conceitos intermediários de JavaScript, como métodos de arrays, incluindo forEach, para manipular dados de forma eficiente. Aprendi também sobre eventos de mouse, utilizando interações como mousedown, mouseup, mouseenter, mouseleave, mousemove e contextmenu, além de aplicar o método preventDefault para personalizar comportamentos padrão.Também aprendi eventos de teclado como onkeydown e onkeyup
  • Semana 7: Aprofundei meus conhecimentos em JavaScript avançado, incluindo manipulação dinâmica do DOM, criação e manipulação de objetos e JSON, controle de eventos avançados, e consumo de APIs RESTful com Fetch e Async/Await.

📝 Contato

Você pode entrar em contato comigo através dos seguintes links:

  • LinkedIn - Conecte-se comigo no LinkedIn.
  • Site Pessoal - Acesse meu portfólio e outros projetos.
  • Email - Envie um e-mail diretamente.

Nota: Este repositório está em constante evolução, e novos projetos e aprendizados serão adicionados regularmente.

About

Este repositório contém os exercícios, desafios e projetos realizados durante o curso de desenvolvimento web da B7Web, com foco em HTML, CSS e JavaScript.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published