167
WEB DESIGN II docente: Gabriele Ruscelli dispense: www.gabrieleruscelli.com email: [email protected]

WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

  • Upload
    vonhu

  • View
    234

  • Download
    2

Embed Size (px)

Citation preview

Page 1: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

WEB DESIGN IIdocente: Gabriele Ruscelli

dispense: www.gabrieleruscelli.comemail: [email protected]

Page 2: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Queste slideQueste slides fanno parte del corso “Web Design II & HTML II”.Il sito del corso, con il materiale completo, si trova in http://www.gabrieleruscelli.com . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno.

Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):

La licenza non si estende alle immagini provenienti da altre fonti e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati.L’autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.

Page 3: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

ProgrammaHTML 5 introduzione ai nuovi

tag

Utilizzo delle tecniche di base dei CSS3

Animazioni e transazioni con CSS3

Design mobile, come si progetta un’app

Responsive design con griglie fluide

Responsive design con media query

Testo e immagini responsive

View Port e Flex box

Flex box

jQuery introduzione

Revisione esame

Revisione esame

1

2

34

5

6

9

8

7

10

11

12

Page 4: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

esame MODALITA’ DI VALUTAZIONE

Gli esami dovranno essere sostenuti dimostrando di aver appreso le logiche del digital design con la presentazione di un progetto individuale per un mini-sito web “One-page” utilizzando le tecniche degli standard W3C ed il conseguente superamento di una verifica orale.

I criteri generali di valutazione si fondano su tre parametri fondamentali: la qualità dell’esecuzione grafica, la preparazione “tecnica” di costruzione e la capacità di aver appreso gli obiettivi fondamentali di questa materia.

La valutazione complessiva sarà quindi così composta:- frequenza, attenzione, comportamento e preparazione generale : 33% del voto- parte grafico/estetica + architettura dell’informazione : 33% del voto- parte tecnica di costruzione (HTML + CSS) : 33% del voto

Page 5: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

esame appelli sucessivi

Lo studente che si proporrà negli appelli successivi al primo, sarà soggetto a un carico maggiore di lavoro.Oltre a portare il sito web sopra citato l’alunno sarà tenuto a sostenere una prova teorica scritta, pertanto si è obbligati a presentarsi all’ora precisa dell’esame.La prova scritta sarà composta da domande chiuse su argomenti svolti in classe. Prendere come riferimento le slide e se opportuno i libri specifici.

HTML5 e CSS3di Gabriele Gigliottihttp://www.apogeonline.com/libri/9788850330119/schedano capitoli:Realizzare form dinamiciSviluppare applicazioni web offlineSfruttare la geolocalizzazioneTabelle di supporto dei principali browser

Responsive Web Designdi Gianluca Troianihttp://www.apogeonline.com/libri/9788850316694/schedano capitoli:Strumenti per il test ed emulatori multipiattaformaCreazione di CSS responsive con SASS

Page 6: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

sitografia e bibliografiaBibliografia specifica: 1. CSS Guida Completa di Gianluca Trojani - editore Feltrinelli, nuova edizione copertina Blu 2. HTML and CSS web standard solutions by Christopher Murphy, Nicklas Persson - Editore: Friends of (an Apress Company) 3. HTML and CSS: Design and Build Websites di jon Duckett 4. Neuro Web Design di Susan M. Weinschenk - Editore: Apogeo; 5. Eyetracking web Usability. Siti che catturano lo sguardo di Jakob Nielsen e Kara Pernice - Amazon.it 6. HTML5 - the missing manual - by Mattew MacDonald - 2013 - Editore: O’Reilly 7. CSS3 - the missing Manual by David Sawyer McFarland - 2013 - Editore: O’Reilly 8. HTML5 il murkup e le api. di Gabriele Gigliotti, Gianluca Troiani - Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third edition - Editor: SitePoint

Sitografica specifica: 1. http://www.italianalistapart.com 2. http://learn.shayhowe.com/advanced-html-css/ 3. http://www.zeldman.com 4. http://www.cssbeauty.com/gallery/ 5. http://www.webcreme.com/ 6. http://www.sitepoint.com/ 7. http://www.thefwa.com/ 8. http://www.awwwards.com/ 9. http://www.iwebdesigner.it/ 10. http://www.html5today.it/ 11. http://www.yourinspirationweb.com/ 12. http://onepagelove.com/

Bibliografia e sitografia generale: 1. Jeffry Zeldman Progettare Siti Web Standard – tecniche per il design con XHTML e CSS, Editore Parson Education Italia – disponibile da HOEPLI Milano in italiano e in inglese. 2. Jackob Nielsen, Designing Web Usability, New Riders Publishing, USA, 3. http://www.w3.org/ 4. http://www.w3.org/html/ 5. http://www.w3.org/Style/CSS/

Page 7: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

HTML5il presente e futuro

Page 8: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

documentazionePiccolo e veloce Funzioni HTML5

avanzateGuida completa

Page 9: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

INTRODUZIONE

L’HTML5 è il linguaggio universale utilizzato sul web, è interpretabile in ogni browser e permette la

composizione di pagine web su computer e device mobili.

Page 10: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

DOCTYPE

Definiamo un doctype per permettere alla pagina di essere renderizzata in modalità standard sui vari browser.

<!doctype html><html><head></head><body></body></html>

Da notare il doctype privo di dtd.

Page 11: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

CHARSET

Definendo il charset possiamo forzare il browser ad un rendering del testo secondo un set di caratteri da noi scelto.

Per avere una maggiore compatibilità con traduzioni e caratteri speciali scegliamo utf-8

<!doctype html><html><head><meta charset= “utf-8” /></head><body></body></html>

Page 12: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

ALTRI META

È opportuno inserire l’elemento title, il meta description e il meta keyword

<head><meta charset= “utf-8” /><title> La mia pagina in HTML5 </title><meta name= “description” content= “Descrizione della pagina” /><meta name= “keywords” content= “keyords1, keyords2, keyords3” /></head>

Page 13: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

FAVICONPer includere una favicon è possibile utilizzare il tag <link>.

Il formato può essere .png .ico .gifA seconda del formato ogni browser può scegliere come renderizzarla.

Per Photoshop esiste un plugin gratuito che permette il salvataggio di questo formato:http://www.telegraphics.com.au/svn/icoformat/trunk/dist/README.html

