Ripasso elementi di HTML e stili CSS fondamentali
Spiegazione del Codice HTML e CSS
Questo esempio mostra una pagina web completa con elementi HTML e stili CSS. Analizziamo insieme ogni parte.
Struttura HTML
Intestazione della pagina
<html>
<head>
<title> La nostra pagina in HTML </title>
<link rel="stylesheet" href="./css/style.css">
</head>
- Il tag
<html>racchiude tutto il contenuto della pagina - Nella sezione
<head>troviamo:- Il titolo che appare nella scheda del browser
- Il collegamento al file CSS esterno che contiene gli stili
Liste ordinate e non ordinate
Lista ordinata con numerazione romana:
<ol start="5" type="I">
<li>Latte</li>
<li>Pane</li>
<li>Pasta</li>
</ol>
<ol>crea una lista numeratastart="5"fa iniziare la numerazione dal numero 5type="I"usa numeri romani maiuscoli (V, VI, VII)
Lista non ordinata:
<ul>
<li>Fagioli</li>
<li>Spinaci</li>
<li>Fish & Crock</li>
</ul>
<ul>crea una lista con punti elenco- Ogni elemento
<li>rappresenta una voce della lista
Tabella
<table>
<tr>
<td colspan="2">Latte</td>
</tr>
<tr>
<td>Pane</td>
<td>Pasta</td>
</tr>
</table>
<table>crea una tabella<tr>definisce le righe<td>definisce le cellecolspan="2"fa sì che la cella "Latte" occupi due colonne
Elementi di input
<input type="date">
<textarea rows="50" cols="200"></textarea>
<button>Cliccami</button>
- Campo per inserire una data
- Area di testo grande (50 righe, 200 colonne)
- Pulsante cliccabile
Paragrafo con classi CSS
<p class="coloraRosso coloraBlue">
Lorem ipsum dolor sit amet...
</p>
Questo paragrafo ha due classi CSS applicate contemporaneamente. Se le due classi definiscono la stessa proprietà, vince quella che nel foglio di stile è dichiarata per ultima (a parità di specificità), indipendentemente dall'ordine in cui le classi sono scritte nell'attributo class dell'HTML.
ESEMPIO:
.coloraRosso {
color: red;
}
.coloraBlue {
color: blue;
}
In questo caso il testo risulterà blu, perché .coloraBlue è definita dopo .coloraRosso nel CSS, anche se nell'HTML coloraRosso è scritta per prima nell'attributo class.
Se invece le proprietà sono diverse (es. color in una classe e background-color nell'altra), non c'è conflitto: vengono applicate entrambe.
Stili CSS
Stile per tutti i paragrafi
p {
background-color: green;
color: white;
}
Tutti i tag <p> avranno sfondo verde e testo bianco.
Classi CSS
Classe "coloraRosso":
.coloraRosso {
color: red;
border: 2px dashed yellow;
}
- Testo rosso
- Bordo tratteggiato giallo di 2 pixel
Classe "coloraBlue":
.coloraBlue {
color: black;
border: 2px dashed lightblue;
background-color: whitesmoke;
padding: 5px 50px;
margin: 20px;
}
- Testo nero
- Bordo tratteggiato azzurro
- Sfondo grigio chiaro
- Spaziatura interna: 5px sopra/sotto, 50px destra/sinistra
- Margine esterno di 20px
Risultato finale del paragrafo
Il paragrafo con entrambe le classi avrà:
- Testo nero (dalla classe
coloraBlueche sovrascrive il rosso) - Sfondo grigio chiaro (da
coloraBlue, che sovrascrive il verde del tagp) - Bordo azzurro tratteggiato (da
coloraBlue, che sovrascrive quello giallo) - Spaziatura e margini (da
coloraBlue)
Questo esempio dimostra come le regole CSS si combinano e come alcune proprietà possano sovrascriverne altre in base alla specificità e all'ordine di applicazione.
<html>
<head>
<title> La nostra pagina in HTML </title>
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<ol start="5" type="I"> <!-- attributi sono sempre chiave=valore -->
<li>Latte</li>
<li>Pane</li>
<li>Pasta</li>
</ol>
<ul>
<li>Fagioli</li>
<li>Spinaci</li>
<li>Fish & Crock</li>
</ul>
<table>
<tr>
<td colspan="2">Latte</td>
</tr>
<tr>
<td>Pane</td>
<td>Pasta</td>
</tr>
</table>
<input type="date">
<textarea rows="50" cols="200"></textarea>
<button>Cliccami</button>
<p class="coloraRosso coloraBlue">
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Ea eaque ex exercitationem eligendi sed! Enim eligendi hic quaerat sint! Error sequi deserunt a iste dignissimos excepturi. Odio id deserunt et?
</p>
</body>
</html>
File CSS
p {
background-color: green;
color: white;
}
.coloraRosso {
color: red;
border: 2px dashed yellow;
}
.coloraBlue {
color: black;
border: 2px dashed lightblue;
background-color: whitesmoke;
padding: 5px 50px;
margin: 20px;
}