Corso HTML + CSS
Il corso di HTML + CSS in 10 ore, se ti applichi ti fornirà una base solida per creare pagine web semplici e stilizzarle con CSS. L’obiettivo è far comprendere le strutture base dell’HTML e l’applicazione pratica del CSS per il design e la disposizione degli elementi su una pagina web.
Suddivisione delle 10 ore per il corso base di HTML + CSS
1. Prima Lezione (2 ore): Introduzione a HTML
- Cos’è HTML e come funziona:
- Introduzione a HTML (HyperText Markup Language) e la sua funzione nel web.
- Differenza tra HTML e CSS.
- Struttura di base di una pagina HTML:
- Elementi essenziali di una pagina HTML:
<!DOCTYPE>
,<html>
,<head>
,<title>
,<body>
. - Creazione della prima pagina HTML semplice con testo e immagini.
- Elementi essenziali di una pagina HTML:
- Elementi base di HTML:
- Paragrafi (
<p>
), titoli (<h1>
–<h6>
), link (<a>
), immagini (<img>
), e liste (<ul>
,<ol>
).
- Paragrafi (
- Esercizio pratico:
- Creare una semplice pagina con paragrafi, titoli, immagini e link.
2. Seconda Lezione (2 ore): Introduzione a CSS
- Cos’è CSS e come funziona:
- Introduzione a CSS (Cascading Style Sheets) e la sua funzione nel design delle pagine web.
- Differenza tra HTML per la struttura e CSS per lo stile.
- Aggiungere CSS alla pagina HTML:
- Utilizzo di stili inline, interni (
<style>
) ed esterni (collegamento a file.css
).
- Utilizzo di stili inline, interni (
- Selettori CSS di base:
- Selettori di tag, classe (
.classe
) e ID (#id
).
- Selettori di tag, classe (
- Proprietà CSS di base:
- Proprietà di testo:
color
,font-family
,font-size
,text-align
. - Proprietà di sfondo:
background-color
,background-image
.
- Proprietà di testo:
- Esercizio pratico:
- Applicare stili CSS di base a una pagina HTML (es. modificare i colori e i font).
3. Terza Lezione (2 ore): Layout e Disposizione degli Elementi
- Box Model di CSS:
- Comprendere il box model:
margin
,padding
,border
,content
. - Differenza tra blocco e inline-block.
- Comprendere il box model:
- Layout con CSS:
- Posizionamento degli elementi con
position
(static, relative, absolute, fixed). - Introduzione al layout flessibile con
display: flex
. - Allineamento e distribuzione degli elementi all’interno di un contenitore.
- Posizionamento degli elementi con
- Esercizio pratico:
- Creare una pagina web con layout semplice usando
flexbox
per disporre gli elementi.
- Creare una pagina web con layout semplice usando
4. Quarta Lezione (2 ore): Collegare le Pagine e Navigazione
- Creazione di più pagine HTML:
- Come collegare più pagine web utilizzando link (
<a
).
href="pagina.html"> - Struttura base di un sito con più pagine.
- Come collegare più pagine web utilizzando link (
- Creazione di un menu di navigazione:
- Utilizzare
ul
eli
per creare un menu di navigazione. - Stilizzare il menu con CSS, incluse proprietà per rendere il menu orizzontale o verticale.
- Utilizzare
- Pseudoclassi CSS:
- Applicazione di stili diversi per link attivi, visitati e al passaggio del mouse con
:hover
,:active
,:visited
.
- Applicazione di stili diversi per link attivi, visitati e al passaggio del mouse con
- Esercizio pratico:
- Creare un sito web con più pagine e un menu di navigazione stilizzato con CSS.
5. Quinta Lezione (2 ore): Responsive Design e Media Queries
- Cos’è il Responsive Design:
- Introduzione al concetto di responsive design: adattare il layout a diversi dispositivi (desktop, tablet, mobile).
- Uso di viewport con
<meta
.
name="viewport" content="width=device-width,
initial-scale=1">
- Introduzione alle Media Queries:
- Utilizzo di media queries per applicare stili diversi a seconda della larghezza dello schermo (es.
@media
).
screen and (max-width: 768px)
- Utilizzo di media queries per applicare stili diversi a seconda della larghezza dello schermo (es.
- Progettazione Mobile First:
- Strategie di progettazione per dispositivi mobili prima di adattarsi a schermi più grandi.
- Esercizio pratico:
- Creare una pagina web che si adatta a schermi piccoli (mobile) e grandi (desktop), modificando layout e dimensioni degli elementi.
Progetto Finale (2 ore): Creazione di un Mini-Sito Completo
- Obiettivo:
- Applicare tutto ciò che è stato appreso creando un mini-sito web completo.
- Progetto pratico:
- Sito web di un portfolio personale, un blog o una piccola azienda.
- Include almeno 3 pagine (Home, About, Contact).
- Implementare un layout flessibile con
flexbox
. - Utilizzare media queries per rendere il sito responsive.
- Debugging e miglioramento:
- Ottimizzare il codice, correggere eventuali errori e perfezionare lo stile.
Argomenti Opzionali (se c’è tempo disponibile):
- Introduzione alle transizioni e animazioni CSS:
- Creare effetti semplici di animazione con
transition
eanimation
.
- Creare effetti semplici di animazione con
- Icone e Font Personalizzati:
- Introduzione all’uso di Google Fonts e icone di Font Awesome.
Conclusione:
Alla fine del corso, sempre se ti applichi, sarai in grado di:
- Comprendere e scrivere codice HTML di base.
- Applicare stili CSS per modificare l’aspetto e la disposizione degli elementi.
- Creare layout responsive che si adattano a diversi dispositivi.
- Costruire un mini-sito web completo.
Progetti Pratici
Durante il corso verranno sviluppati alcuni progetti pratici tra quelli elencati:
1. Pagina di Profilo Personale
- Obiettivo: Creare una pagina di profilo personale che includa una breve biografia, un’immagine e informazioni di contatto.
- Concetti utilizzati:
- Struttura HTML di base: titoli, paragrafi, immagini, link.
- Utilizzo di CSS per il layout, la tipografia e la gestione degli spazi (padding, margin).
- Selettori di classe e ID per stilizzare sezioni diverse.
- Estensione: Aggiungere un menu di navigazione e rendere la pagina responsive con media queries.
2. Landing Page di un Prodotto
- Obiettivo: Creare una pagina di presentazione per un prodotto (es. un’app, un libro, o un evento).
- Concetti utilizzati:
- Creazione di sezioni con titoli, immagini, descrizioni, e pulsanti di invito all’azione (CTA).
- Applicazione di background images e gradients per dare un tocco visivo professionale.
- Layout con flexbox per disporre sezioni una accanto all’altra.
- Estensione: Aggiungere effetti di hover sui pulsanti e rendere il design responsive.
3. Sito Web di Portfolio
- Obiettivo: Creare un sito di portfolio per presentare progetti o lavori personali.
- Concetti utilizzati:
- Struttura HTML con più pagine (Home, Progetti, Contatti).
- Creazione di una griglia di immagini dei progetti con CSS Grid o Flexbox.
- Implementazione di un menu di navigazione per spostarsi tra le pagine.
- Estensione: Aggiungere transizioni al passaggio del mouse sui progetti e ottimizzare il layout per dispositivi mobili.
4. Blog Semplice
- Obiettivo: Creare una homepage per un blog che elenca i post recenti con immagini e riassunti.
- Concetti utilizzati:
- Creazione di un layout multi-colonna con flexbox o CSS Grid.
- Utilizzo di stili per i testi: gestione della tipografia (font-family, font-size, line-height).
- Stilizzare i link per i post del blog e aggiungere immagini di anteprima.
- Estensione: Aggiungere un piè di pagina con informazioni sui contatti e rendere il design responsive.
5. Sito Web di Ristorante
- Obiettivo: Creare una pagina per un ristorante che includa il menu, la galleria di immagini e i contatti.
- Concetti utilizzati:
- Creazione di una galleria di immagini con flexbox o grid.
- Formattazione di una lista di piatti (menù) con descrizioni e prezzi.
- Aggiunta di una mappa e informazioni di contatto.
- Estensione: Aggiungere una sezione “Prenota” con un form e stilizzare la pagina per adattarla a dispositivi mobili.
6. Sito Web di un Evento
- Obiettivo: Creare un sito web che promuova un evento (es. conferenza, concerto o festival).
- Concetti utilizzati:
- Creazione di sezioni per informazioni sull’evento, orari, e speaker o artisti.
- Utilizzo di pulsanti CTA per l’acquisto dei biglietti o la registrazione.
- Layout di più colonne per dividere il contenuto visivamente.
- Estensione: Aggiungere una sezione FAQ e una galleria immagini con effetti hover per renderla più interattiva.
7. Pagina di Contatti con Mappa
- Obiettivo: Creare una pagina di contatto che includa un form e una mappa.
- Concetti utilizzati:
- Creazione di un form con campi per nome, email, messaggio, e pulsante di invio.
- Stilizzazione del form con CSS per migliorarne l’aspetto (padding, margin, bordi arrotondati).
- Incorporazione di una mappa (es. Google Maps) tramite iframe.
- Estensione: Aggiungere controlli di validazione CSS sui campi del form e un layout responsive.
8. Pagina di Login e Registrazione
- Obiettivo: Creare una pagina di login e registrazione con form stilizzati.
- Concetti utilizzati:
- Creazione di form HTML con campi per nome utente, password e pulsante di invio.
- Utilizzo di CSS per stilizzare i campi e aggiungere effetti di focus sui campi di input.
- Estensione: Aggiungere controlli visivi come il cambio di colore o bordo quando il campo è attivo e rendere il layout compatibile con i dispositivi mobili.
9. Galleria di Immagini Interattiva
- Obiettivo: Creare una galleria di immagini interattiva che permette agli utenti di vedere le immagini in un layout ordinato.
- Concetti utilizzati:
- Creazione di una griglia di immagini usando CSS Grid.
- Aggiungere effetti di hover per ingrandire le immagini quando l’utente ci passa sopra.
- Utilizzo di transizioni CSS per rendere l’interazione fluida.
- Estensione: Aggiungere una lightbox che permette agli utenti di cliccare sulle immagini per visualizzarle in formato grande.
10. Creazione di una Pagina di FAQ
- Obiettivo: Creare una pagina di domande frequenti (FAQ) con una disposizione chiara e pulita.
- Concetti utilizzati:
- Strutturare la pagina con sezioni di domande e risposte.
- Utilizzare stili CSS per rendere la disposizione ordinata e leggibile (tipografia, spacing).
- Aggiungere interattività tramite l’uso di CSS per nascondere e visualizzare le risposte.
- Estensione: Creare un layout responsive e aggiungere effetti di transizione quando le risposte vengono visualizzate.