<head><link rel= “shortcut icon” href= “image/favicon.ico” type= “image/x-icon”><link rel= “stylesheet” href=”css/style.css” /></head>

Page 14: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

NUOVI ELEMENTI

Le principali novità dell’HTML5 rispetto alle altre versioni è l’introduzione di nuovi elementi che garantiscono nuove

funzionalita al linguaggio, come:

-elementi video e audio (senza l’ausilio di flash garantendo compatibilità con device mobili);-l’elemento canvas (permette la definizione di grafiche attraverso una sintassi simile a javascript);-nuovi elementi per i form (garantiscono interazioni elaborate con per l’utente);

Essendo nuovi elementi molto peculiari il loro funzionamento non è ancora completamente supportato.

Page 15: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

NUOVI ELEMENTI i nostri

Nuovi elementi ad alto valore semantico che permettono di strutturare pagine web.

Elemento <HEADER>Elemento <FOOTER>Elemento <SECTION>

Elemento <ASIDE>Elemento <ARTICLE>Elemento <HGROUP>

Elemento <TIME>Elemento <MARK>

Page 16: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

NUOVI ELEMENTI i nostri

Elemento <SECTION>Viene utilizzato per definire una porzione della pagina web.

il suo valore semantico impone che ogni sezione abbia un valore/contenuto peculiare che rappresenti un argomento/sezione del sito. Al suo interno ci possono essere ulteriori tag.

Elemento <ASIDE>Viene utilizzato per definire una porzione della pagina web il cui contenuto sia correlato

ma differente rispetto al suo contenuto principale. Al suo interno ci possono essere ulteriori tag.

Elemento <ARTICLE>Viene utilizzato per definire un contenuto del sito web, normalmente questo deve essere condivisibile e riutilizzabile, a normalmente carattere indipendente rispetto al resto della

pagina. Al suo interno ci possono essere ulteriori tag.

Page 17: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

NUOVI ELEMENTI i nostri

Elemento <HGROUP>Viene utilizzato all’interno dell’elemento section per definire un insieme di intestazioni

(h1...h6), aiuta a separare i titoli all’interno dell’elemento section. Al suo interno ci possono es-sere ulteriori tag di intestazione.

Elemento <TIME>Viene utilizzato per definire data e ora di una pagina, sezione o articolo.

Al suo interno non ci possono essere ulteriori tag.

Elemento <MARK>Viene utilizzato per definire del testo rilevante all’interno del contenuto.Rappresenta un modo univoco per enfatizzare una porzione di testo.

Page 18: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

NUOVI ELEMENTI conclusioni

Piccola notaLa maggior parte dei browser non conosce questi elementi

e di fatto non sa come renderizzarli.

Su questa base i nuovi elementi dell’HTML5 vengono normalmente renderizzarli senza valori di default per gli stili.

Una pratica consigliabile è quella di definire uno stile che definisce un display block per ognuno degli elementi utilizzati.

Page 19: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

STRUTTURA

Page 20: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Differenza 1

HTML 4.01

<div id=”header”></div>

<header></header>

#header{ ... ...}

header{ ... ...}

HTML 5

Page 21: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Differenza 2

HTML 4.01

<div id=”header”> <div id=”logo”> </div></div>

<header> <figure> </figure></header>

#header{ ...}

#header #logo{ ...}

header{ ...}

header figure{ ...}

HTML 5

Page 22: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Differenza 3

HTML 4.01

<div id=”header”></div><div id=”content”> <div id=”parte_alta”> </div></div>

<header></header><section id=”content”> <header> </header></section>

HTML 5

Page 23: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Differenza 3

HTML 4.01

#header{ ...}

#content #parte_alta{ ...}

header{ ...}

#content header{ ...}

header{...}section#content header{...}

#header{...}#content{...}#parte_alta{...}

HTML 5

oppure:oppure:

Page 24: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Differenza 4

HTML 4.01

<div> <a> <img> <ul> <li> <h1>

<div id=“mio_id”></div>

<section id=“mio_id”></section>

<div class=“mia_classe”> </div>

<section class=“mia_classe”> </section>

<section> <article> <header>TAGID

CLASSI{ HTML 5

Page 25: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

Dato un layout, dividerlo in sezioni e attriubuire a queste un tag HTML5. Sucessivamente determinare dei

selettori css validi per una possibile gestione di stile.

Section

Article

Aside

Video

Audio

Figure

Nav

Footer

Header

Figcaption

Page 26: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio esempio 1

<header>

<nav>

<footer>

<section>

Page 27: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio esempio 2

<section>

<article class= “colonna”>

h1p p

<article class= “colonna”>

Page 28: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Metodi

come scrivere CSS e HTML in diversi modi

Page 29: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Metodo 1 stile unico per tagMetodo base, per neofiti.

Creo diversi stili in un solo ID o Classe e associo questi ad un tag.

<section class=”myClass”>

</section>

.myClass{

width: 200px;

height: 300px;

background-color: blue;

font-size: 20px;

color: red;

line-height: 23px;

padding-top: 20px;

margin-bottom: 20px;

}

Page 30: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Metodo 2 stile annidatoCreo diversi stili in funzione della gerarchia presente nell’HTML.

<section id=”parte_centrale”>

<header>

<h1>Titolo</h1>

</header>

<article>

<h1>Titolo2</h1>

</article>

</section>

#parte_centrale{

font-family: helvetica;

}

#parte_centrale header h1{

color: fuchsia;

}

#parte_centrale article h1{

color: aqua;

}

Page 31: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Metodo 2 stile incrociatoCreo tante classi e le riutilizzo quando mi servono.

Ottimo per la costruzione di siti web con griglia precisa.

<section class=”marginT10 marginB20 bgBlack”>

</section>

<section class=”marginT20 marginB20 cBlack”>

</section>

<section class=”marginT10 marginB20 bgGreen”>

</section>

.marginT10{margin-top: 10px;}

.marginT20{margin-top: 20px;}

.marginB10{margin-bottom: 10px;}

.marginB20{margin-bottom: 20px;}

.cBlack{color: black;}

.bgBlack{background-color: black;}

.bgGreen{background-color: green;}

Metodo 3 stile per classi

Page 32: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

CSS3nuovi stili e formattazioni

Page 33: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

INTRODUZIONE

