SlideShare a Scribd company logo
1 of 31
Giuseppe Vizzari
 Concetti di base: linguaggi markup, un minimo di storia
 HTML5 (+ DOM) + CSS3 + JavaScript: il quadro generale
 Minima introduzione su HMTL
 Minima introduzione su CSS
 Minima introduzione su DOM
 Considerazioni varie
 Cosa c’è di nuovo in HTML5?
 Looking forward: JavaScript
 Linguaggio di programmazione: utilizzato per comunicare istruzioni a
una macchina di calcolo, per definire programmi che controllino il
comportamento di un calcolatore
 Linguaggio di markup: utilizzato per annotare un documento in modo
tale che l'annotazione sia sintatticamente distinguibile dal testo
 Esempi di linguaggi di markup:
 TeX (e LaTeX)
 SGML
 HTML, XHTML, XML
 Le annotazioni possono avere diverse finalità:
 di presentazione (definiscono come visualizzare il testo al quale sono
associate)
 procedurali (definiscono istruzioni per programmi che elaborino il testo al
quale sono associate)
 descrittive (etichettano semplicemente parti del testo, disaccoppiando la
struttura dalla presentazione del testo stesso)
http://visual.ly/html5-past-present-and-future
Dal web degli
autori di pagine
HTML scritte a
mano…
… al web delle
pagine HTML
generate da
programmi
(sistemi di
gestione di blog o
CMS)
 Cos’è l’HTML?
 HTML (Hyper Text Markup Language) è un linguaggio di
markup per dare struttura ai contenuti (web)
 La specifica HTML è definita dal W3C (World Wide Web
Consortium)
whichElement?
Trying to answer that age old
question:
Should that be a div, a span, or
something else?
Home
Contribute
About
One of the main challenges we see in
building semantic content is picking
what tag to use when.
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
<h1>whichElement?</h1>
<h2>Trying to answer that age old
question:</h2>
<h2>Should that be a div, a span, or
something else?</h2>
<ul>
<li>Home</li>
<li>Contribute</li>
<li>About</li>
</ul>
<p>One of the main challenges we see in
building semantic content is picking what
tag to use when. This site seeks to help with
that. Now, before we get all judgy and
preachy let me get a few tenants out
there:</p>
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
 Cosa si intende per CSS?
 CSS (Cascading Style Sheets) è un linguaggio per dare uno
stile (di presentazione/visuale) ai contenuti (web)
 La specifica dei CSS è definita dal W3C
<style type="text/css">
h1{
color: red;
}
h2{
color: blue;
font-style: italic;
}
p{
color: white;
background-color: black;
}
</style>
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
Non è detto che
sia un bello stile!<head>
<link rel="stylesheet" type="text/css” href="theme.css">
</head>
<style type="text/css">
h1{
color: red;
font-size: 16px;
}
h2{
color: blue;
font-size: 26px;
}
ul{
list-style: none;
clear: both;
display: block;
width: 100%;
height: 30px;
padding: 0;
}
li{
float: left;
padding-right: 20px;
}
</style>
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
 Cosa si intende per DOM?
 DOM (Document Object Model) è una interfaccia neutrale
rispetto al linguaggio di programmazione e alla piattaforma
utilizzata per consentire ai programmi l’accesso e la modifica
dinamica di contenuto, struttura e stile di un documento (web)
 DOM è una API definita dal W3C (e implementata da ogni
browser moderno) per l’accesso e la gestione dinamica di
documenti XML e HTML
<html>
<head>
<title>Example ...</title>
<meta charset="UTF-8">
<meta name="author" content="John Doe">
</head>
<body>
<h1>Heading 1</h1>
<p>This is a paragraph of text with a
<a href="/path/page.html">link in it</a>.
</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
</body>
</html>
 Ogni nodo può essere caratterizzato da
attributi che ne facilitano
l’identificazione, la ricerca, la selezione
 Un identificatore univoco (attenzione: il
DOM non garantisce l’unicità)
 Una “classe” che indica l’appartenenza ad
un insieme che ci è utile definire
 Il browser stesso fornisce funzionalità di
ricerca:
 getElementById(IdName)
 getElementsByClassName(ClassName)
 … diverse altre meno interessanti
