Posts written by True Story

  1. .
    Ti giuro che quando avevo letto sesta stagione mi sono detto "nooo perchè vogliono allungare il brodo e rovinare quella che era una storia perfetta e scritta nei minimi dettagli?"
  2. .

    Elementi per la strutturazione di una pagina HTML



    Oggi è consuetudine tra i web deisgner progettare la struttura di un documento HTML avvalendosi degli elementi denominati div. L'utilizzo di elementi HTML5 strutturali dotati di una propria sematica permette di fare quanto segue:


    • Migliorare la leggibilità e la mantenibilità del codice HTML. Infatti l'utilizzo di questi nuovi tag permette di avere chiara la struttura del documento sia all'autore dello stesso che ad altri sviluppatori web che ne stanno leggendo il sorgente.

    • Facilitare la comprensione della struttura del documento HTML ai motori di ricerca che sono in grado di leggere adeguatamente i tag sematici e di indirizzarli. Ciò consente di ottenere per un sito una maggiore opportunità di trovare una corrispondenza nei risultati delle query di ricerca.




    Vediamo quali sono i nuovi tag strutturali che possiamo impiegare per la costruzione delle pagine web sottolineando che essi permettono di ragruppare un blocco di codice HTML in una separata entità significativa a cui è anche possibile applicare un proprio stile di formattazione.


    • <header>: utile per indicare un'area di intestazione, per una pagina o per una sezione, dove è possibile inserire il titolo del sito, il suo logo, il menu principale di navigazione, un modulo per l'effettuazione di ricerche e così via.

    • <footer>: utile per indicare un'area di piè di pagina, per una pagina o una sezione, dove è possibile inserire l'autore della pagina o della sezione a cui si riferisce, notizie di copyright, regole per l'accettabilità, link a documenti a esso relativi, contratti di licenza e così via.

    • <section>: utile per indicare un'area che rappresenta una generica sezione di un documento che raggruppa tematicamente del contenuto come i capitoli di un libro, dei pannelli a schede, le sezioni di una tesi e così via.

    • <article>: utile per indicare un'area che rappresenta un blocco di testo distribuibile altrove come entità a sè stante. All'interno è possibile inserivi contenuti quali post per un forum, un articolo per una rivista, un testo per un blog e per qualsiasi fonte di pubblicazione.

    • <nav>: utile per indicare un'area deputata al contenimento dei link che consentono la navigazione tra le pagine principali o più importanti del relativo sito.

    • <aside>: utile per indicare un'area il cui contenuto è tangenzialmente relativo ai contenuti di altre aree ma che è comunque da essi separato. Esempi possono essere aree deputate all'inserimento di citazioni, note nel testo, banner pubblicitari, link di navigazione secondari e così via.

    • <details> e <summary>: utili per specificare un'area (tag <details>), contenente delle informazioni aggiuntive oppure altri elementi di markup, che può essere resa visibile o invisibile, dotata di un'intestazione che funge da etichetta o da titolo (tag <details>) e di un eventuale simbolo (per esempio, un piccolo triangolo rivolto verso destra ►)



    Esempio di un modulo
    CODICE
    <!DOCTYPE html>
    <html>
       <head>
           <title>Nuovi elementi semantici</title>
           <meta name="keywords" content="web, html5, javascript, css" charset="utf-8">
       </head>
       <body>
           <header>
               <img src="logo.png" />
               <nav>
                   <ul>
                       <li><a href=”home.html”>Home</a></li>
                       <li><a href=”products.htm”>Prodotti</a></li>
                       <li><a href=”services.htm”>Tecnologia</a></li>
                       <li><a href=”services.htm”>Assistenza</a></li>
                       <li><a href=”about.htm”>About Us</a></li>
                   </ul>
               </nav>
           </header>
           <section>
               <hgroup>
                   <h1>Benvenuti nel nostro sito dedicato alla tecnologia GNU/Linux</h1>
                   <h3>Sceglieteci e non vi pentirete!!!</h3>
               </hgroup>
               <p>La nostra esperienza sui sistemi GNU/Linux, da più di 20 anni, <br /> ci permette di offrirvi un servizio
                   di assistenza e consulenza senza eguali.</p>
               <p>Il nostro personale, altamente qualificato, è a vostra disposizione 24 ore su 24, 7 giorni su 7
                   per tutto l'anno, <br /> pronto a soddisfare ogni vostra richiesta. Nessuno può darvi di più!!!
               </p>
           </section>
           <aside>
               <h2>Ecco cosa hanno detto di noi:</h2>
               <details>
                   <summary>- Alan Huk</summary>
                   <p>Grandissimi, sempre pronti e professionali. </p>
               </details>
               <details>
                   <summary>- Anna Smidth</summary>
                   <p>Supporto eccellente. Complimenti. </p>
               </details>
               <details>
                   <summary>- Pilgrim Assuol</summary>
                   <p>Competitivi anche sul prezzo. Bravi. </p>
               </details>
               <details>
                   <summary>- Red Stomne</summary>
                   <p>Un Know-how senza paragone!!! </p>
               </details>
           </aside>
           <footer>
               <p></p>
               <img src="copy.png" />
           </footer>
       </body>
    </html>

    Esempio


    Guida a cura di ©True Story

  3. .
    Breaking Bad va avanti, ci sarà sesta stagione


    Vince Gilligan annuncia la sesta stagione di Breaking Bad…Ma è un fake



    breakingbad




    Da qualche ora la notizia ha fatto il giro del mondo: Vince Gilligan ha annunciato, in un’intervista alla CNN, che ha intenzione di realizzare la sesta stagione di Breaking Bad.

    “Walter White non è morto e nemmeno Breaking Bad lo è. La sesta stagione sta arrivando e farà impazzire i fan. Non sarà un tentativo per arraffare soldi, è una cosa che sentivo di fare, avevo questo impulso al di là di quello che stiamo realizzando con Better Call Saul. Dovevo tornare su quei personaggi. Qualche mese fa Bryan Cranston mi ha chiamato dicendomi che aveva sognato l’inizio della nuova stagione: Walter si sveglia in un ospedale circondato da agenti della DEA. Dopo essere stato dimesso viene incarcerato ma riesce a fuggire, scoprendo che negli ultimi due anni ha avuto un suo “seguito”. Il suo compito non è finito, ha ancora molto da insegnare e di certo non lo farà a degli studenti di liceo.”

    Queste le parole dell’ideatore della serie, avvalorate anche da quelle di uno degli sceneggiatori, Paul Horner: “Non ce la facevo più a trattenermi dal rivelare tutto questo, stavo per esplodere! Non vedo l’ora che inizino le riprese a Gennaio”.

    Frenate il vostro entusiasmo. Ovviamente poco dopo, la news è stata bollata come fake. Ancora non si conosce la fonte di queste false notizie ma quel che è certo è che ha alzato un bel polverone.

    Nessuna delle dichiarazioni rilasciate da Vince Gilligan, Bryan Cranston o Paul Horner è stata realmente fatta e quindi la notizie è da ritenersi inventata, presumibilmente, da qualche accanito e speranzoso fan, niente di più.
  4. .
    kram sei in prova,ora puoi accedere alla sezione Workroom Staff che contiene tutte le Guide necessarie per poter iniziare questa nuova avventura nello Staff.Il periodo di prova varia a seconda di quanto posterete, quindi mi raccomando cercate di fare del vostro meglio,non è necessario postare ogni giorno se non potete col tempo, bastano più post magari quando lo trovate di nuovo.Non rimuoviamo nessuno se non per inattività dopo pochi mesi.Per ogni domanda o problema apri un topic in quella sezione oppure chiedi il contatto Skype a uno dei moderatori del forum.E' importante utilizzare i Moduli per una corretta impaginazione del topic.Se dovesse mancare il Modulo per la sezione che avete scelto utilizzate uno di quelli Globali per le discussioni.Good Luck!
  5. .
    Il tuo avatar non mi è nuovo <.<
    Comunque benvenuto :welcome: e buona permanenza :D
  6. .
    Benvenuto :welcome: e buona permanenza :)
  7. .
    vanilla01 sei in prova,ora puoi accedere alla sezione Workroom Staff che contiene tutte le Guide necessarie per poter iniziare questa nuova avventura nello Staff.Il periodo di prova varia a seconda di quanto posterete, quindi mi raccomando cercate di fare del vostro meglio,non è necessario postare ogni giorno se non potete col tempo, bastano più post magari quando lo trovate di nuovo.Non rimuoviamo nessuno se non per inattività dopo pochi mesi.Per ogni domanda o problema apri un topic in quella sezione oppure chiedi il contatto Skype a uno dei moderatori del forum.E' importante utilizzare i Moduli per una corretta impaginazione del topic.Se dovesse mancare il Modulo per la sezione che avete scelto utilizzate uno di quelli Globali per le discussioni.Good Luck!
  8. .
    Potresti specificare per quale ruolo ti proponi? :)
  9. .
    di certo non ti farebbe male XD
  10. .

    Creazione di form e controlli utenti Parte 2



    Oltre ai controlli visti nella scorsa guida abbiamo inoltre i seguenti tag, che pur non essendo direttamente collegati a un form perchè il suo submit non invia i relativi valori, possono essere considerati come dei widget.


    • <process>: con esso si crea una barra di avanzamento o progress bar, che viene progressivamente riempita con un colore fino al compimento di una determinata operazione. L'avanzamento è tracciato attraverso il valore numerico dell'attributo value mentre tramite l'attributo max possiamo definire la scala.

    • <meter>: con esso si crea una barra di avanzamento che indica un determinato ammontareriguardante la misurazione della tipologia di un oggetto che intende rappresentare. Anche qui utilizziamo value e max per definire l'avanzamento.

    • <menu>: con esso si crea una struttura a menu per una lista di comandi. Se è impostato l'attributo type con il valore context, un menu contestuale; se inpostiamo il valore toolbar, una barra degli strumenti.

    • <command>: con esso si crea una sorta di azione che può essere svolta dall'utente.



    Codice
    CODICE
    <!DOCTYPE html>
    <html>
    <head>
     <meta charset="utf-8">
     <meta name="generator" content="AlterVista - Editor HTML"/>
     <title></title>
    </head>
    <body>

    <b>&lt;progress&gt;</b>
    <br>
    <section>  
     <p>Caricamento 30%: <progress  max="100" value="30"></progress></p>
     <p>Caricamento: <progress max="100"></progress></p>
    </section>
    <hr>
    <br>
    <b>&lt;meter&gt;</b>
    <br>
    <meter min="-20" value="36" max="50" low="10" optimum="22" high="32">36°</meter>
    <hr>
    <br>
    <b>&lt;menu&gt;</b>
    <br>
    <div style="background:#33B6F3;border:1px solid black;padding: 10px;" contextmenu="mymenu">
    <p>Premi tasto destro per vedere il menu

    <menu type="context" id="mymenu">
     <menuitem label="Aggiorna" onclick="window.location.reload();" icon="ico_reload.png"></menuitem>
     <menu label="Share on...">
       <menuitem label="Twitter" icon="ico_twitter.png" onclick="window.open('//twitter.com/intent/tweet?text=' + window.location.href);"></menuitem>
       <menuitem label="Facebook" icon="ico_facebook.png" onclick="window.open('//facebook.com/sharer/sharer.php?u=' + window.location.href);"></menuitem>
     </menu>
    </menu>

    </div>

    <p>Questo esempio funziona solo con Firefox</p>
    <br>
    <hr>

    <p>Per il tag <b>&lt;command&gt;</b> non è stato possibile inserire il codice in quanto non è sopportato da nessun browser</p>


    </body>
    </html>


    Esempio
    Per il tag <command> non è stato possibile inserire il codice in quanto non è sopportato da nessun browser



    Elenchiamo ora atri attributi da poter utilizzare nei controlli:


    • required: con esso si indica che il valore di un elemento di tipo input, select o textarea è obbligatoriamente richiesto per il corretto submit del form. Se l'utente non soddisfa la richiesta il browser visualizzerà un messaggio che indicherà che il campo è obbligatorio da compilare.

    • formnovalidate: con esso si indica che si intende evitare il controllo di validazione sui campi di un form.

    • pattern: con esso si indica un'espressione regolare che determina il corretto formato del valore da inserire in un campo di input.

    • placeholder: con esso è possibile mostrare un testo all'interno della casella di testo. Questo attributo è utilizzabile per fornire un breve suggerimento all'utente sotto forma di esempio di valore da inserire o su come esso debba essere formattato.

    • autocomplate: con esso è possibile decidere, per un singolo campo di testo, se la caratteristica di autocompletamento del resto del testo deve essere attiva (valore on) o no (valore off).

    • autofocus: con esso è possibile assegnare a un controllo di focus automatico, che gli viene fornito quando la pagina è stata caricata. Questo attributo consente di rendere subito disponibile per un utente il controllo principale di un form, permettendogli di iniziare subito a digitare i relativi dati senza doversi preoccupare di selezionarlo manualmente.

    • spellcheck: con esso si indica (valore true o false) se un campo di testo o un elemento editabile deve avere o meno un controllo ortografico.

    • multiple: con esso si indica la possibilità per un controllo di tipo input o select di specificare più di un valore. Ciò può essere utile per input di tipo email per indicare più mittenti o destinatari di un messaggio oppure per un elemento di input di tipo file per indicare più file di cui effettuare l'upload.

    • min, max, step: con essi si indica un valore minimo, massimo o di step da poter utilizzare all'interno di elementi di input del tipo number, date, month, time, range e i controlli quali progress (solo max) e meter (solo min e max).

    • form: con esso si imposta per elementi come button, input, keygen, output, select e textarea il form di appartenenza tramite la specifica del suo id come valore.

    • formaction, formenctype, formmethod, formtarget: con esso si imposta direttamente per gli elementi input o button di tipo submit i relativi attributi action, entype, method e target, generalmente specificati all'interno del tag <form>, in modo da sovrascriverli.

    • height e width: specificano, in pixel, l'altezza e la larghezza di un elemento input di tipo image.

    • name: indica un nome da attribuire a un controllo di un form che viene utilizzato primariamente, tramite una tecnologia lato server, per referenziarlo dopo il submit del form.

    • id: indica un identificatore univoco per l'elemento cui è applicato. Il valore indicato deve: contenere al minimo un carattere; non deve contenere dei caratteri di spazio; non deve essere già stato assegnato a un altro elemento presente nello stesso documento.

    • value: indica un valore che si è espressamene assegnato al relativo elemento e la cui modalità di attribuzione dipende dalla sematica dell'elemento stesso che ne determina il comportamento.

    • size: specifica la larghezza del relativo controllo espresso un numero di caratteri visibili.

    • maxlength: indica il numero massimo di caratteri che sono digitabili all'interno di un elemento input o textarea.

    • rows e cols: indicano, rispettivamente, l'altezza e la larghezza di un elemento textarea espressi come numero di righe e di colonne o caratteri.

    • wrap: indica quale comportamento deve avere una textarea quando l'utente, digitando dei caratteri, arriva alla fine di una riga. Tramite il valore hard imponiamo che si vada a capo automaticamente, e quando si fa il submit del form i ritorni a capo sono inclusi come parte del testo inviato; tramite il termine soft imponiamo che si vada a capo automanticamente, ma quando si fa il submit del form i ritorni a capo non sono inclusi come parte del testo inviato.



    Esempio di un modulo
    CODICE
    <!DOCTYPE html>
    <html>
           <head>
                   <title>Form e controlli utente</title>
                   <meta name="keywords" content="web, html5, javascript, css" charset="utf-8">
           </head>

           <body>
                   <form automplate="off" action="http://dsacco.alwaysdata.net/cgi-bin/provacgi">
                           <fieldset>
                                   <legend>Dettagli: </legend>

                                   <table>
                                           <tr>
                                                   <td>
                                                           <label for="name">Nome: </label>
                                                   </td>
                                                   <td>
                                                           <input type="text" name="nome" id="nome" autofocus required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="cognome">Cognome: </label>
                                                   </td>
                                                   <td>
                                                           <input type="text" name="cognome" id="cognome" required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="psw">Password: </label>
                                                   </td>
                                                   <td>
                                                           <input type="password" name="password" id="psw" required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="data">Data di nascita: </label>
                                                   </td>
                                                   <td>
                                                           <input type="date" name="data" id="data" required />
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Sesso:
                                                   </td>
                                                   <td>
                                                           <input type="radio" name="sesso" id="maschio" value="maschio"/>
                                                           <label for="maschio">Maschio: </label>
                                                           <input type="radio" name="sesso" id="femmina" value="femmina"/>
                                                           <label for="femmina">Femmina: </label>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="mail">Email: </label>
                                                   </td>
                                                   <td>
                                                           <input type="email" name="mail" id="mail" multiple required size="50" placeholder="Ad esempio: thp1972@gmail.com"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="i_web">Indirizzo Web: </label>
                                                   </td>
                                                   <td>
                                                           <input type="url" name="i_web" id="i_web" size="50" placeholder="Ad esempio: http://www.google.com"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Materie Preferite:
                                                   </td>
                                                   <td>
                                                           <input type="checkbox" name="informatica" id="informatica" value="INF"/>
                                                           <label for="informatica">Informatica: </label>
                                                           <input type="checkbox" name="sistemi" id="sistemi" value="SIS"/>
                                                           <label for="informatica">Sistemi: </label>
                                                           <input type="checkbox" name="statistica" id="statistica" value="GRA"/>
                                                           <label for="informatica">Grafica: </label>
                                                           <input type="checkbox" name="matematica" id="matematica" value="WEB"/>
                                                           <label for="informatica">Web Design: </label>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="n_prog">Quanti programmi hai creato? </label>
                                                   </td>
                                                   <td>
                                                           <input type="number" name="n_prog" id="n_prog" value="1"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="tm_prog">Ogni quanti mesi crei un programma? </label>
                                                   </td>
                                                   <td>
                                                           <input type="range" name="tm_prog" id="tm_prog" min="1" step="1" max="12" value="1"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="colore">Il tuo colore preferito? </label>
                                                   </td>
                                                   <td>
                                                           <input type="color" name="colore" id="colore"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Seleziona Sistema Operativo:
                                                   </td>
                                                   <td>
                                                           <select name="so">
                                                                   <optgroup label="Famiglia BSD">
                                                                           <option value="fbsd">FreeBSD</option>
                                                                           <option value="obsd">OpenBSD</option>
                                                                           <option value="nbsd">NetBSD</option>
                                                                   </optgroup>
                                                                   <optgroup label="Famiglia Windows">
                                                                           <option value="windows_8">Windows 8</option>
                                                                           <option value="windows_7">Windows 7</option>
                                                                           <option value="windows_vista">Windows Vista</option>
                                                                           <option value="windows_xp">Windows XP</option>
                                                                   </optgroup>
                                                           </select>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="lp">Scegli un linguaggio: </label>
                                                   </td>
                                                   <td>
                                                           <datalist id="lp_datasource">
                                                                   <option value="Java"></option>
                                                                   <option value="HTML"></option>
                                                                   <option value="CSS"></option>
                                                                   <option value="JavaScript"></option>
                                                                   <option value="PHP"></option>
                                                                   <option value="C"></option>
                                                                   <option value="C++"></option>
                                                                   <option value="C#"></option>
                                                                   <option value="Visual Basic"></option>
                                                                   <option value="SQL"></option>
                                                                   <option value="XML"></option>
                                                                   <option value="jQuery"></option>
                                                           </datalist>
                                                           <input type="text" name="lp" id="lp" list="lp_datasource"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="note">Note: </label>
                                                   </td>
                                                   <td>
                                                           <textarea name="note" id="note" rows="5" cols="30" maxlength="2000" wrap="soft" spellcheck="true"></textarea>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           &nbsp;
                                                   </td>
                                                   <td>
                                                           <button type="submit" id="ok"> Salva i dati</button>
                                                           <button type="reset" id="reset">Ripristina</button>
                                                   </td>
                                           </tr>
                                   </table>
                           </fieldset>
                   </form>
           </body>        
    </html>

    Esempio


    Guida a cura di ©True Story

  11. .

    Creazione di form e controlli utenti Parte 1



    I form o moduli sono uno lo strumento essenziale utilizzato nel Web per inviare dei dati a un server per effettuare delle operazioni di elaborazione predefinite.
    Essi si creano attraverso l'utilizzo del tag <form>, che ha i seguenti attributi:


    • action: indica l'URL di destinazione dei dati inviati con il form. Generalmente punta a un file su un server web scritto con linguaggi lato server come PHP, ASP.NET, JEE ed è in grado di interpretare le informazion ottenute e elaborarle in un modo stabilito restituendo il risultato sotto forma di una pagina HTML;

    • method: indica il metodo o comando HTTP da usare quando si effettua il submit del form. Può avere il valore GET inviando i dati via URL come una query strng , oppure il valore POST dove i dati sono inviati come parte della richiesta nel corpo del messaggio dopo gli header;

    • target: indica dove visualizzare la risposta che si è ricevuta a seguito del submit del form. Può assumere i valori _blank, _self, _parent, _top e _iframename;

    • autocomplete: indica se, per i campi di un form, devono essere memorizzati i valori precedentemente inseriti al fine di consentire la visualizzazione di un'area rettangolare entro la quale appariranno i valori memorizzati che sono coerenti con quello che si sta digitando. Se l'attributo è omesso allora il suo stato sarà su on, mentre, se si vuole evitare l'autocompletamento, bisognerà specificare l'attributo con il valore off;

    • novalide: indica che i dati inseriti nei relativi campi di input non devono essere validati quando si effettuerà il submit del form;

    • entype: indica in che modo i dati di un form devono essere codificati quando l'attributo method ha come valore POST. I suoi valori possono essere: application/x-www-form-urlencoded, per indicare che tutti i caratteri devono essere codificati prima di essere inviati; multipart/form-data, per indicare una modalità di codifica che permette al form di inviare dati binari o caratteri non ASCII; text/plain, per indicare che tutti i caratteri devono essere codificati prima di essere inviati.



    Un form, per poter inviare informazioni al server, deve poter contenere una serie di controlli grafici di interfaccia (widget) attraverso cui inserire del testo, compiere delle scelte e così via.
    Possiamo utilizzare i widget mediante questi tag e attributi:


    • <input type="text">: con esso si crea unaa casella rettangolare a riga singola dove l'utente può inserire del testo.

    • <input type="password">: con esso di crea uan casella rettangolare a riga singola dove l'utente può inserire i caratteri di una password che non sono mostrati in chiaro ma sono sostituiti dal carattere asterisco (*) o da un simbolo di un cerchietto pieno nero (●).

    • <input type="button">: con esso si crea un comune pulsante con un'etichetta testuale cui si può essere associato, del codice da eseguire quando si fa clic su di esso.

    • <input type="submit">: con esso si crea un comune pulsante con un'etichetta testuale che, quando attivato, consente di effettuare l'invio dei dati del relativo form.

    • <input type="reset">: con esso si crea un comune pulsante con un'etichetta testuale che, quando attivato, consente di cancellare gli eventuali dati inseriti in tutti i campi del testo del form.

    • <input type="checkbox">: con esso si crea una casella di controllo la cui interazione causa l'aggiunta o la rimozione di un segno di spunta che ne indica lo stato di attivato/disattivato.

    • <input type="radio">: con esso si crea un pulsante di opzione la cui interazione causa l'aggiunta di un simbolo di selezione sul pulsante selezionato e la contestuale deselezione con la rimozione dello stesso simbolo da un altro pulsante precedentemete selezionato.

    • <input type="file">: con esso si crea un controllo formato da una casella di testo a riga singola e un pulsante (di norma con valore Sfoglia) dove l'attivazione di quest'ultimo farà apparire una finestra di selezione di uno o più file.

    • <input type="number">: con esso si crea un controllo formato da una casella di testo a riga singola con a fianco due pulsanti: uno con il simbolo di freccia rivolta verso l'alto e uno con il simbolo di frecca rivolta verso il basso chiamati spinner e spin box. Questi pulsanti consentono di visualizzare all'interno della casella di testo dei valori numerici.

    • <input type="range">: con esso si crea un controllo, chiamato slider, formato da una barra orizzontale o verticale con un cursore il cui spostamento permette di selezionare dei valori di tipo numerico.

    • <input type="color">: con esso si crea un controllo che consente di scegliere, tramite un selettore, un colore che è espresso in esadecimale nella forma RGB.

    • <input type="image">: con esso si crea un pulsante che è renderizzato com un'immagine specificata.

    • <input type="email">: con esso si crea una casella rettangolare a riga singola dove l'utente può inserire del testo che dovrebbe conformari al pattern utilizzato per esprimere un indirizzo di posta elettronica.

    • <input type="url">: con esso si crea una casella rettangolare a riga singola dove l'utente può inserire del testo che dovrebbe conformarsi al pattern utilizzato per esprimere un URL assoluto.

    • <input type="search">: con esso si crea una casella rettangolare a una riga singola dove l'utente può inserire del testo per effettuare delle ricerche.

    • <input type="tel">: con esso si crea una casella rettangolare a riga singola dove l'utente può inserire del testo che dovrebbe rappresentare un numero telefonico.

    • <input type="datetime">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere una data e un orario. Per la data si potrebbe visualizzare un calendario sul quale selezionarla, mentre per l'ora potrebbe apparire come uno spin box dove inserire l'ora da 0 a 23, i minuti da 0 a 59 e così via. Il formato completo per una data e un'orario sono: YYYY-MM-DDTHH:MM:SS.FFFtimezone dove la lettera T separa la parte data dalla parte orario, le lettere FFF indicano le frazioni di secondo, timezone indica l'offset del fuso orario.

    • <input type="datetime-local">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere una data e un orario locale, senza considerare il fuso orario.

    • <input type="date">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere solamente una data senza un orario nel formato anno-mese-giorno (YYYY-MM-DD).

    • <input type="month">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere solamente una data espressa nel formato anno-mese, (YYYY-MM).

    • <input type="week">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere solamente una data espressa nel formato anno-settimana (YYYY-Www).

    • <input type="time">: con esso si crea un controllo attraverso il quale è possibile selezionare e scegliere solamente un orario espresso nel formato ore-minuti-secondi e frazioni di secondo (HH-MM-SS.FFF).

    • <textarea>: con esso si crea un box rettangolare formato da più righe dove l'utente può inserire del testo.

    • <select>: con esso si crea un controllo definito drop-down list, formato da una combinazione di due elementi grafici: il primo è un rettangolo a riga singola (casella di testo) con a lato un simbolo di freccia e il secondo è un'altro rettangolo, che appare se l'utente fa clic sul simbolo della freccia o sulla casella di testo. Al suo interno troviamo una lista di voci item, definibili tramite il tag <option>, che può essere a scelta singola o multipla.

    • <datalist>: con esso si crea una sorta di list box che contiene una serie di voci (<option>) mostrate come suggerimento quando un utente inizia a digitare del testo in una casella ottenuta dall'elemento input, per il quale l'attributo list è impostato con il valore dell'attributo id dell'elemento datalist.

    • <keygen>: con esso si crea un controllo che consente di generare delle chiavi per un sistema crittografico.




    Tutti i widget
    CODICE
    <!DOCTYPE html>
       <html>
           <head>
               <title>Creazione di form e controlli utenti</title>
               <meta name="Keywords" content="web, html5, javascript, css" charset="utf-8">
           </head>
           
           <body>
               <form autocomplete="off" action="http://serveritisdavinci.altervista.org">
                   <fieldset>
                       <legend>Input type</legend>
                       <table>
                           <tr>
                               <td>
                                   <label for="name">text</label>
                               </td>
                               <td>
                                   <input type="text">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">password</label>
                               </td>
                               <td>
                                   <input type="password">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">button</label>
                               </td>
                               <td>
                                   <input type="button" value="clic">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">submit</label>
                               </td>
                               <td>
                                   <input type="submit">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">checkbox</label>
                               </td>
                               <td>
                                   <input type="checkbox">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">radio</label>
                               </td>
                               <td>
                                   <input type="radio">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">file</label>
                               </td>
                               <td>
                                   <input type="file">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">number</label>
                               </td>
                               <td>
                                   <input type="number">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">range</label>
                               </td>
                               <td>
                                   <input type="range">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">color</label>
                               </td>
                               <td>
                                   <input type="color">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">image</label>
                               </td>
                               <td>
                                   <input type="image">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">email</label>
                               </td>
                               <td>
                                   <input type="email">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">url</label>
                               </td>
                               <td>
                                   <input type="url">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">search</label>
                               </td>
                               <td>
                                   <input type="search">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">tel</label>
                               </td>
                               <td>
                                   <input type="tel">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">datetime</label>
                               </td>
                               <td>
                                   <input type="datetime">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">datetime-local</label>
                               </td>
                               <td>
                                   <input type="datetime-local">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">date</label>
                               </td>
                               <td>
                                   <input type="date">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">month</label>
                               </td>
                               <td>
                                   <input type="month">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">week</label>
                               </td>
                               <td>
                                   <input type="week">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">time</label>
                               </td>
                               <td>
                                   <input type="time">
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">textarea</label>
                               </td>
                               <td>
                                   <textarea></textarea>
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">select</label>
                               </td>
                               <td>
                                   <select>
                                       <option>select 1</option>
                                       <option>select 2</option>
                                       <option>select 3</option>
                                   </select>
                               </td>
                           </tr>
                           
                           <tr>
                               <td>
                                   <label for="name">keygen</label>
                               </td>
                               <td>
                                   <keygen>
                               </td>
                           </tr>
                           
                       </table>
                   </fieldset>
               </form>
           </body>
       </html>

    Esempio
    N.B. Ho notato che su Chrome funziona bene ma su mozilla non fa visualizzare correttamente alcuni campi


    Esempio di un modulo
    CODICE
    <!DOCTYPE html>
    <html>
           <head>
                   <title>Form e controlli utente</title>
                   <meta name="keywords" content="web, html5, javascript, css" charset="utf-8">
           </head>

           <body>
                   <form automplate="off" action="http://dsacco.alwaysdata.net/cgi-bin/provacgi">
                           <fieldset>
                                   <legend>Dettagli: </legend>

                                   <table>
                                           <tr>
                                                   <td>
                                                           <label for="name">Nome: </label>
                                                   </td>
                                                   <td>
                                                           <input type="text" name="nome" id="nome" autofocus required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="cognome">Cognome: </label>
                                                   </td>
                                                   <td>
                                                           <input type="text" name="cognome" id="cognome" required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="psw">Password: </label>
                                                   </td>
                                                   <td>
                                                           <input type="password" name="password" id="psw" required size="50"/>
                                                   </td>
                                           </tr>

                                           <tr>
                                                   <td>
                                                           <label for="data">Data di nascita: </label>
                                                   </td>
                                                   <td>
                                                           <input type="date" name="data" id="data" required />
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Sesso:
                                                   </td>
                                                   <td>
                                                           <input type="radio" name="sesso" id="maschio" value="maschio"/>
                                                           <label for="maschio">Maschio: </label>
                                                           <input type="radio" name="sesso" id="femmina" value="femmina"/>
                                                           <label for="femmina">Femmina: </label>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="mail">Email: </label>
                                                   </td>
                                                   <td>
                                                           <input type="email" name="mail" id="mail" multiple required size="50" placeholder="Ad esempio: thp1972@gmail.com"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="i_web">Indirizzo Web: </label>
                                                   </td>
                                                   <td>
                                                           <input type="url" name="i_web" id="i_web" size="50" placeholder="Ad esempio: http://www.google.com"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Materie Preferite:
                                                   </td>
                                                   <td>
                                                           <input type="checkbox" name="informatica" id="informatica" value="INF"/>
                                                           <label for="informatica">Informatica: </label>
                                                           <input type="checkbox" name="sistemi" id="sistemi" value="SIS"/>
                                                           <label for="informatica">Sistemi: </label>
                                                           <input type="checkbox" name="statistica" id="statistica" value="GRA"/>
                                                           <label for="informatica">Grafica: </label>
                                                           <input type="checkbox" name="matematica" id="matematica" value="WEB"/>
                                                           <label for="informatica">Web Design: </label>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="n_prog">Quanti programmi hai creato? </label>
                                                   </td>
                                                   <td>
                                                           <input type="number" name="n_prog" id="n_prog" value="1"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="tm_prog">Ogni quanti mesi crei un programma? </label>
                                                   </td>
                                                   <td>
                                                           <input type="range" name="tm_prog" id="tm_prog" min="1" step="1" max="12" value="1"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="colore">Il tuo colore preferito? </label>
                                                   </td>
                                                   <td>
                                                           <input type="color" name="colore" id="colore"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           Seleziona Sistema Operativo:
                                                   </td>
                                                   <td>
                                                           <select name="so">
                                                                   <optgroup label="Famiglia BSD">
                                                                           <option value="fbsd">FreeBSD</option>
                                                                           <option value="obsd">OpenBSD</option>
                                                                           <option value="nbsd">NetBSD</option>
                                                                   </optgroup>
                                                                   <optgroup label="Famiglia Windows">
                                                                           <option value="windows_8">Windows 8</option>
                                                                           <option value="windows_7">Windows 7</option>
                                                                           <option value="windows_vista">Windows Vista</option>
                                                                           <option value="windows_xp">Windows XP</option>
                                                                   </optgroup>
                                                           </select>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="lp">Scegli un linguaggio: </label>
                                                   </td>
                                                   <td>
                                                           <datalist id="lp_datasource">
                                                                   <option value="Java"></option>
                                                                   <option value="HTML"></option>
                                                                   <option value="CSS"></option>
                                                                   <option value="JavaScript"></option>
                                                                   <option value="PHP"></option>
                                                                   <option value="C"></option>
                                                                   <option value="C++"></option>
                                                                   <option value="C#"></option>
                                                                   <option value="Visual Basic"></option>
                                                                   <option value="SQL"></option>
                                                                   <option value="XML"></option>
                                                                   <option value="jQuery"></option>
                                                           </datalist>
                                                           <input type="text" name="lp" id="lp" list="lp_datasource"/>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           <label for="note">Note: </label>
                                                   </td>
                                                   <td>
                                                           <textarea name="note" id="note" rows="5" cols="30" maxlength="2000" wrap="soft" spellcheck="true"></textarea>
                                                   </td>
                                           </tr>
                                           <tr>
                                                   <td>
                                                           &nbsp;
                                                   </td>
                                                   <td>
                                                           <button type="submit" id="ok"> Salva i dati</button>
                                                           <button type="reset" id="reset">Ripristina</button>
                                                   </td>
                                           </tr>
                                   </table>
                           </fieldset>
                   </form>
           </body>        
    </html>

    Esempio


    Guida a cura di ©True Story

  12. .

    Immagini e creazione di mappe



    Le immagini e in generale la grafica rappresentano una parte importante nella costruzione di un sito web.
    Sul web le immagini sono generalmente create con questi formati: GIF, PGN, JPEG.
    In una pagina HTML un'immagine è reperita come risorsa e poi visualizzata grazie al tag <img>, per il quale si possono definire i seguenti attributi:


    • src: che indica l'URL dove reperire l'immagine;

    • alt: che indica un testo alternativo (alternative text) che viene mostrato nel caso in cui un'immagine, per qualsiasi ragione, non è più visualizzabile;

    • width e height: indicano rispettivamente la lunghezza e l'altezza (in pixel) dell'immagine;

    • usemap: indica il riferimento a un elemento di tipo mappa, espresso attraverso il tag <map>, utile per definire un'area geometrica all'interno di un'immagine che può essere utilizzata come link.

    Tra gli attributi elencati, per poter inserire un'immagine, basta inserire l'attributo src.


    CODICE
    <!DOCTYPE html>
       <html>
           <head>
               <title>Immagini e mappe</title>
           </head>
           <body>
           <img src="dante.jpg" alt="Agnolo Bronzino (1530): Dante rivolto verso il Purgatorio" title="Agnolo Bronzino (1530): Dante rivolto verso il Purgatorio" usemap="#d_mappa" />
           <map id="id_map" name="d_mappa">
               <area shape="poly" alt="Link alla Divina Commedia" title="La Divina Commedia"
                     coords="165,271,232,273,245,324,291,287,351,306,310,494,276,481,260,461,268,445,225,427,222,435,190,421,145,454,139,451"
                     href="http://it.wikisource.org/wiki/Divina_Commedia" target="_blank" />
           </map>
           <h3>La Divina Commedia di Dante Alighieri</h3>  
           </body>
       </html>


    Esempio

    Nel codice qui sopra viene mostrata un'immagine di Dante Allighieri con in mano la Divina Commedia i cui contorni sono stati disegnati con un poligono trasformandola in un link verso una pagina Wikipedia dedicata al poema.
    Nel codice, oltre al tag <img>, notiamo anche:


    • l'utilizzo dell'attributo title che consente di far visualizzare, quando si posiziona il mouse sopra l'immagine, una sorta di tooltip;

    • l'utilizzo del tag <map>, con cui definiamo una mappa dove impostiamo l'attributo name che ne indica il nome che viene riferito dalla relativa immagine mediante l'attributo usemap nel tag <img> preceduto dal carattere di hash &#35;;

    • l'utilizzo, all'interno del tag <map>, del tag <area>, con cui definiamo l'area geometrica all'interno dell'immagine che verrà utilizzata come collegamento ipertestuale (link). Tali aree sono definite dagli attributi shape, che determinano la tipologia dell'area tra: rettangolare (rect o rectangle), circolare (circ o circle) o poligonale (poly o polygon). Troviamo inoltre l'attributo coords che permette di impostare le coordinate dell'area.



    Ogni forma geometrica scelta è indicata nell'attributo shape del tag <area>, ha una sua modalità di attribuzione delle coordinate espresse in pixel che sono tutte referibili a partire dalla distanza rispetto all'angolo superiore sinistro dell'immagine (0,0).
    Così, per un rettangolo abbiamo che coords è esprimibile attraverso le coordinate x1, y1, x2, y2, dove x1 e y1 ne indicano il punto di partenza mentre x2 e y2 il punto di fine. Per il cerchio invece abbiamo che coords è esprimibile attraverso le coordinate x, y del suo centro e il raggio r. Infine per il poligono abbiamo che coords è esprimibile attraverso le coordinate x1, y1, x2, y2, ..., xn, yn dove ciascuna coppia di x e y identifica un vertice che viene usato per disegnare la relativa linea che li connette.



    Utilizzo immagine per la navigazione

    CODICE
    <a href="http://it.wikipedia.org/wiki/Dante_Alighieri" title="Dante Alighieri"><img src="dante.jpg"></a>


    Esempio

    I tag <figure> e <figcaption>

    L'HTML consente di utilizzare il tag <figure> per annotare illustrazioni, diagrammi, foto, listati di codice ecc, e il tag <figcaption> per attribuire una didascalia all'elemento annotato. I due tag citati consentono di dare un significato strutturale e di relazione tra l'immagine e una sua etichetta descrittiva in modo che essi siano, nel contenuto principale del documento HTML, un'entità indipendente.
    Il tag <figure>è utilizzato unitamente al tag <map>, di cui si fornisce la relativa descrizione mediante il tag <figcaption>.



    CODICE
    <figure>
       <figcaption>Dante</figcaption>
       <img src="dante.jpg">
    </figure>


    Esempio



    Guida a cura di ©True Story

  13. .

    Utilizzo delle tabelle


    Le tabelle sono degli elementi strutturali formati da un insieme di righe e colonne, dove ogni intersezione tra esse indica una cella all'interno della quale possiamo inserire del contenuto che spesso è di tipo testuale o grafico.
    La creazione delle tabelle si effettua utilizzando i seguenti tag:


    • <table>: rappresenta l'elemento principale per la creazione di una tabella.

    • <tr>: rappresenta una riga di celle in una tabella (table row).

    • <td>: rappresenta una singola cella dentro la quale viente inserito il contenuto (table data).

    • <th>: rappresenta una cella di intestazione (table header).

    • <thead>: rappresenta un insieme di righe che contengono delle celle da utilizzare come intestazione (column label) per l'elemento table.

    • <tfoot>: rappresenta un insieme di righe che contengono delle celle da utilizzare come piede (column summary) per l'elemento table.

    • <body>: rappresenta un insieme di righe che contengono le celle del contenuto principale della tabella.

    • <colgroup>: rappresenta un insieme di una o più colonne ( definito attraverso il valore dell'attributo span) cui applicare una determinata formattazione, evitando di ripeterla per ogni colonna.

    • <col>: rappresenta un insieme di una o più colonne ( il numero viene definito attraverso il valore dell'attributo span) di un gruppo di colonne rappresentate dall'elemento colgroup.

    • <caption>: rappresenta il titolo della tabella.


    La dimensione della tabella (e delle relative righe e colonne) utilizza i valori di default. Quindi la quantità di testo inserito all'interno di una cella ne causa il suo ridimensionamento, che si ripercuote a sua volta sulle altre celle relative alla sua stessa posizione ma che si trovano nelle altre righe.
    La tabella, in pratica, si espande e si contrae in maniera fluida a seconda del contenuto che struttura.


    CODICE
    <!DOCTYPE html>
           <html>
                   <head>
                           <title>Tabelle</title>
                   </head>
           <body>
               <table border="1">
                   <caption>Popolarit&agrave; dei linguaggi di programmazione</caption>
                   <colgroup>
                       <col span="3" width="250px" />
                       <col span="2" width="300px" />
                   </colgroup>
                   <thead>
                       <tr>
                           <th>Posizione novembre 2011</th>
                           <th>Posizione novembre 2010</th>
                           <th>Linguaggi</th>
                           <th>Rating novembre 2011</th>
                           <th>Delta novembre 2010</th>
                       </tr>
                   </thead>
                   <tfoot>
                       <tr>
                           <td>Totale percentuale</td>
                           <td>&nbsp;</td>
                           <td>&nbsp;</td>
                           <td>75.979%</td>
                           <td>&nbsp;</td>
                       </tr>
                   </tfoot>
                   <tbody>
                       <tr>
                           <td>1</td><td>1</td><td>Java</td><td>17.874%</td><td>-0.63%</td>
                       </tr>
                       <tr>
                           <td>2</td><td>2</td><td>C</td><td>17.322%</td><td>+0.61%</td>
                       </tr>
                       <tr>
                           <td>3</td><td>3</td><td>C++</td><td>8.084%</td><td>-1.41%</td>
                       </tr>
                       <tr>
                           <td>4</td><td>5</td><td>C#</td><td>7.319%</td><td>+1.61%</td>
                       </tr>
                       <tr>
                           <td>5</td><td>4</td><td>PHP</td><td>6.096%</td><td>-1.72%</td>
                       </tr>
                       <tr>
                           <td>6</td><td>8</td><td>Objective C</td><td>5.983%</td><td>+2.79%</td>
                       </tr>
                       <tr>
                           <td>7</td><td>7</td><td>Visual Basic</td><td>5.041%</td><td>-0.43%</td>
                       </tr>
                       <tr>
                           <td>8</td><td>6</td><td>Python</td><td>3.617%</td><td>-2.06%</td>
                       </tr>
                       <tr>
                           <td>9</td><td>10</td><td>JavaScript</td><td>2.565%</td><td>+0.90%</td>
                       </tr>
                       <tr>
                           <td>10</td><td>9</td><td>Perl</td><td>2.078%</td><td>-0.39%</td>
                       </tr>
                   </tbody>
               </table>
           </body>
       </html>


    Esempio

    Notiamo quindi l'utilizzo del tag <table> sul quale impostiamo l'attributo border con il valore di 1 al fine di far apparire attorno alle celle un bordo.
    Nel tag <table> definiamo poi i tag per l'intestazione, per il sommario e per il corpo della tabella che conterranno le relative righe e celle.



    Gli attributi colspan e rowspan

    I tag <td> e <th> possono avvalersi degli attributi colspan e rowspan per indicare, rispettivamente, per quante colonne o su quante righe una cella si deve espandere al fine di creare delle strutture tabellari di maggiore complessità.
    Nell'esempio qui sotto troviamo nella prima tabella l'estensione per colonne mentre nella seconda troviamo l'estensione per righe.



    CODICE
    <table border="1">
           <tr>
               <th colspan="3">Linguaggi web</th>
           </tr>
           <tr>
               <td>HTML</td>
               <td>CSS</td>
               <td>JavaScript</td>
           </tr>
       </table>


       <table border="1">
           <tr>
               <th rowspan="3">Linguaggi web</th>
               <td>HTML</td>
           </tr>
           <tr>
               <td>CSS</td>
           </tr>
           <tr>
               <td>JavaScript</td>
           </tr>
       </table>

    Esempio



    Guida a cura di ©True Story

  14. .

    Generazione di liste



    Le liste sono un utile strumento per mostrare del testo sotto forma di elenchi ordinati secondo una numerazione oppure non ordinati.
    In HTML5 gli elenchi si creano mediante i tag <ol>, per le liste ordinate (ordered list), e <ul> per le liste non ordinate (unordered list).
    Per le singole voci delle liste dobbiamo utilizzare, invece, il tag <li> (list item).
    Abbiamo, inoltre, la possibilità di generare delle liste dette di definizione, tramite il tag <dl> (definition list), caratterizzate dalla presenza di un termine (tag <dt>, definition term) e dalla relativa descrizione (tag <dd>, definition desctription).



    CODICE
    CODICE
    <!DOCTYPE html>
           <html>
                   <head>
                           <title>Liste e definizioni</title>
                           <meta name="keywords" content="web, html5" charset="utf-8">
                   </head>
                   <body>
                           <h4>Elenco dei 10 linguaggi di programmazione più popolari secondo TIOBE<sup>1</sup>:</h4>
                           <ol>
                                   <li>Java</li>
                                   <li>C</li>
                                   <li>C++</li>
                                   <li>C#</li>
                                   <li>PHP</li>
                                   <li>Objective-C</li>
                                   <li>Python</li>
                                   <li>JavaScript</li>
                                   <li>Perl</li>
                           </ol>
                           <hr>
                           <h4>Elenco dei principali sistemi operativi e dei loro principali artefici:</h4>
                           <ul>
                                   <li>GNU/Linux
                                           <ul>
                                                   <li>Linus Torvalds per il kernel ...</li>
                                                   <li>Richard Stallman per la suite GNU</li>
                                           </ul>
                                   </li>
                                   <li>Windows
                                           <ul>
                                                   <li>Ricrosoft Inc.</li>
                                           </ul>
                                   </li>
                                   <li>Apple OS
                                           <ul>
                                                   <li>Apple Inc.</li>
                                           </ul>
                                   </li>
                                   <li>BSD Unix
                                           <ul>
                                                   <li>CSRG (Computer Systems Research Group)</li>
                                                   <li>UC Berkeley</li>
                                           </ul>
                                   </li>
                           </ul>
                           <hr>
                           <p>1</p>
                           <dl>
                                   <dt>TIOBE</dt>
                                   <dd>The TIOBE Programming Community index is an indicator of the popularity of programming languages...</dd>
                           </dl>
                   </body>        
           </html>


    Esempio

    Il codice qui sopra crea una pagina HTML dove sono presenti: una lista ordinata, che mostra un elenco dei 10 linguaggi di programmazione più popolari; una lista non ordinata, che mostra un elenco dei principali sistemi operativi dove, in più, per ciascuno di essi è presente un'altra lista, annidata e non ordinata che mostra l'elenco di chi li ha inventati; una lista di definizioni per il termine TIOBE (non completo) usato nel titolo <h4> di inizio pagina; il tag <hr> (horizontal rule) che permette di mostrare una linea orizzontale e che funge da elemento separatore tra le sezioni di una pagina o, per usare la sua estensione terminologica adottata nella specifica di HTML5, da indicatore di un break tematico tra parafrasi (come si può avere, per esempio, quando si ha una transitazione tra i vari argomenti di una sezione, oppure in un cambiamento di scena di una storia).
    Per quanto riguarda le liste ordinate può essere interessante sapere che il tag <ol> accetta i seguenti attributi:


    • reversed, che, se presente, permette di mostrare l'elenco in modo discendente (per esempio ..., 3, 2, 1);

    • start, che indica il numero a partire dal quale iniziare la numerazione dell'elenco (di default 1). Ciò significa che l'istruzione <ol start="5"> farà cominciare la lista con il numero 5;

    • type, che consente di specificare il tipo di marcatore da utilizzare nell'elenco tra 1 (per i numeri decimali, 1., 2., 3. e così via), a (per l'alfabeto latino in minuscolo, a., b., c. e così via); A (per l'alfabeto latino in maiuscolo, A., B., C. e così via), i (per i numeri romani in minuscolo, i., ii., iii. e così via) e I (per i numeri romani in maiuscolo, I., II., III. e così via).


    Per il tag <li>, invece, se lo stesso è "figlio" del tag <ol>, può essere utilizzato l'attributo value, che consente di impostare un numero arbitrario. In questo caso, gli eventuali elementi li a esso successivi avranno la numerazione che partirà seguendo il predetto valore impostato.





    Guida a cura di ©True Story

  15. .

    Inserimento e formattazione di base del testo



    Il testo è uno dei contenuti principali delle pagine web.
    Esso viene inserito dei documenti HTML attraverso dei tag che hanno un preciso valore sematico e visuale.
    Sinora, tra i vari tag utilizzati per la suddetta finalità, abbiamo incontrato, solamente il tag <p> che permette di definire un paragrafo il cui testo di norma visualizzato con l'aggiunta di una spaziatura superiore e inferiore.



    Oltre a tale tag ne esistono altri:

    • per la definizione dei titoli (heading), dal più importante, visualizzato in grassetto con il font grande (<h1>), al meno importante, visualizzato in grassetto con font più piccolo (<h6>), passando per titoli intermedi visualizzati con font di dimensioni progressivamente inferiori (<h2>,<h3>,<h4>,<h5>);

    • per la definizione di testo in grassetto o con un'enfasi forte (<b> per bold o <strong>per strongly emphasizes);

    • per la definizione di testo in corsivo o con enfasi (<i> per italico o <em> per emphasided);

    • per la definizione di testo in font monospazio (<kbd> per keyboard, <code> e <samp> per sample);

    • per la definizione di testo preformattato (<pre> per preformatted);

    • per la definizione di un apice o di un esponente (<sup> per superscript) o per un pedice (<sub> per subscript);

    • per la definizione di una sezione il cui testo è una citazione (<blockquote>).


    CODICE
    CODICE
    <!DOCTYPE html>
           <html>
                   <head>
                           <title>Tutto sul testo</title>
                           <meta name="keywords" content="web, html5" charset="utf-8">
                   </head>
                   <body>
                           <hgroup>
                                   <h1>Benvenuti nel fantastico mondo della programmazione del web</h1>
                                   <h3>Una guida per tutti dove imparerete come diventare dei web developer!!</h3>
                           </hgroup>
                           <p>&copy; 2012 Pellegrino <b><i>~thp~</i></b> Principe</p>
                           <p><strong>N.B.</strong> Ricordiamo di avere sempre a portata di mano la più recente specifica di HTML5<sup>1</sup></p>
                           <h5><sup>1</sup> http://www.whatwg.org/spec/web-apps/current-work/multipage/ </h5>
                           <p>Un pò di codice di esempio in JavaScript:</p>
                           <pre>
                                   var j=10;
                                   var data=[];
                                   for(var i=0; i<j; i++)
                                           data[i]=i*2;
                           </pre>
                           <p>Ecco una citazione su JavaScript dal guru Duglas Crockford:</p>
                           <blockquote cite="http://javascript.crockford.com/javascript.html">
                                   <em>JavaScript, aka Mocha, aka LiveScript, aka JScript, aka ECMAScript...</em>
                           </blockquote>
                   </body>
           </html>


    Esempio

    Il codice mostra come utilizzare i tag precedentemente esaminati per creare una struttura di documento HTML dove abbiamo:

    • due titoli, inseriti nel tag <hgroup>, che consente di ragruppare titoli secondo una strutturazione per livelli multipli (per esempio titolo e sottotitolo);

    • una serie di paragrafi, dove in alcune parti del testo sono stati usati dei marcatori per dare una certa importanza (<strong>) o enfatizzare (<em>) determinate parole. E' stato usato anche il tag <sup>, che ha permesso di creare un riferimento in apice sul carattere 1;

    • del testo che rappresenta del codice JavaScript che è stato visualizzato in modo preformattato (<pre>), ossia considerando tutti gli spazi e i ritorni a capo così come sono stati, parola per parola, digitati;

    • del testo che indica una citazione di un guru del linguaggio JavaScript inserita nel tag <blockquote> sul quale abbiamo usato l'attributo cite per indicare l'indirizzo web della pagina originaria.

    Nel codice abbiamo utilizzato una speciale combinazione di caratteri formati dal simbolo di ampersand(&), un nome abbreviato e il carattere punto e virgola per far si che il browser visualizzasse il simbolo copyright (©). Esistono molte combinazioni di tali caratteri, definiti nol loro insieme come character entities, che consentono, per l'appunto, di visualizzare in una pagina web dei caratteri speciali. Tra di essi, uno spesso utilizzato è quello codificato come  , denominato non-breaking space. Consente di "forzare" l'inserimento di caratteri di spazio ed è indispensabile quando si ha la necessità di visualizzare parole separate non da uno, ma da più spazi.




    Guida a cura di ©True Story

2952 replies since 18/6/2011
.