CSS3 è la nuova versione dei CSS che permette a tutti i designer di implementare effetti, dare animazioni e creare

nuove formattazioni.

Putroppo la loro compatibilità non è ancora universale, tuttavia i browser moderni non creano ecessivi

problematiche in fase di rendering.

Gli sviluppatori sono quindi invogliati a creare nuovi effetti al fine di rendere siti internet più veloci e acessibili.

Page 34: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

SUPPORTO

http://www.w3schools.com/cssref/css3_browser-

support.asp

http://caniuse.com

Page 35: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

I PREFISSIPer l’implementazione dei CSS3 abbiamo la necessità di inserire dei prefissi per la completa compatibilità tra tutti i

browsers.

CSS1 / CSS2 CSS3

div{ font-size: 32px;}

div{ border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px;}

Page 36: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

I PRINCIPALI

I principali CSS3 posso essere suddivisi in diversemacroaree:

border-radiusbox-shadowtext-shadow

rgba..

rotateskewscale

translate

transitionanimation

media queryflexbox

viewport

stili e colori trasformazioni animazioni responsive

Page 37: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

TRASFORMAZIONIL’istruzione da usare si chiama “transform” ad essa si

identifica il tipo di proprietà da utilizzare, sucessivamente si immette il valore.

istruzione proprietà valore

div{ transform: rotate(25deg); transform: skew(20deg); transform: scale(2); transform: translate(20px);}

Page 38: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

TRASFORMAZIONI

div{ transform: rotate(25deg); transform: rotateX(25deg); transform: rotateY(25deg); transform: rotateZ(25deg); transform: rotate3d(25deg);}

transform-origin: XXXX;

Rotate

NB

Page 39: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

TRASFORMAZIONI

div{ transform: skew(20deg); transform: skewX(20deg); transform: skewY(20deg);}

Skew

Page 40: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

TRASFORMAZIONI

div{ transform: scale(2); transform: scaleX(2); transform: scaleY(2); transform: scaleZ(2); transform: scale3d(2);}

Scale

Page 41: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

TRASFORMAZIONI

div{ transform: translate(20px); transform: translateX(20px); transform: translateY(20px); transform: translateZ(20px); transform: translate3d(20px);}

Translate

Page 42: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

Data la seguente immagine ricrearla in CSS3

Page 43: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

Data la seguente immagine ricrearla in CSS3

Page 44: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

CSS3

ANIMAZIONI

come animare oggetti con il codice

Page 45: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

INTRODUZIONE

Le animazioni CSS3 di fatto soppiantano completamente il tanto usato Flash.

Grazie ai CSS3 non ci si limita solo alla animazione ban-ner bensì anche i contenuti più strutturali di una pagina.Questo perchè si ha la possibilità di “animare” qualsiasi

blocco HTML.

Page 46: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

DIFFERENZE

Data una proprietà (iniziale) si arriva a un’altra proprietà (finale)

creando una transazione.

Sono gestite con il tempo.

Si attivano scatenando un evento, come ad esempio

un rollhover.

Date N proprietà possono mutare nel tempo utilizzando dei

breakpoint.

Sono gestite con il tempo.

Si attivano autonomamente, appena la pagina viene

renderizzata dal browser.

TRANSIZIONI ANIMAZIONI

Page 47: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Transizione

.box_1{ background-color: red;}

.box_1:hover{ background-color: green; transition-property: background-color; transition-duration: 2s; transition-timing-function: ease;}

Una transizione è un cambio di stato tra due proprietà avendo l’ausilio del tempo.

stato iniziale

stato finale

Page 48: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Animazione 1