<h1>A One Page FAQ</h1>
<div id=”introText">
<p>bla bla bla</p>
</div>
<h2>I've heard that JavaScript is the
long-lost fountain of youth. Is this
true?</h2>
<div class="answer">
<p>bla bla bla</p>
</div>
<h2>Can JavaScript really solve all of
my problems?</h2>
<div class="answer”>
<bla bla bla</p>
</div>
<p id="foo">
This is a paragraph of text with a
<a href="/path/to/page.html">link</a>
.
</p>
Se volessimo cambiare lo stile di un singolo paragrafo? O
tutti paragrafi di una certa classe?
Possiamo specificare un selettore più preciso rispetto al
nome del tag, per esempio specificando il nome di una
classe o un identificatore di elemento del DOM:
p.intro {
color: red;
}
Questo stile sarà applicato solo ai tag di classe intro
<p class="intro">
I principali selettori sono
● tag name: il semplice nome del tag
o p { ... } //affects to all <p> tags
● dot (.): applicabile a un tag, indica una classe
o p.highlight { ... } //affects all <p> tags with class="highlight"
● sharp character (#): applicabile a un tag, indica un
identificativo
o p#intro { ... } //affects to the <p> tag with the id="intro"
● two dots (:): stati comportamentali (ad esempio evento
mouseover)
o p:hover { ... } //affects to <p> tags with the mouse over
● brackets ([attr='value']): tag con un valore specifico per un
attributo 'value'
o input[type="text"] {...} // affects to the input tags of the type text
 Le media query possono essere
viste come particolari selettori
capaci di valutare le capacità
del device di accesso alla pagina
 Non solo schermi, anche
stampanti o sistemi text-to-
speech!
 Si possono controllare ad
esempio:
 Larghezza e altezza (width,
height) del device o della finestra
 Orientamento dello schemo
(landscape/portrait)
 Risoluzione
 Se la pagina è più larga di 480
pixel (e si sta visualizzando
sullo schermo), applica
determinati stili agli elementi
con id “leftsidebar” (un menu)
e “main” (la colonna centrale)
@media screen and (min-width: 480px){
#leftsidebar {width: 200px; float: left;}
#main {margin-left:216px;}
}
 Esistono potenzialmente diversi stylesheet:
 L’autore della pagina in genere ne specifica uno (il modo più
comunemente inteso) o più d’uno
 Il browser ne ha uno, o un vero e proprio CSS o simulato nel loro codice
 Il lettore, l’utente del browser, ne può definire uno proprio per
customizzare la propria esperienza
 Dei conflitti sono quindi possibili (inevitabili), ed è necessario
definire un algoritmo per decidere quale stile vada applicato a un
elemento
 Non entriamo nel dettaglio, ma la priorità tiene conto, in ordine di
importanza, dei seguenti fattori associati alle regole:
 Importanza (flag specifico !important per un attributo)
 Specificità (per esempio, id > class > tag)
 Ordine nel sorgente (lo più “recente” vince)
 L’impostazione di HTML e CSS separa nettamente il
contenuto dalla modalità di visualizzazione
 Ricordo che quello di “separation of concerns” è un principio di
design altamente desiderabile in contesto informatico
 Purtroppo lo stile invece può avere un forte coupling con il
contenuto, come risulta dagli esempi precedenti
 Il browser non è solamente un banale visualizzatore di pagine
scritte in HTML, è un vero e proprio ambiente di sviluppo (in
particolare contiene un interprete Javascript e vari strumenti
di debug, ma ne parleremo più avanti) che fornisce numerose
funzionalità abilitanti
 Non ho senso estetico, non ho
voglia / tempo di definire un
CSS decente (che peraltro è un
lavoro non banale) come posso
fare?
 Esistono numerosi “front-end
framework”, dai più sofisticati ai
più semplici, naturalmente open
source, ad esempio:
 Bootstrap
(http://getbootstrap.com)
 Foundation
(http://foundation.zurb.com)
 Skeleton (http://getskeleton.com)
 Nuovi elementi semantici per la strutturazione delle pagine
 article, section, aside, header, footer, etc
 Nuovi elementi di input e multimediali
 Widget per input search, email, url, number, tel, ma anche range,
date…
 … purtroppo supporto non uniforme da tutti i browser
 audio, video, canvas
 Nuove API JavaScript per la manipolazione delle pagine
 Offline data, drag and drop, web storage
 Chiariamo brevemente cosa si intende per semantica in HTML5 e
facciamo qualche esempio di widget per l’input
 Parleremo di web semantico nella seconda parte del corso qui intendiamo un
utilizzo sensato e comprensibile dei tag HTML
 Esempi di usi sensati:
 <p> per definire un paragrafo
 <ul> per definire una lista di elementi il cui ordine non è importante
 <address> per indicare informazioni relative a un indirizzo
 <div> e <span> per contenere informazione che si vuole delimitare per qualche motivo
(successive manipolazioni)
 Esempi di usi non ragionevoli rispetto alla semantica dei tag:
 <p> per andare a capo
 <blockquote> per gestire l’indantazione
 <h1> per ingrandire del testo
 L’HTML dovrebbe non contenere informazione di presentazione, riservata ai
CSS
 Nessun tag <font>, <b>, <i>
 No a utilizzo di stili definiti “in linea”
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
<div id="header">
<h1>The Awesome Blog of Awesome</h1>
<p class="tagline">Awesome is a State of Mind</p>
</div>
<header>
<h1>The Awesome Blog of Awesome</h1>
<h2>Awesome is a State of Mind</h2>
</header>
 HTML 5
 Prima...
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
Analogamente
esiste un tag footer
<div id="nav">
<ul>
<li><a href="">Home</a></li>
<li><a href="">Blog</a></li>
<li><a href="">About</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
<nav>
<ul>
<li><a href="">Home</a></li>
<li><a href="">Blog</a></li>
<li><a href="">About</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
 Prima  HTML 5
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
<div class="post”>
<div class="postheader">
<h3><a href="">I Scream My Thoughts</a></h3>
<p class="date">August 10, 2011</p>
</div>
<p>You probably haven't heard of them duis</p>
</div>
<article>
<header>
<h1><a href="">I Scream My Thoughts</a></h1>
<time>August 10, 2011</time>
</header>
<p>You probably haven't heard of them duis </p>
</article>
 Prima  HTML5
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
<div class=”content”>
<div class="post”>
...
</div>
<div class="post”>
...
</div>
<div class="post”>
...
</div>
</div>
<section>
<article>
...
</article>
<article>
...
</article>
<article>
...
<article>
</section>
 Prima  HTML5
Nota: questo è un suggerimento,
non una prescrizione dura. In
particolare, nulla vieta di avere
delle sezioni all’interno di un
articolo stesso…
https://www.w3schools.com/html/h
tml5_semantic_elements.asp
…
</div>
</div>
</div>
<div id=“footer”>
</div>
</body>
…
</div>
</article>
</section>
<footer>
</footer>
</body>
 Prima di questi tag, la chiusura
della pagina appariva così:
 Con i nuovi tag HTML5 è più
leggibile:
In generale, a parte essere una notazione più concisa e che richiede
meno definizioni di classi, le gerarchie di contenuti più leggibili e
analizzabili in fase di progettazione, manutenzione e debug
• Supporto non uniforme…
• I diversi browser tendono a customizzare
l’aspetto del box
<input type=“search” name=“search” />
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
• Fornisce una forma di validazione del dato inserito
• Forza la tastiera specifica per l’email su dispositivi iOS
<input type=“email” name=“email” />
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
• Fornisce una forma di validazione del dato inserito
• Nei diversi browser presenta apparenze
diverse
<input type=“date” name=“dob” />
Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
 Abbiamo capito cosa sono HTML, CSS e DOM…
 … che ci forniscono il necessario per definire contenuti (web), loro stuttura
(comprese regole di accesso e modifica), stile grafico
 Per approfondimenti specifici ed esempi:
 https://www.w3.org/Style/Examples/011/firstcss.en.html
 https://www.w3schools.com
 https://www.tutorialspoint.com/css/
 Manca il modo di definire e governare la dinamicità della pagina, il modo
della pagina di cambiare in modo reattivo al comportamento dell’utente o
anche proattivo, senza necessariamente dover attendere uno stimolo
dall’utente
 Javascript è il linguaggio di scripting che svolge questa funzione, ne
parleremo più avanti in esercitazioni dedicate
 Domande su questa parte sono previste tanto nel compitino quanto negli
scritti successivi

More Related Content

What's hot

6 - Wordpress e vostro blog
6 - Wordpress e vostro blog6 - Wordpress e vostro blog
6 - Wordpress e vostro blogGiuseppe Vizzari
 
Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Giuseppe Vizzari
 
WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19Giuseppe Vizzari
 
Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)Giuseppe Vizzari
 
14 - Web designer vs Web developer ...
14 - Web designer vs Web developer ... 14 - Web designer vs Web developer ...
14 - Web designer vs Web developer ... Giuseppe Vizzari
 
1 - Introduzione al corso 17/18
1 - Introduzione al corso 17/181 - Introduzione al corso 17/18
1 - Introduzione al corso 17/18Giuseppe Vizzari
 
1 - Introduzione al corso 18/19
1 - Introduzione al corso 18/191 - Introduzione al corso 18/19
1 - Introduzione al corso 18/19Giuseppe Vizzari
 
05 - Introduzione al Web II
05 - Introduzione al Web II05 - Introduzione al Web II
05 - Introduzione al Web IIGiuseppe Vizzari
 
5 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/175 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/17Giuseppe Vizzari
 
9 - WordPress e il vostro blog - 16/17
9 - WordPress e il vostro blog - 16/179 - WordPress e il vostro blog - 16/17
9 - WordPress e il vostro blog - 16/17Giuseppe Vizzari
 
1 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 11 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 1Andrea Gorrini
 
Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19Giuseppe Vizzari
 
Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)Andrea Gorrini
 
13 - Web feed e aggregatori
13 - Web feed e aggregatori13 - Web feed e aggregatori
13 - Web feed e aggregatoriGiuseppe Vizzari
 
1 esercitazione - Internet
1 esercitazione - Internet 1 esercitazione - Internet
1 esercitazione - Internet Andrea Gorrini
 

What's hot (20)

9 - Ricercare nel Web
9 - Ricercare nel Web9 - Ricercare nel Web
9 - Ricercare nel Web
 
6 - Wordpress e vostro blog
6 - Wordpress e vostro blog6 - Wordpress e vostro blog
6 - Wordpress e vostro blog
 
Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)
 
WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19
 
Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)
 
