20. Non sono necessari editor per la composizione di una pagina HTML anche se aiutano e rendono veloce lo sviluppo
21. È un documento di testo opportunamente strutturato e servito al browser tipicamente come text/html (tramite l’estensione .htm o .html)
22.
23. Un tag è identificato da una parola chiave racchiusa tra parentesi triangolari
24. Un tag può essere vuoto o può contenere informazioni aggiuntive
25. Un tag può contenere altre informazioni, e quindi eventuali altri tag al suo interno <li> <img> <p>Testo</p> <p>Testo <em>in corsivo</em> </p>
26.
27. ASPETTO RAPPRESENTATIVO : Attributi che alterano l'aspetto estetico di un elemento: (border, backcolor, background, forecolor, …)
28. GESTIONE DEGLI EVENTI : Attributi che consentono di programmare il comportamento all'occorrenza di determinati eventi (onclick, onfocus, onblur … )
53. Strutturare il documento Significa progettare un documento di testo con i corretti accorgimenti. Ciascun capitolo di un libro viene identificato da un numero di capitolo formattato secondo un preciso stile (un intestazione di secondo livello) mentre il titolo di un libro corrisponderà concettualmente ad un'intestazione di primo livello. Una casa con le finestre al posto delle porte non sarebbe una buona casa. Un sito non strutturato rispettando il valore semantico di ciascun elemento, non sarebbe un buon sito.
64. Cos'è uno stile? È una regola che descrive la presentazione di uno o più elementi (tag) presenti su un documento. border: 1px solid red; Background-color: #ffe; Font-size: 2em; Color: #800;
65. Stilizzare un elemento - 1 Stile “in linea”. <div style="border: 1px solid red"> Lorem Ipsum dolor sit amet </div>
67. Stilizzare un elemento - 3 Stile “separato dalla pagina”. <link rel="stylesheet" href="mioStile.css" media="screen" />
68. Descrivere lo stile di un tag h1{ display: block; text-indent: 1em; } div{ font-family: Verdana, Arial, Sans-serif; font-size: 0.8em; }
69. Attributi speciali id e class <div id="mio-div" >Lorem Ipsum</div> <div class="altro-elemento" > Dolor Sit </div> <p class="altro-elemento" > Amet </p>
70. Stile in base a id e class #mio-div{ ← In base all'ID … } . altro-elemento{ ← In base alla Classe … }
71. Una cascata di colori p{ … } ← Applicato a tutti i paragrafi div p{ … } ← Applicato a tutti i paragrafi che sono sotto un DIV div p.myclass{ … } ← Applicato a tutti i paragrafi con classe myclass sotto un DIV
72. Separare la presentazione dal contenuto “ Usare i fogli di stile per controllare la presentazione dei contenuti e organizzare le pagine in modo che possano essere lette anche quando i fogli di stile siano disabilitati o non supportati. ” DM 8 Luglio 2005 – Requisito n. 11 <link rel=”stylesheet” type=”text/css” href=”myStyle.css” /> Oppure: <style type="text/css"> @import "myStyle.css" </style>
73. Rendere l'idea cross-browser Ciascun browser interpreta alcune caratteristiche dei CSS indicate nella documentazione W3C in modo arbitrario. Talvolta le caratteristiche vengono implementate solo da alcuni di essi. border-radius: 5px; ← Specifica per angoli arrotondati in CSS3 -moz-border-radius: 5px; ← Versione dello stile definita da Mozilla ( non consente la validazione del CSS ) -webkit-border-radius:5px ← Versione supportata da Safari e Chrome ( non consente la validazione del CSS )
74. Cross-browser... un po' opaco... Una caratteristica trattata secondo interpretazione soggettiva è la trasparenza: opacity: 0.9; ← Indica che l'opacità dell'oggetto è del 90%. Su Internet Explorer non funziona… Filter: opacity(alpha=90); ← Versione funzionante per IE... ma il CSS non viene validato
75. Per pochi... solo per IE... Per consentire a Internet Explorer di caricare dei contenuti che gli altri browser non dovranno interpretare è necessario utilizzare dei tag di commento strutturati in modo particolare: <!--[if lte IE 6]> <p>Paragrafo visto da IE 6 e precedenti</p> <![endif]-->
76. … e per tutti gli altri? Secondo Microsfot per servire delle parti di HTML a tutti browser ad eccezione di IE è necessario utilizzare la seguente sintassi: <![if !IE]> … <![endif]> Ma il markup diventerà invalido... Soluzione? <!--[if !IE]>--> … <!--<![endif]-->