@keyframes cambioColore{ from{ background-color: #fff; } to{ background-color: #000; }

}

La creazione di un’animazione si basa su una serie di istruzuioni chia-mati “keyframes”. Un keyframes è caratterizzato da un nome identifica-tivo che viene applicato in qualsiasi classe per l’aggiunta di parametri

di controllo.

nome

proprietà

Page 49: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Animazione 2

.animazione_1 { animation-name: cambioColore; animation-duration: 3s; animation-iteration-count: 2; animation-direction: alternate; animation-delay: 2s;}

nome

La classe “.animazione_1” potrà essere applicata a qualsiasi elemento presente nella pagina html.

Si possono creare diverse animazione e applicarle dove si vuole.

Per maggiori dettagli http://www.w3schools.com/css/css3_anima-tions.asp

Page 50: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Timing-FunctionTra tutte le proprietà applicabili alle animazioni e transizioni “Timing-Function” è una delle più importanti inquanto con l’utilizzo di questa

la resa finale potrebbe cambiare notevolmente.

http://easings.net/it

Page 51: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

WoW.jsPer far scatenare l’animazione nella porzione di schermo su cui

l’utente è attivo abbiamo bisogno di questo script che ci permette di far partire l’animazione quando vogliamo noi.

http://mynameismatthieu.com/WOW/

Page 52: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

EsercizioAnimare a piacimento il fiorellino costruito durante la lezione

precendete.

Page 53: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

APPun nuovo mondo del design

Page 54: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

che cosa è un’APP?

Page 55: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

che cosa è un’APP?

Page 56: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

su che supporti?Desktop APP

Mobile APP

Tablet APP

SmartWatch APP

SmartTV APP

Car/auto APP

futuro???

Page 57: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

su che supporti?lavoro

svago

complessità usofacilità uso

Desktop APP

Mobile APP

Tablet APP

SmartWatch APP

Car/auto APP

Page 58: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

tipologieweb

ibrida

nativa

universale

-motori di ricerca-sviluppo solo con tecnlogie web

-bisogna essere sempre online-limitazioni di performance

-costruzione di solo un app-utilizzo tecnologie web e native

-limitazioni di performance-ogni integrazione nativa può essere complessa

-sviluppo tecnologie nuove e performanti-applicazione più fluida e usabile (design pattern)

-doppio lavoro-costi più alti

non ancora nel mercato, si cerca di creare applicazio-ni che si possano declinare su diversi device.

Ad esempio la simmetria tra windows phone (dece-duto) e windows 10

Page 59: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

il ciclo di un’APP

azienda digitale

uploadsubmission

store

azienda digitale

uploadsubmission

downloade istallazione

downloade istallazione

store

notifica

utente

utente

usa l’app

aggiorna l’app

Esempio di quando si scarica un APP per la

prima volta

Esempio di aggiorna-mento di un’app già

installata

Page 60: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

il ciclo di lavoro su un’APP

idea servizio analisifunzionale

studio UX progettazione UI

sviluppo test fix issuepreparazionealla build di collaudo

preparazionealla build di produzione

business simulation rilascio ufficiale

richiesta cliente

Page 61: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

il ciclo di lavoro su un’APPanalisifunzionale

studio UX

progettazione UI

sviluppo

test

fix issue

preparazionealla build di collaudo

preparazionealla build di produzione

business simulation

rilascio ufficiale

Page 62: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

la parte “creativa”

studio UX

ricerca e analisi

scenario e personas

user test

information architecture

interaction design

wireframe

prototipazione bassa fedeltà

ricerca stile grafico

tone of voice

design pattern

styleguide

visual design

motion design

prototipazione alta fedeltà

progettazione UI

Page 63: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

UX

Page 64: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

UI

Page 65: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

sollecita pareggia

crea

richiedi soldi richiedi soldi

crea

crea

Richiedi soldi a: dove hai anticipato i soldi?

quanti soldi hai anticipato?

Debiti / Crediti Debiti / Crediti

Debiti / Crediti Debiti / Crediti

Debiti / Crediti Debiti / Crediti

Debiti / Crediti

Debiti / Crediti

100€ 120€

120€ 120€

120€ 120€

120€

100€

Andrea Andrea

Andrea Andrea

Andrea Andrea

Andrea

Andrea

Andrea

-60€ -60€

-60€ -60€

-60€ -60€

-60€

-60€

-20€

-40€ -40€

-40€ -40€

-40€ -40€

-40€

-20€ -20€

-20€ -20€

-20€ -20€

-20€

Gabriele Gabriele

Gabriele Gabriele

Gabriele Gabriele

Gabriele

-40€ -40€

-40€ -40€

-40€ -40€

-40€

-60€ -60€

-60€ -60€

-60€ -60€

-60€

+20€

+20€

+20€ +20€

+20€

+20€

+20€

totale totale

totale totale

totale totale

totale

totale

pranzo dalla vecchia pranzo dalla vecchia

pranzo dalla vecchia pranzo dalla vecchia

pranzo dalla vecchia pranzo dalla vecchia

pranzo dalla vecchia

sigarette

discoteca

Marco +140€pranzo dall’abruzzese

Massimiliano -20€pizza

Andrea

Febbraio 2018

Marzo 2018

+20€Cena dalla vecchia

regalo Massimiliano regalo Massimiliano

regalo Massimiliano regalo Massimiliano

regalo Massimiliano regalo Massimiliano

regalo Massimiliano

sollecita pareggia

birra birra

birra birra

birra birra

birra

cover cellulare cover cellulare

cover cellulare cover cellulare

cover cellulare cover cellulare

cover cellulare

storico storico

storico storico

storico storico

storico

storicoMassimiliano

Andrea

Marco

GabrieleDebiti / Crediti 120€

sollecita

pareggia pareggia

sollecita

torna allo storico

torna allo storico

Andrea

Andrea Andrea

Andrea-60€

-60€ -60€

-60€

-40€

-40€ -40€

-40€Gabriele

Gabriele Gabriele

Gabriele

Seleziona chi sollecitare

Chi ha saldato il suo debito? Chi ha saldato il suo debito?

Seleziona chi sollecitare

Hai sollecitatoAndrea per una richiesta di:

60€

Hai pareggiato il debito diAndrea per una richiesta di:

60€

miei soldi

miei soldi

0,0€1

4

2

5

3

6

7 8

0

9

<

soldicondivisi

soldicondivisi

home page home page

Disegnare la grafica di questo flusso

Page 66: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

WebResponsive

Design

siti web su tutti i devices

Page 67: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

documentazione

Page 68: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Responsive designResponsive web design è un approcio volto ai siti per fornire una visione ottimale e un esperienza di facile lettura su qualsiasi

dispositivo.

Il Responsive design si basa su layout fliudi con griglie proporzionali al contenuto, immagini flessibili e diversi comandi

media query.

Page 69: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Responsive designAnche questo è uno dei motivi per cui la figura del Designer Digitale

è molto richiesta in questo momento.Se notate che il responsive design è una tecnica che fa riferimento alle basi dell’impaginazione, utilizzando schemi logici strutturali e

gabbie grafiche.

Page 70: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

griglie

Esempihttp://popcorn.im/

http://discover.collectorwp.com/

http://zomigi.com/blog/hiding-and-revealing-portions-of-images/

Link utilihttp://www.responsivegridsystem.com/

http://semantic.gs/

http://www.hongkiat.com/blog/rwd-tools/

Page 71: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

immaginiPer rendere le immagini “flessibili“ possiamo attribuirli diverse tecniche: tra cui la riduzione in %, la riduzione tramite media query o il semplice “croppaggio”

Page 72: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

testiI testi come le immagini se inseriti in griglie efficenti se-guiranno l’andamento delle colonne fino all’arrivo di un punto di non visibilità.

Anche qui entrano in campo le media query che definisco-no quando bisogna cambiare l’impaginazione della griglia stessa.

Page 73: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Media QueryGrazie alle media query possiamo definire diversi tipi di layout della nostra pagina. Normalmente la struttura e la grafica di un sito web fa riferimento es-clusivamente ai suoi CSS, le media query di fatto non cambiano i contenuti ma solo i CSS definendoli in base a una misura decisa.

stili_1024.css

colore font: rossocorpo font: 14

stili_960.css

colore font: rossocorpo font: 18

stili_420.css

colore font: giallocorpo font: 24

Page 74: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Media Query@media screen and (max-width: 1024px) {

.header {color: red;font-size: 14pt; }

}

@media screen and (max-width: 960px) {

.header {color: red;font-size: 18pt; }

}

@media screen and (max-width: 420px) {

.header {color: yellow;font-size: 24pt; }}

Page 75: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

ContenutiCon il responsive design è possibile nascondere determinati contenuti.Dobbiamo pensare in che ambito il nostro utente sta visualizzando il sito

web, in che circostanza e con quale dispositivo.

L’omissione di alcuni contenuti è fondamentale per comunicare le informazioni principali, in tal modo l’utente sarà soddisfatto per avere quello

che vuole in poco tempo.

Es.http://colly.com/archives/

Page 76: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Testing

Page 77: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Impostazioni

Page 78: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Impostazioni

Page 79: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Impostazioni

Page 80: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

EsercizioRicreare il layout con misure in per-

centuale

Page 81: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Griglia fluida

100%

25%

50% 50%

25%25% 25%

Page 82: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

da px a %

La conversione da pixel a percentuale si effettua grazie alle proporzioni,per fare questo si ha bisogno di sapere 2 valori fondamentali:

La grandezza della gabbia grafica (Es. 960px/1024px)La grandezza del singolo blocco (Es. 300px)

300px 960px

Page 83: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

da px a %

Per avere il valore in % dobbiamo rifarci ad alcune regole di matematica:

(misura iniziale / misura contenitore )* 100 = valore atteso

nel nostro esempio:

(300/960)*100 = 31.25%

Ora questo nuovo valore sarà la larghezza effettiva del nostro box, quindi:

.box{ width: 31.25%;}

Page 84: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Immagini flessibiliLe immagini essendo anch’esse dei contenuti dovranno adattarsi al layout,

per fare questo si introducono le immagini flessibili.

Per creare un immagine flessibile bisogna impostare una griglia fluida, sarà quest’ultima a cambiare larghezza.

L’immagine seguirà la flessione della griglia e quindi si “adatterà” al layout.

30% 30% 30%

Page 85: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Immagini flessibili

.immagine{ width: 100%; height:auto;}

.sfondo{ background-size: cover; background-image: sfondo.jpg;}

30% 30%

Due metodi per due esigenze diverse: width:100% per inserire le immagini tramite il tag img in html.

background-size: cover per le immagini di sfondo

Page 86: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Media Query

.box_1{ width: 30%;}

@media screen and (max-width: 960px){.box_1{ width: 80%;}}

Le media query funzionano automaticamento una volta che viene inserito il codice di riferimento, sono regole aggiuntive che vengono “sovrapposte” alle

precendenti.

Page 87: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Media Query - hide

.box_1{ display: block;}

@media screen and (max-width: 960px){.box_1{ display: none;}}

Per eliminare un contenuto si necessita della proprietà display con i rispettivi valori: block e none.

Page 88: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Media Query - show

.box_1{ display: none;}

@media screen and (max-width: 960px){.box_1{ display: block;}}

Nel caso opposto al precedente basta invertire le proprietà.

Page 89: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

Adattare il layout fatto in precedenza rendendolo

mobile

Page 90: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Testoresponsivescalabile e utile

Page 91: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

da px/pt a em

L’unità di misura “em” mette in relazione gli elementi figli con gli elementi genitori creando sempre un andamento proporzionale, proprio per questo vi-

ene utilizzato spesso, specialmente in ambito tipografico.

Sapendo che la misura standard web di un font è 16px possiamo impostarla come se fosse 1em:

html{ font-size: 1em;}

Sapendo che 16 px equivalgono a 1em e che le misure in em sono proporzi-onali possiamo dedurre che 2em equivalgono a:

(16px * 2) = 32pxe così via.....

Page 92: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Il testo nel mobile designNel mobile design ogni elemento tipo-grafico (carattere, in-terlinea, letter spac-ing...) deve essere più grande rispetto ad una pagina desktop.

Nella progettazione di decide a posteriori quanto il testo deve variare da un disposi-tivo all’altro.

Page 93: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esempi importanti

https://material.io/design/typography/the-type-system.html#

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/typography/

Page 94: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

quale scegliere?

emrem

Page 95: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

em con elemento genitore

Grazie all’eredità da genitore a figlio se si imposta un valore diverso al geni-tore tutti i figli a catena cambiano misura rimanendo proporzionali.

1em 2em

0.5em 1em

0.2em 0.4em

Page 96: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

rem con pagina

1em 2em

4em

0.5em 2em

0.2em 0.8em

Page 97: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

x1.2 x1.4

Desktop

h1font-size: 2em;line-height: 0.8em;letter-spacing: 0.02em;margin-bottom: 0.4em;

Tablet

h1font-size: 2,4em;line-height: 0.96em;letter-spacing: 0.024em;margin-bottom: 0.48em;

Mobile

h1font-size: 2,8em;line-height: 1.12em;letter-spacing: 0,028em;margin-bottom: 0.56em;

esempio di progettazione grafica

Page 98: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Desktop

section{ font-size: 1em; width: 60%; min-height: 100px; background-color: fuchsia; padding:5%; }h1{ font-size: 2em; line-height: 0.8em; margin-bottom: 0.4em; letter-spacing: 0.02em;}

Mobile@media screen and (max-width: 600px){

section{ font-size: 1.4em; width: 80%; padding: 10%;} }

esempio di progettazione codice

Page 99: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

risultatoDesktop Mobile

Page 100: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

ConversioniNB. impostare sempre font-size: 100%; che equivale a 16px

px to emNpx /16 = valore in em Es. 300 / 16= 18.75em

em to pxNem * 16 = valore in px Es. 18.75 * 16 = 300px

px to %(misura box / misura contenitore ) * 100 = valore attesoEs. (300px / 960px) * 100 = 31.25%

% to px(misura in percentuale / 100) * misura contenitore = misura boxEs. (31.25% / 100) * 960px = 300px

http://pxtoem.com

Page 101: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

DocumentazioneTipografia nel mobile designhttps://www.mockplus.com/blog/post/typography-in-mobile-design

https://learnui.design/blog/mobile-desktop-website-font-size-guidelines.html

https://www.smashingmagazine.com/2018/06/reference-guide-typography-mobile-web-design/

Uso di EM e REMhttps://webdesign.tutsplus.com/it/tutorials/comprehensive-guide-when-to-use-em-vs-rem--cms-23984

https://medium.com/@julienetienne/pixels-are-dead-faa87cd8c8b9

Page 102: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

EsercizioFinire l’esercizio dato dal docente utilizzando misure EM.

Page 103: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Immaginiresponsive

multi immagini per multi schermi

Page 104: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

cosa sapereogni schermo ha la sua densità di pixel (retina), sopratutto macBookpro o simili

spesso si ha la neces-sità di avere immagini con proporzioni diverse

1x

schermi larghi tablet smartphone

2x 3x

https://www.mydevice.io

Page 105: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Retinaper la visualizzazione di immagini su schermi retina basta salvare il proprio file con il doppio o tripla risoluzione.

mare.jpg(200x200px)

mare2x.jpg(400x400px)

mare3x.jpg(600x600px)

Page 106: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Retina applicazioneIn HTML bisogna richiamare l’immagine 2x “forzando” le sue dimensioni a quelle originali: <img src=”mare2x.jpg” width=”200px” height=”200px” />

oppure utilizzare un nuovo attributo che recepisce quale tipo di schermo sta visualizzando la pagina:

<img src=”img/waterfall_small.jpg” srcset=”img/waterfall_small.jpg 1x, img/waterfall_big.jpg 2x”>

Page 107: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Retina applicazioneIn CSS bisogna inserire la media query appropriata, dopodiché mettere la foto come immagine di sfondo e dargli sempre la metà della misura origina-le: @media only screen and (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi) { .foto{ background-image:url(mare2x.png); background-size:200px 200px; }}

Page 108: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

<picture>

<picture> <source media=’(min-width: 401px)’ srcset=’images/photo-big.jpg’/> <source media=’(max-width: 400px)’ srcset=’images/photo-tall.jpg’/> <img src=’images/photo-small.jpg’/> </picture>

L’elemento picture gestisce le singole foto con mediaquery uniche per il cambio di immagine.

Page 109: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

sostituire le foto su deviceoltre ai metodi appena descritti, per avere le immagini proporzionate al devie è possibile sostiuire l’immagine direttamente da css seguendo le media que-ry appropriate

https://css-tricks.com/snippets/css/media-queries-for-standard-devices/

Page 110: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

SVGScalable Vector Graphics abbreviato in SVG, indica una tecnologia in grado di visualizzare oggetti di grafica vettoriale e, pertanto, di gestire immagini scalabili dimensionalmente. wikipedia

<svg width=”36” height=”27” viewBox=”0 0 36 27”> <path id=”ico1.svg” class=”cls-1” d=”M482,1954.53v11.12a6.249,6.249,0,0,0,6.127,6.35h23.746a6.249,6.249,0,0,0,6.127-6.35v-11.12H482Zm4.6,4.76h6.127v1.59H486.6v-1.59Zm12.255,4.77H4-86.6v-1.59H498.85v1.59ZM511.873,1945H488.127a6.249,6.249,0,0,0-6.127,6.35h36A6.249,6.249,0,0,0,511.873,1945Z” transform=”translate(-482 -1945)”/></svg>

Page 111: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Viewportmisure relative allo schermo

Page 112: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

le unità di misura

vh vw vmin vmaxViewport Height:altezza

dello schermo

Viewport Width:

larghezza dello schermo

ViewportMinima:lato dello

schermo più piccolo

ViewportMassima:lato dello

schermo più grande

Page 113: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

le unità di misura

1vh 1vw

1% dello schermo

1vmin=

1vmax

Page 114: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

vh.box_rosso{ width: 80%; height: 10vh;}

.box_viola{ width: 80%; height: 100vh;}

Page 115: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

vw.box_rosso{ width: 80vw; height: 10vh;}

.box_viola{ width: 80vw; height: 100vh;}

Page 116: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

vw (2).box_rosso{ width: 80vw; height: 10vw;}

.box_viola{ width: 80vw; height: 50vw;}

Page 117: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

vmin.box_viola{ width: 80%; height: 10vmin;}

10% del lato dello schermo più piccolo

Nella gestione di grandezze è possibile bloccare il ridimensionamento quando lo schermo definisce il lato piccolo.

Page 118: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

vmax.box_rosso{ width: 80%; height: 10vmax;}

10% del lato dello schermo più grande

Nella gestione di grandezze è possibile bloccare il ridimensionamento quando lo schermo definisce il lato grosso.In questo caso stringo la pagina lateralmente è il box sarà invariato

Page 119: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

misure viewportUtili per:

occupare tutta la pagina in verticale

rendere il testo resposive

creare dei box quadrati responsive (prima era necessario crearli solo in pixel)

disegnare impaginati complessi, precisi e fluidi

Page 120: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizio

Scopri i nostri servizi con docente

Che belloWeb Designlorem impus sahsoi sa-jnas lorem impus sah-soi sajnas lorem impus sahsoi sajnas

click

Page 121: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

FlexBoxIl nuovo modo di scrivere codice

Page 122: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

le basi

container

display:flex;

items

Page 123: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

proprietà da dare solo al container

Page 124: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

flex-direction

flex-direction: column;stiamo lavorando in orizzontale

flex-direction: row;stiamo lavorando in verticale

Tutte le altre proprietà lavoreranno di conseguenza. esempio:

justify-content: flex-end; porterà a fine box genitore o verticalmente o orizzontalmente i box figli.

Page 125: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

flex-wrap

flex-wrap: no wrap;adatta gli elementi dentro il con-tenitore, indipendentemente dal

loro numero e grandezza.

flex-flow: xxxx; è un’istruzione che riassume flex-wrap e direction

flex-wrap: wrap;dispone gli elementi con la loro grandezza effettiva e se non ci stanno su una riga automatica-

mente cadono

Page 126: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

justify-content

justify-content: flex-start;

justify-content: center

justify-content: space-around

justify-content: flex-end;

justify-content: space-between

justify-content: space-evenly

Page 127: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

align-items

align-items: flex-start;

align-items: center;

align-items: baseline;

aa bb cc dd

align-items: flex-end;

align-items: stretch;

Page 128: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

align-content

align-content: flex-start;

align-content: center;

align-content: space-between

align-content: flex-end;

align-content: stretch;

align-content: space-around

Page 129: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Riassunto 1flex-direction

flex-wrap

justify-content

align-items

align-content

definisce se gli elementi devono lavorare in orizzontale o in verticale

definisce se gli elementi devono adattarsi al box genitore oppure alla gran-dezza del box figlio

definisce come gli elementi dovranno giustificarsi (adattarsi, splamarsi)all’interno del box genitore

definisce come gli elementi dovranno allinearsi verticalmente o orizzontal-mente dentro il box genitore

definisce come il blocco degli elementi dovrà (quindi non i singoli) si deve allineare al box genitore

Page 130: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

proprietà da dare solo ai singoli items

Page 131: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

flex-Grow

flex-grow: 1;la proprierà ridimensionerà

l’elemento su cui è applicata ren-dendolo più grande degli altri(in questo caso al primo box)

flex-grow: 2;più il valore è alto più il box sarà

grande rispetto agli altri

di default è impostato a:flex-grow: 0;

Page 132: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

flex-Grow

flex-shrink: 1;la proprierà ridimensionerà

l’elemento su cui è applicata ren-dendolo più piccolo degli altri(in questo caso al primo box)

flex-shrink: 2;più il valore è alto più il box sarà

piccolo rispetto agli altri

di default è impostato a:flex-shrink: 0;

Page 133: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

flex-basis

flex-basis: 250px;definisce la grandezza

(in questo caso al primo box)

flex-basis: 250px;flex-grow: 2;

se impostato anche grow ese il box supera la misura (250px)

allora si ingrandisce

processo opposto con shrink

250px 250px

Page 134: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

align-self

align-self: flex-start;

align-self: center;

align-self: flex-end;

lavora sul singolo elemento,può sovrascrivere la proprietà

align-items

Page 135: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

order

order: 0;

order: 1;

order: -1;

1

1

22

3

13

2

34

4

4

è possibile spostare un elemento prima o dopo i suoi fratelli

di default il parametro è: 0

Page 136: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Riassunto 2flex-grow

flex-shrink

flex-basis

align-self

order

definisce la dimensione dei singoli items rendendoli più grossi, valori da 0 in su

definisce la dimensione dei singoli items rendendoli più piccoli, valori da 0 in su

definisce la dimensione dei singoli items con misure precise, possibile usare qualsiasi unità di misura (px, %, em...)

definisce come gli i singoli elementi dovranno allinearsi verticalmente o oriz-zontalmente dentro il box genitore, annullando l’istruzione align-items

definisce l’ordine degli elementi, utile quando si applicano media query.

Page 137: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

documentazionehttps://www.youtube.com/channel/UCJZv4d5rbIKd4QHMPkcABCw

https://css-tricks.com/snippets/css/a-guide-to-flexbox/

http://flexbox.malven.co

Page 138: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

esercizio

titoloparagrafosottotitolo

titolobottone

Page 139: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

jQuery

come utilizzare javascript senza troppi problemi

Page 140: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Queste slideQueste slides fanno parte del corso “Web Design II & HTML II”.Il sito del corso, con il materiale completo, si trova in http://www.gabrieleruscelli.com . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno.

Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):