14 - Web designer vs Web developer ...
14 - Web designer vs Web developer ... 14 - Web designer vs Web developer ...
14 - Web designer vs Web developer ...
 
1 - Introduzione al corso 17/18
1 - Introduzione al corso 17/181 - Introduzione al corso 17/18
1 - Introduzione al corso 17/18
 
Ricercare nel web
Ricercare nel webRicercare nel web
Ricercare nel web
 
1 - Introduzione al corso 18/19
1 - Introduzione al corso 18/191 - Introduzione al corso 18/19
1 - Introduzione al corso 18/19
 
05 - Introduzione al Web II
05 - Introduzione al Web II05 - Introduzione al Web II
05 - Introduzione al Web II
 
5 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/175 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/17
 
9 - WordPress e il vostro blog - 16/17
9 - WordPress e il vostro blog - 16/179 - WordPress e il vostro blog - 16/17
9 - WordPress e il vostro blog - 16/17
 
1 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 11 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 1
 
Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19
 
Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)
 
13 - Web feed e aggregatori
13 - Web feed e aggregatori13 - Web feed e aggregatori
13 - Web feed e aggregatori
 
6 - Il browser - 17/18
6 - Il browser - 17/186 - Il browser - 17/18
6 - Il browser - 17/18
 
6 - Il browser - 16/17
6 - Il browser - 16/176 - Il browser - 16/17
6 - Il browser - 16/17
 
