Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HTML & CSS

HTML & CSS

Una breve guida introduttiva all'HTML, ai CSS e al Box Model

Edoardo Tenani

October 24, 2013
Tweet

More Decks by Edoardo Tenani

Other Decks in Technology

Transcript

  1. HTML & CSS Markup & Presentation for web application Edoardo

    Tenani @edoardotenani about.me/edoardo.tenani Programmare è Design 24/10/2013
  2. HTML? • HyperText Markup Language (HTML) • è il linguaggio

    di markup solitamente usato per la formattazione di documenti ipertestuali Linguaggio di Markup: un linguaggio di markup è un insieme di regole che descrivono i meccanismi di rappresentazione (strutturali, semantici o presentazionali) di un testo
  3. Elementi / Attributi / Tag Elements: body, h1, p, div,

    strong, em, span Gli elementi permettono di definire gli oggetti Attributes: href="http://about.com", title="Edoardo Tenani" Gli attributi aggiungono informazioni agli elementi Tag: <div id="fullname" class="name first last"></div> Una tag è l'unione di un elemento e i suoi attributi
  4. Pagina HTML di base <!DOCTYPE html> <!-- Doctype definition -->

    <html> <!-- Tag principale --> <head> <!-- Metadati del documento --> <title>Hello World</title> <!-- Titolo della pagina --> </head> <!-- Chiusura della Tag --> <body> <!-- Segna il "corpo" visibile della pagina" -- > <h1>Hello World</h1> <!-- Un titolo ( di primo livello ) --> <p>This is a website</p> <!-- Un paragrafo --> </body> <!-- Chiusura della Tag --> </html> <!-- Chiusura del documento -->
  5. Block & Inline elements Block header section h1...h6 ul, ol,

    li footer aside p article div table dl, dt, dd form I Block elements occupano tutta la larghezza disponibile ( della pagina o dell'elemento che li contiene ), si scrivono uno per linea Inline span strong img input a em br abbr Gli Inline elements solo la dimensione necessaria per ospitare il contenuto, non si scrivono uno per linea
  6. Distinguete i diversi elementi (elem, attr, tag) <ul id="social"> <li

    class="blog"> <a href="http://blog.techlab.tl/"> TechLab's Blog </a> </li> <li class="mail"> <a href="mailto:[email protected]"> TechLab's Email </a> </li> <li class="twitter"> <a href="http://twitter.com/techlabtl"> TechLab's Twitter </a> </li> ... </ul> <ul id="social"> <li class="blog"> <a href="http://blog.techlab.tl/"> TechLab's Blog </a> </li> <li class="mail"> <a href="mailto:[email protected]"> TechLab's Email </a> </li> <li class="twitter"> <a href="http://twitter.com/techlabtl"> TechLab's Twitter </a> </li> ... </ul>
  7. Distinguete i diversi elementi (elem, attr, tag) <ul id="social"> <li

    class="blog"> <a href="http://blog.techlab.tl/"> TechLab's Blog </a> </li> <li class="mail"> <a href="mailto:[email protected]"> TechLab's Email </a> </li> <li class="twitter"> <a href="http://twitter.com/techlabtl"> TechLab's Twitter </a> </li> ... </ul> <ul id="social"> <li class="blog"> <a href="http://blog.techlab.tl/"> TechLab's Blog </a> </li> <li class="mail"> <a href="mailto:[email protected]"> TechLab's Email </a> </li> <li class="twitter"> <a href="http://twitter.com/techlabtl"> TechLab's Twitter </a> </li> ... </ul>
  8. CSS

  9. CSS • Cascading Style Sheets (CSS) o Fogli di stile

    a Cascata • è un linguaggio usato per definire la formattazione di documenti HTML CSS 1 => CSS 2, 2.1 => CSS 3 L'introduzione del CSS si è resa necessaria per separare i contenuti dalla formattazione e permettere una programmazione più chiara e facile da utilizzare.
  10. HTML Linguaggio di markup per dare struttura al contenuto CSS

    Linguaggio di presentazione per dare al contenuto stile e definire come appare
  11. Selettori, Proprietà Selettore: h1 { font: bold 16px/24px Arial, sans-serif;

    } I Selettori determinano a quali elementi viene applicato lo stile Proprietà: h1 { font: bold 16px/24px Arial, sans-serif; } Le Proprietà sono gli stili che vengono applicati agli elementi
  12. Valori, Regole Valore: h1 { font: bold 16px/24px Arial, sans-serif;

    } I Valori determinano il comportamento di una Proprietà Regola: h1 { font: bold 16px/24px Arial, sans-serif; } Una Regola include un Selettore, una Proprietà e un Valore
  13. Dichiarazioni Dichiarazione: h1 { font: bold 16px/24px Arial, sans-serif; }

    Le Dichiarazioni sono una linea all'interno di una regola, composte da Proprietà e Valore, terminate da punto e virgola.
  14. Selettori elementi, ID, classi Selettore per elemento: h1 { ...

    } Un selettore elemento identifica un elemento per il suo nome Selettore per classe: .classe { ... } Un selettore classe identifica un elemento per la sua classe Selettore per ID: #id { ... } Un selettore ID identifica un elemento per il suo ID
  15. Classi e ID Classi Più classi nella stessa pagina. Utili

    per identificare elementi simili ID Uno solo nella stessa pagina. Utili per identificare elementi univoci.
  16. Distinguete tra selettori, proprietà, valori ul#social { list-type: none; }

    ul#social li { float: left; margin: 12px 0 0 0; padding: 0 3px; } ul#social li a { display: block; height: 17px; } ul#social li.blog a { backgound-color: blue; } ul#social li.mail a { backgound-color: red; } ul#social li.twitter a { backgound-color: green; } ul#social { list-type: none; } ul#social li { float: left; margin: 12px 0 0 0; padding: 0 3px; } ul#social li a { display: block; height: 17px; } ul#social li.blog a { backgound-color: blue; } ul#social li.mail a { backgound-color: red; } ul#social li.twitter a { backgound-color: green; }
  17. ul#social { list-type: none; } ul#social li { float: left;

    margin: 12px 0 0 0; padding: 0 3px; } ul#social li a { display: block; height: 17px; } ul#social li.blog a { backgound-color: blue; } ul#social li.mail a { backgound-color: red; } ul#social li.twitter a { backgound-color: green; } Distinguete tra selettori, proprietà, valori ul#social { list-type: none; } ul#social li { float: left; margin: 12px 0 0 0; padding: 0 3px; } ul#social li a { display: block; height: 17px; } ul#social li.blog a { backgound-color: blue; } ul#social li.mail a { backgound-color: red; } ul#social li.twitter a { backgound-color: green; }
  18. Comprendere il box-model Il box-model è il modo in cui

    vengono calcolate le dimensioni ( larghezza e altezza ) degli elementi nelle pagine HTML.
  19. box-model di base Di base il box model è definito

    come content-box: la width dell'elemento è definita dalla dimensione del suo contenuto. Margini, bordo e padding? Vanno aggiunti alla larghezza del contenuto!
  20. box-model: border-box Attualmente si sta imponendo un nuovo modello di

    box-model, chiamato border-box. La width dell'elemento è definita dalla dimensione del suo contenuto, dal padding e dal bordo.
  21. Differenze? Le differenze sono puramente "matematiche": content-box : width 50px

    content largo 50px padding largo 10px bordo largo 1px width? 50 + 20 + 2 = 72px
  22. Differenze? Le differenze sono puramente "matematiche": border-box : width 50px

    content largo 28px padding largo 10px bordo largo 1px width? 28 + 20 + 2 = 50px
  23. Risorse avanzate • learnlayout.com ⇒ Corso base CSS per i

    layout • browserdiet.com ⇒ Tecniche avanzate di miglioramento delle performance ( non da sapere ma interessante! )