La licenza non si estende alle immagini provenienti da altre fonti e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati.L’autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.

Page 141: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Introduzione

jQuery è una libreria di funzioni (un cosiddetto software framework) javas-cript, cross-browser per le applicazioni web, che si propone come obiettivo

quello di semplificare la programmazione lato client delle pagine HTML.

wikipedia

Grazie a jQuery è possibile scrivere poche righe di codice per richiamare tantissime funzioni javascript.

Page 142: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

documentazione

http://jquery.com

http://jqueryui.com

http://www.jqueryrain.com

alcuni esempi sono stati presi da questi libri

per iniziare.... manuale completoper i designer..

Page 143: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

perchè jQuery?-manipolazione di HTML/DOM e CSS

– metodi per eventi HTML

– effetti e animazioni

– supporto a programmazione AJAX

-è diffuso, testato e manutenuto

– open source

– compatto (meno di 100kb, se compresso)

– può essere esteso con una serie di plugin di vario genere

Page 144: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

perchè jQuery?

codice scritto con javascript

Differenze

codice scritto con jQuery

screen presi da wikipedia

Page 145: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

jQuery - primi passi

1- scaricare da http://jquery.com l’ultimo file aggiornato jquery

2- fare una cartellina nuova chiamandola js

3- inserire nell’head un link che richiama il file scaricato<script type=”text/javascript” src=”js/jquery-1.7.1.min.js”>