Web feed e aggregatori
Web feed e aggregatoriWeb feed e aggregatori
Web feed e aggregatori
 
1 esercitazione - Internet
1 esercitazione - Internet 1 esercitazione - Internet
1 esercitazione - Internet
 

Viewers also liked

Presentazione "Augment your journey"
Presentazione "Augment your journey"Presentazione "Augment your journey"
Presentazione "Augment your journey"Giulia Cavallo
 
E-Wolf: presentazione del blog
E-Wolf: presentazione del blogE-Wolf: presentazione del blog
E-Wolf: presentazione del blogSara Silipigni
 
3 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/183 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/18Giuseppe Vizzari
 

Viewers also liked (6)

Presentazione IoToast
Presentazione IoToastPresentazione IoToast
Presentazione IoToast
 
Presentazione "Augment your journey"
Presentazione "Augment your journey"Presentazione "Augment your journey"
Presentazione "Augment your journey"
 
E-Wolf: presentazione del blog
E-Wolf: presentazione del blogE-Wolf: presentazione del blog
E-Wolf: presentazione del blog
 
TopWearTech
TopWearTechTopWearTech
TopWearTech
 
3 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/183 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/18
 
11 - Evoluzione del web
11 - Evoluzione del web11 - Evoluzione del web
11 - Evoluzione del web
 

Similar to Breve introduzione alle tecnologie HTML5 + (DOM) + CSS

Presentazione Corso - Parte 1
Presentazione Corso - Parte 1Presentazione Corso - Parte 1
Presentazione Corso - Parte 1Giorgio Carpoca
 
Corso HTML per l'editoria
Corso HTML per l'editoriaCorso HTML per l'editoria
Corso HTML per l'editoriaDiego La Monica
 
Html base - classi prime - multimedia
Html base - classi prime - multimediaHtml base - classi prime - multimedia
Html base - classi prime - multimediaMatteo Ziviani
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5orestJump
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)Matteo Ziviani
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)Alessandro Giorgetti
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerMatteo Magni
 
The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)Giovanni Buffa
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerMatteo Magni
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al cssEnrico Mainero
 

Similar to Breve introduzione alle tecnologie HTML5 + (DOM) + CSS (20)

Html
HtmlHtml
Html
 
Presentazione Corso - Parte 1
Presentazione Corso - Parte 1Presentazione Corso - Parte 1
Presentazione Corso - Parte 1
 
Corso HTML per l'editoria
Corso HTML per l'editoriaCorso HTML per l'editoria
Corso HTML per l'editoria
 
HTML e CSS
HTML e CSSHTML e CSS
HTML e CSS
 
Html base - classi prime - multimedia
Html base - classi prime - multimediaHtml base - classi prime - multimedia
Html base - classi prime - multimedia
 
Introduzione al CSS
Introduzione al CSSIntroduzione al CSS
Introduzione al CSS
 
Lezione HTML
Lezione HTMLLezione HTML
Lezione HTML
 
Introduzione ai css
Introduzione ai cssIntroduzione ai css
Introduzione ai css
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesigner
 
The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesigner
 
HTML5
HTML5HTML5
HTML5
 
Css1
Css1Css1
Css1
 
Corso di HTML5 e CSS
Corso di HTML5 e CSSCorso di HTML5 e CSS
Corso di HTML5 e CSS
 
Web writing 2
Web writing 2Web writing 2
Web writing 2
 
Fogli di stile CSS
Fogli di stile CSSFogli di stile CSS
Fogli di stile CSS
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al css
 

More from Giuseppe Vizzari

Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21
Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21
Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21Giuseppe Vizzari
 
11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)Giuseppe Vizzari
 
10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)Giuseppe Vizzari
 
4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)Giuseppe Vizzari
 
3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)Giuseppe Vizzari
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)Giuseppe Vizzari
 
1 - Introduzione al corso 19/20
1 - Introduzione al corso 19/201 - Introduzione al corso 19/20
1 - Introduzione al corso 19/20Giuseppe Vizzari
 
Intelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà VirtualeIntelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà VirtualeGiuseppe Vizzari
 
Modelli di business nel web
Modelli di business nel webModelli di business nel web
Modelli di business nel webGiuseppe Vizzari
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Giuseppe Vizzari
 

More from Giuseppe Vizzari (16)

Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21
Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21
Presentazione CdLM in Teoria e Tecnologia della Comunicazione A.A. 2020/21
 
12 - Social media (19/20)
12 - Social media (19/20)12 - Social media (19/20)
12 - Social media (19/20)
 
11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)
 
10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)
 
8 - Il browser
8 - Il browser8 - Il browser
8 - Il browser
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
 
4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)
 
3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)
 
1 - Introduzione al corso 19/20
1 - Introduzione al corso 19/201 - Introduzione al corso 19/20
1 - Introduzione al corso 19/20
 
Intelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà VirtualeIntelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà Virtuale
 
Wiki e open internet
Wiki e open internetWiki e open internet
Wiki e open internet
 