</script>

4- iniziare a scrivere codice javascript nel proprio file HTML

Page 146: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

HTML e jQueryÈ possibile implementare codice jQuery in diversi parti:

-All’interno di head nella pagina HTML

-All’interno di body a fine pagina HTML prima della chiusuradel tag </body>

-Creando un file nuovo *.js e richiamarlo nella head, ES:

<head><script src=”js/jquery.js” type=”text/javascript”></script><script src=”js/script_mio.js” type=”text/javascript”></script></head>

Page 147: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

jQuery strutturaParte iniziale, richiama la funzione jQuery

Istruzione legata al selettore “a”.L’istruzione si chiama: click.Se click “a” allora crea una funzione nuova.

chiudi la secondafunzione chiudi la prima

funzione

La funzione nuova è un alert.L’alert comunicherà:ciao!

NB. se questo pezzo di codice viene inserito dentro head o dentro body deve essere all’interno del tag <script></script>.

Selettore. In questo caso sta puntando ad un tag HTML “a”

$(document).ready(function() {$(“a”).click(function(event) { alert(“ciao!”); event.preventDefault(); }); });

Page 148: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

selettoriPer poter collegare gli script a degli elementi presenti nella pagina HTML si necessita di un selettore e/o un filtro. Questo permette di far agire jQuery a un determinato box, tag etc.. etc..La sintassi di un selettore è determinata dalla struttura HTML e dai sui tag, classi o id; saranno proprio questi che ci serviranno per collegare i nostri script.