I social media
I social mediaI social media
I social media
 
Evoluzione del web
Evoluzione del webEvoluzione del web
Evoluzione del web
 
Modelli di business nel web
Modelli di business nel webModelli di business nel web
Modelli di business nel web
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19
 

Recently uploaded

IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 

Recently uploaded (10)

IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 

Breve introduzione alle tecnologie HTML5 + (DOM) + CSS

  • 2.  Concetti di base: linguaggi markup, un minimo di storia  HTML5 (+ DOM) + CSS3 + JavaScript: il quadro generale  Minima introduzione su HMTL  Minima introduzione su CSS  Minima introduzione su DOM  Considerazioni varie  Cosa c’è di nuovo in HTML5?  Looking forward: JavaScript
  • 3.  Linguaggio di programmazione: utilizzato per comunicare istruzioni a una macchina di calcolo, per definire programmi che controllino il comportamento di un calcolatore  Linguaggio di markup: utilizzato per annotare un documento in modo tale che l'annotazione sia sintatticamente distinguibile dal testo  Esempi di linguaggi di markup:  TeX (e LaTeX)  SGML  HTML, XHTML, XML  Le annotazioni possono avere diverse finalità:  di presentazione (definiscono come visualizzare il testo al quale sono associate)  procedurali (definiscono istruzioni per programmi che elaborino il testo al quale sono associate)  descrittive (etichettano semplicemente parti del testo, disaccoppiando la struttura dalla presentazione del testo stesso)
  • 4. http://visual.ly/html5-past-present-and-future Dal web degli autori di pagine HTML scritte a mano… … al web delle pagine HTML generate da programmi (sistemi di gestione di blog o CMS)
  • 5.  Cos’è l’HTML?  HTML (Hyper Text Markup Language) è un linguaggio di markup per dare struttura ai contenuti (web)  La specifica HTML è definita dal W3C (World Wide Web Consortium)
  • 6. whichElement? Trying to answer that age old question: Should that be a div, a span, or something else? Home Contribute About One of the main challenges we see in building semantic content is picking what tag to use when. Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 7. <h1>whichElement?</h1> <h2>Trying to answer that age old question:</h2> <h2>Should that be a div, a span, or something else?</h2> <ul> <li>Home</li> <li>Contribute</li> <li>About</li> </ul> <p>One of the main challenges we see in building semantic content is picking what tag to use when. This site seeks to help with that. Now, before we get all judgy and preachy let me get a few tenants out there:</p> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 8.  Cosa si intende per CSS?  CSS (Cascading Style Sheets) è un linguaggio per dare uno stile (di presentazione/visuale) ai contenuti (web)  La specifica dei CSS è definita dal W3C
  • 9. <style type="text/css"> h1{ color: red; } h2{ color: blue; font-style: italic; } p{ color: white; background-color: black; } </style> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719 Non è detto che sia un bello stile!<head> <link rel="stylesheet" type="text/css” href="theme.css"> </head>
  • 10. <style type="text/css"> h1{ color: red; font-size: 16px; } h2{ color: blue; font-size: 26px; } ul{ list-style: none; clear: both; display: block; width: 100%; height: 30px; padding: 0; } li{ float: left; padding-right: 20px; } </style> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 11.  Cosa si intende per DOM?  DOM (Document Object Model) è una interfaccia neutrale rispetto al linguaggio di programmazione e alla piattaforma utilizzata per consentire ai programmi l’accesso e la modifica dinamica di contenuto, struttura e stile di un documento (web)  DOM è una API definita dal W3C (e implementata da ogni browser moderno) per l’accesso e la gestione dinamica di documenti XML e HTML
  • 12. <html> <head> <title>Example ...</title> <meta charset="UTF-8"> <meta name="author" content="John Doe"> </head> <body> <h1>Heading 1</h1> <p>This is a paragraph of text with a <a href="/path/page.html">link in it</a>. </p> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> </body> </html>
  • 13.  Ogni nodo può essere caratterizzato da attributi che ne facilitano l’identificazione, la ricerca, la selezione  Un identificatore univoco (attenzione: il DOM non garantisce l’unicità)  Una “classe” che indica l’appartenenza ad un insieme che ci è utile definire  Il browser stesso fornisce funzionalità di ricerca:  getElementById(IdName)  getElementsByClassName(ClassName)  … diverse altre meno interessanti <h1>A One Page FAQ</h1> <div id=”introText"> <p>bla bla bla</p> </div> <h2>I've heard that JavaScript is the long-lost fountain of youth. Is this true?</h2> <div class="answer"> <p>bla bla bla</p> </div> <h2>Can JavaScript really solve all of my problems?</h2> <div class="answer”> <bla bla bla</p> </div>
  • 14. <p id="foo"> This is a paragraph of text with a <a href="/path/to/page.html">link</a> . </p>
  • 15. Se volessimo cambiare lo stile di un singolo paragrafo? O tutti paragrafi di una certa classe? Possiamo specificare un selettore più preciso rispetto al nome del tag, per esempio specificando il nome di una classe o un identificatore di elemento del DOM: p.intro { color: red; } Questo stile sarà applicato solo ai tag di classe intro <p class="intro">
  • 16. I principali selettori sono ● tag name: il semplice nome del tag o p { ... } //affects to all <p> tags ● dot (.): applicabile a un tag, indica una classe o p.highlight { ... } //affects all <p> tags with class="highlight" ● sharp character (#): applicabile a un tag, indica un identificativo o p#intro { ... } //affects to the <p> tag with the id="intro" ● two dots (:): stati comportamentali (ad esempio evento mouseover) o p:hover { ... } //affects to <p> tags with the mouse over ● brackets ([attr='value']): tag con un valore specifico per un attributo 'value' o input[type="text"] {...} // affects to the input tags of the type text
  • 17.  Le media query possono essere viste come particolari selettori capaci di valutare le capacità del device di accesso alla pagina  Non solo schermi, anche stampanti o sistemi text-to- speech!  Si possono controllare ad esempio:  Larghezza e altezza (width, height) del device o della finestra  Orientamento dello schemo (landscape/portrait)  Risoluzione  Se la pagina è più larga di 480 pixel (e si sta visualizzando sullo schermo), applica determinati stili agli elementi con id “leftsidebar” (un menu) e “main” (la colonna centrale) @media screen and (min-width: 480px){ #leftsidebar {width: 200px; float: left;} #main {margin-left:216px;} }
  • 18.  Esistono potenzialmente diversi stylesheet:  L’autore della pagina in genere ne specifica uno (il modo più comunemente inteso) o più d’uno  Il browser ne ha uno, o un vero e proprio CSS o simulato nel loro codice  Il lettore, l’utente del browser, ne può definire uno proprio per customizzare la propria esperienza  Dei conflitti sono quindi possibili (inevitabili), ed è necessario definire un algoritmo per decidere quale stile vada applicato a un elemento  Non entriamo nel dettaglio, ma la priorità tiene conto, in ordine di importanza, dei seguenti fattori associati alle regole:  Importanza (flag specifico !important per un attributo)  Specificità (per esempio, id > class > tag)  Ordine nel sorgente (lo più “recente” vince)
  • 19.  L’impostazione di HTML e CSS separa nettamente il contenuto dalla modalità di visualizzazione  Ricordo che quello di “separation of concerns” è un principio di design altamente desiderabile in contesto informatico  Purtroppo lo stile invece può avere un forte coupling con il contenuto, come risulta dagli esempi precedenti  Il browser non è solamente un banale visualizzatore di pagine scritte in HTML, è un vero e proprio ambiente di sviluppo (in particolare contiene un interprete Javascript e vari strumenti di debug, ma ne parleremo più avanti) che fornisce numerose funzionalità abilitanti
  • 20.  Non ho senso estetico, non ho voglia / tempo di definire un CSS decente (che peraltro è un lavoro non banale) come posso fare?  Esistono numerosi “front-end framework”, dai più sofisticati ai più semplici, naturalmente open source, ad esempio:  Bootstrap (http://getbootstrap.com)  Foundation (http://foundation.zurb.com)  Skeleton (http://getskeleton.com)
  • 21.  Nuovi elementi semantici per la strutturazione delle pagine  article, section, aside, header, footer, etc  Nuovi elementi di input e multimediali  Widget per input search, email, url, number, tel, ma anche range, date…  … purtroppo supporto non uniforme da tutti i browser  audio, video, canvas  Nuove API JavaScript per la manipolazione delle pagine  Offline data, drag and drop, web storage  Chiariamo brevemente cosa si intende per semantica in HTML5 e facciamo qualche esempio di widget per l’input
  • 22.  Parleremo di web semantico nella seconda parte del corso qui intendiamo un utilizzo sensato e comprensibile dei tag HTML  Esempi di usi sensati:  <p> per definire un paragrafo  <ul> per definire una lista di elementi il cui ordine non è importante  <address> per indicare informazioni relative a un indirizzo  <div> e <span> per contenere informazione che si vuole delimitare per qualche motivo (successive manipolazioni)  Esempi di usi non ragionevoli rispetto alla semantica dei tag:  <p> per andare a capo  <blockquote> per gestire l’indantazione  <h1> per ingrandire del testo  L’HTML dovrebbe non contenere informazione di presentazione, riservata ai CSS  Nessun tag <font>, <b>, <i>  No a utilizzo di stili definiti “in linea” Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 23. <div id="header"> <h1>The Awesome Blog of Awesome</h1> <p class="tagline">Awesome is a State of Mind</p> </div> <header> <h1>The Awesome Blog of Awesome</h1> <h2>Awesome is a State of Mind</h2> </header>  HTML 5  Prima... Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719 Analogamente esiste un tag footer
  • 24. <div id="nav"> <ul> <li><a href="">Home</a></li> <li><a href="">Blog</a></li> <li><a href="">About</a></li> <li><a href="">Contact</a></li> </ul> </div> <nav> <ul> <li><a href="">Home</a></li> <li><a href="">Blog</a></li> <li><a href="">About</a></li> <li><a href="">Contact</a></li> </ul> </nav>  Prima  HTML 5 Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 25. Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719 <div class="post”> <div class="postheader"> <h3><a href="">I Scream My Thoughts</a></h3> <p class="date">August 10, 2011</p> </div> <p>You probably haven't heard of them duis</p> </div> <article> <header> <h1><a href="">I Scream My Thoughts</a></h1> <time>August 10, 2011</time> </header> <p>You probably haven't heard of them duis </p> </article>  Prima  HTML5
  • 26. Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719 <div class=”content”> <div class="post”> ... </div> <div class="post”> ... </div> <div class="post”> ... </div> </div> <section> <article> ... </article> <article> ... </article> <article> ... <article> </section>  Prima  HTML5 Nota: questo è un suggerimento, non una prescrizione dura. In particolare, nulla vieta di avere delle sezioni all’interno di un articolo stesso… https://www.w3schools.com/html/h tml5_semantic_elements.asp
  • 27. … </div> </div> </div> <div id=“footer”> </div> </body> … </div> </article> </section> <footer> </footer> </body>  Prima di questi tag, la chiusura della pagina appariva così:  Con i nuovi tag HTML5 è più leggibile: In generale, a parte essere una notazione più concisa e che richiede meno definizioni di classi, le gerarchie di contenuti più leggibili e analizzabili in fase di progettazione, manutenzione e debug
  • 28. • Supporto non uniforme… • I diversi browser tendono a customizzare l’aspetto del box <input type=“search” name=“search” /> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 29. • Fornisce una forma di validazione del dato inserito • Forza la tastiera specifica per l’email su dispositivi iOS <input type=“email” name=“email” /> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 30. • Fornisce una forma di validazione del dato inserito • Nei diversi browser presenta apparenze diverse <input type=“date” name=“dob” /> Esempio da: http://www.slideshare.net/tpryan/introduction-to-html5-11711719
  • 31.  Abbiamo capito cosa sono HTML, CSS e DOM…  … che ci forniscono il necessario per definire contenuti (web), loro stuttura (comprese regole di accesso e modifica), stile grafico  Per approfondimenti specifici ed esempi:  https://www.w3.org/Style/Examples/011/firstcss.en.html  https://www.w3schools.com  https://www.tutorialspoint.com/css/  Manca il modo di definire e governare la dinamicità della pagina, il modo della pagina di cambiare in modo reattivo al comportamento dell’utente o anche proattivo, senza necessariamente dover attendere uno stimolo dall’utente  Javascript è il linguaggio di scripting che svolge questa funzione, ne parleremo più avanti in esercitazioni dedicate  Domande su questa parte sono previste tanto nel compitino quanto negli scritti successivi