Selettori classici$(‘p’)$(‘.classe’)

$(‘#id’)

Selettori discendenti$(‘ul li a’)$(‘.classe1 .colore’)$(‘#id #id_piccolo’)

Selettori multipli$(‘p, h1, a’)$(‘.classe1, .classe2, .classe3’)$(‘#id, #id2’)

Selettori gerarchici$(‘p > a’)$(‘.classe1 + .classe2’)$(‘#id ~ #id2’)

Page 149: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

FiltriI filtri permettono un ulteriore “ricerca e filtraggio” di qualsiasi elemen-to dentro un documento HTML, tuttavia sono più lenti rispetto ai selet-tori primari.

alcuni filtri:$(‘:button’)$(‘:checkbox’)$(‘:input’)

$(‘:animated’)$(‘:checked’)$(‘:focus’)

$(‘:first-child’)$(‘:last-child’)$(‘:odd’)

Uso$(‘:button’)$(‘*:button’)$(‘#id’).filter(‘:button‘)$(‘form input:button‘)

Page 150: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Primi script 1

impostare una semplice pagina html con un paragrafo

<body><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p></body>

lo script che scriveremo servirà a contare le parole del paragrafo

$(document).ready(function() { var count=$(“p”).text().split(‘’).length;alert(“numero parole:”+ count); });

Page 151: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

addClass 2

Creiamo una classe nei css “colore” e la associamo al paragrafo..colore{background-color: fuchsia;}

<p class=”colore”>Lorem ipsum dolor sit amet, consectetur adipisic-ing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p><a href=”#”>clicca</a>

seguendo la stessa logica dell’esempio precedente associamo la nostra classe al click

$(document).ready(function() { $(“a”).click(function(event) { $(“p”).addClass(“colore”); event.preventDefault(); }); }); });

Page 152: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

removeClass 3

Creiamo una classe nei css “sottolineato” e la associamo al paragrafo..sottolineato{text-decoration: underline;}

<p class=”colore sottolineato”>Lorem ipsum dolor sit amet, consecte-tur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>

<a href=”#”>clicca</a>

Al contrario di addClass questa proprietà si occupa di cancellare una classe già esistente. In questo caso “sottolineato” associata precen-dentemente.

$(document).ready(function() { $(“a”).click(function(event) { $(“p”) .removeClass(“sottolineato”) event.preventDefault(); });});

Page 153: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

toggleClass 4

per far si che quando c’è si cancella e quando non c’è si attiva....

$(document).ready(function() { $(‘a’).click(function(event) { $(‘p’).toggleClass(“colore”) event.preventDefault(); }); });

Page 154: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

animazioni jQuery 1

jQuery offre diversi una serie di animazioni predefinite che possono essere manipolate per creare animazioni complesse.NB. attenzione toggle è diversa dalla funzione toggleClass

$(document).ready(function() { $(‘a’).click(function(event) { $(‘p’).toggle(‘slow’); event.preventDefault(); });});

Page 155: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

animazioni jQuery 2

Le principali funzioni di animazioni si suddividono in 3 macro gruppi:

Mostrare o Nascondere: .hide() .show() .toogle()

Scorrimento: .slideDown() .slideUp() .slideToggle()

Dissolvenza: .fadeIn() .fadeOut() .fadeTo() .fadeToggle()

Page 156: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

animazioni jQuery 3

Ognuni funzione può ammettere dei valori per settare l’animazione.

sintassi per tutte le funzioni.hide(duration [, callback]).hide([duration] [, easing] [, callback])

sintassi solo per queste funzioni.toggle(showOrHide)

.fadeTo(duration, opacity [, easing] [,callback])

Duration: durata dell’animazione (fast, slow, millisecondi)Callback: serve per concatenare le animazioni seguendo il DOM.Easing: curva dell’animazione https://jqueryui.com/easing/showOrHide: non considera lo stato attuale di visualizzazione dell’elemento, se è visibile si può nascondere e viceversa.Opacity: valore di opacità (da 0 a 1)

Page 157: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

animazioni jQuery 4

È possibile implementare animazioni diverse da quelle offerte dalle funzionalità di base precedentemente descritte. Per fare ciò si utilizza la funzione .animate() integrandola con parametri CSS.NB non tutte le proprietà CSS sono animabili.

.animate(properties [, duration] [,easing] [,complete])

Complete: termine dell’animazione

$(document).ready(function(){ $(‘#animate1’).click(function(){ $(‘#content’).animate( {‘border-width’: 5, height: 10}); }); $(‘#animate2’).click(function(){ $(‘#content’).animate( {width: 10}, ‘slow’); });});

Page 158: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizi 1Creare una barra che informa gli utenti che il sito utilizza i cookies.1° step: usare HTML e CSS per la costruzione e lo stile;2° step: usare jQuery per implementare la funzione che permette il box di scomparire.

Page 159: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Esercizi 2Creare un sistema di filtraggio che permetta l’eliminazione di alcuni colori una volta cliccato il nome.NB attenzione ai nomi degli id dei blocchi e dei bottoni

Page 160: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

plugin jQuery

pratiche e veloci da usare

Page 161: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

Queste slideQueste slides fanno parte del corso “Web Design II & HTML II”.Il sito del corso, con il materiale completo, si trova in http://www.gabrieleruscelli.com . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno.

Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):

La licenza non si estende alle immagini provenienti da altre fonti e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati.L’autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.

Page 162: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

documentazionehttp://jquery.com

http://jqueryui.com

http://www.jqueryrain.com

http://flexslider.woothemes.com

http://lokeshdhakar.com/projects/lightbox2/

http://jquery.malsup.com/cycle2/

http://isotope.metafizzy.co

http://mediaelementjs.com

Page 163: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

effetti divertentihttp://pixelcog.github.io/parallax.js/

http://matthew.wagerfield.com/parallax/

http://iscrolljs.com

http://www.pixxelfactory.net/jInvertScroll/

http://tympanus.net/codrops/

http://responsivemobilemenu.com/en/http://slicknav.com

Page 164: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

SVGhttp://snapsvg.io

https://maxwellito.github.io/vivus/

https://github.com/ConnorAtherton/walkway

http://stackoverflow.com/questions/27600421/apply-similar-fill-

effect-with-2-svg-icons

http://tympanus.net/Development/SVGDrawingAnimation/

http://tympanus.net/Development/AnimatedSVGIcons/

http://tympanus.net/Development/AnimatedCheckboxes/

https://css-tricks.com/guide-w-animations-smil/

Page 165: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

jQuery UIjQuery UI semplifica la vita, i passi per copiare il codice sono diversi, in

queste slide verrà mostrato un medoto veloce e sicuro.1° step: andare su http://jqueryui.com

2° step: scegliere l’effetto o il widgets (in questo esempio Accordion)3° step: cliccare su view source

Page 166: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

jQuery UI4° step: copiare il codice e fare attenzione in HEAD, bisogna inserire HTTP://

nei link.5° step creare i css per custimizzare l’accordion.

Page 167: WEB DESIGN II - gabrieleruscelli.com · HTML5 e CSS3 di Gabriele Gigliotti ... Editore Gabriele Gigliotti, Gianluca Troiani 9. Build you own website the right way by Ian Lloyd - third

EsercizioCercate e integrate un qualsiasi plugin in una pagina HTML.

menu a tendina, menu responsive, accordion...

gallery, slider...