Guida Html (tratta da www.web-link.it) <!DOCTYPE...> Affinché un documento sia identificato come HTML esso deve iniziare con il suo identificatore di prologo: <!DOCTYPE... HTML 4.01 prevede tre tipi di DTD e sono rispettivamente: Strict, la più rigida che prevede l'abolizione dei tag deprecati a favore dei CSS <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Transitional, maggiormente tollerante è quella più largamente usata. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Frameset, nel caso in cui il sito sia strutturato a frames <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> Questo tipo di riga chiamata prologo, è solitamente generata in modo automatico dall'editor che adoperate per la stesura del codice html, visuale o testuale che sia. Non è obbligatoria anche se molto consigliata, specialmente in caso di validazione del documento da parte del W3C. Ha il compito di informare il browser che si tratta di un documento html relativo a quelle determinate specifiche, in mancanza di questa dichiarazione il documento sarà identificato come rispondente alla specifica HTML 2.0 <html>...</html> L'elemento <html> identifica un documento che contiene elementi HTML, esso dovrebbe seguire l'identificatore di prologo e circondare tutto il testo restante, inclusi tutti gli altri elementi o tags. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> la parte restante del documento </html> <head>...</head> L'elemento <head> viene utilizzato per fornire informazioni sul documento, in questa sezione trovano posto tutti quei tags che impartiscono direttive ai browser quali: titolo, Meta comandi , richiami ai fogli di stile, script. Notare che tutto ciò che si trova all'interno della struttura head non sarà visualizzato, ma interpretato dal browser, quindi una zona destinata ad uso esclusivo dei soli comandi che impartiscono direttive ben specifiche. < !DOCTYPE HTML...> < html> <head> elementi di informazione quali: </head> la parte restante del documento < /html> <base> <link> <meta> <style> <title> <script> <base> Consente di specificare la destinazione per tutti i link della pagina, qualora questa fosse strutturata in frames: <base target="nome_del_frame_sul_quale_aprire_i_links"> <link> Ha diverse funzioni ma la più adoperata è il richiamo a fogli di style esterni: <link rel="stylesheet href="weblink.css" type="text/css"> <meta> Sono davvero molti i Meta Comandi che si possono inserire: <meta http equiv="clicca questo link per un elenco completo."> <style>...</style> Dichiarazione di uno stile interno alla pagina che contiene la dichiarazione: <style type="text/css"..."> <title>...</title> Il titolo da assegnare alla pagina. <title>Web-Link - Tutto per la costruzione delle tue pagine web </title> <script>...</script> Inserimento di funzioni, effetti, controlli e molto altro sotto forma di script (linguaggio di programmazione lato client): <script type="text/javascript">......</script> <body>...</body> L'elemento <body> contiene la pagina vera e propria, quello che si vedrà a video: testo, immagini e tutti gli elementi che forniscono il controllo e la formattazione della pagina stessa. I possibili attributi sono: background, bgcolor, link, vlink, alink, text. <body attributo> background bgcolor Molti gli attributi associabili a questo link tag: vlink alink text evidenziati in giallo gli attributi proprietari di singoli browser dei quali si sconsiglia l'utilizzo. bgproperties topmargin bottommargin leftmargin rightmargin Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body{ background-image: url("sfondo.gif"); background-attachment: fixed; background-color: #ff00ff; color: #000066; margin-left: 2px; } background Permette di adoperare un'immagine come sfondo della pagina, immagine che dovrà essere di tipo .gif .jpg o .png. Indipendentemente dalle dimensioni verrà usata a riempimento di tutta la finestra del browser, qualunque sia la sua dimensione e risoluzione del video: < body background="nome_immagine.gif"> E' possibile richiamare l'immagine anche da altro sito, specificandone l'indirizzo completo (URL) < body background="http://www.weblink.altervista.org/nome_immagine.gif"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body{ background-image: url("nome_immagine.gif"); } bgproperties L'immagine adoperata a riempimento può essere tenuta ferma durante lo spostamento verticale (scrolling) sulla pagina, dando l'impressione di scivolare con le immagini e i testi sullo sfondo. Attributo proprietario di alcuni browser non riconosciuto dal W3C. < body background="nome_immagine.gif" bgproperties="fixed"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body{ background-attachment: fixed; } bgcolor Si adopera questo attributo per colorare lo sfondo della pagina di una tinta unita, il colore può essere espresso sia col nome inglese che nel relativo codice esadecimale. A questo proposito su questa pagina è possibile vedere 140 colori di base con relativo nome e codice esadecimale. < body bgcolor="green"> oppure < body bgcolor="#006600"> La notazione esadecimale è da preferirsi, in quanto permette con estrema semplicità di poter scegliere fra una tavolozza di ben 16 Mil. di colori. Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body{ background-color: #006600; } link Si adopera questo attributo per decidere il colore di tutti i links facenti parte della pagina, può essere espresso sia col nome inglese che col relativo codice esadecimale. A questo proposito su questa pagina è possibile vedere 140 colori di base. < body link="green"> oppure < body link="#006600"> La notazione esadecimale è da preferirsi, in quanto permette con estrema semplicità di poter scegliere fra una tavolozza di ben 16 Mil. di colori. Per default questo colore è blu (blue) #0000ff Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: a:link{ color: #006600; } vlink Si adopera questo attributo per decidere il colore di tutti i links, dopo che questi sono stati visitati, può essere espresso sia col nome inglese che col relativo codice esadecimale. A questo proposito su questa pagina è possibile vedere 140 colori di base. < body vlink="green"> oppure < body vlink="#006600"> La notazione esadecimale è da preferirsi, in quanto permette con estrema semplicità di poter scegliere fra una tavolozza di ben 16 Mil. di colori. Per default questo colore è porpora (purple) #800080 Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: a:visited{ color: #800080; } alink Si adopera questo attributo per decidere il colore di tutti i links attivi, colore che cambierà nel momento del click su di esso, può essere espresso sia col nome inglese che col relativo codice esadecimale. A questo proposito su questa pagina è possibile vedere 140 colori di base. < body alink="green"> oppure < body alink="#006600"> La notazione esadecimale è da preferirsi, in quanto permette con estrema semplicità di poter scegliere fra una tavolozza di ben 16 Mil. di colori. Per default questo colore è rosso (red) #ff0000 Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: a:active{ color: #800080; } text Si adopera questo attributo per decidere il colore di tutto il testo nella pagina, può essere espresso sia col nome inglese che col relativo codice esadecimale. A questo proposito su questa pagina è possibile vedere 140 colori di base. < body text="green"> oppure < body text="#006600"> La notazione esadecimale è da preferirsi, in quanto permette con estrema semplicità di poter scegliere fra una tavolozza di ben 16 Mil. di colori. Fate attenzione a non assegnare colori assomiglianti allo sfondo, scelta che renderebbe il testo quasi invisibile. Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body{ color: #006600; } MARGINI topmargin, bottommargin, leftmargin, rightmargin sono i quattro attributi per definire la distanza in pixel rispettivamente da: margine superiore, margine inferiore, margine sinistro e margine destro. Un margine uguale a zero farà si che il testo inizi praticamente sul bordo della finestra del browser. Attributo proprietario di alcuni browser non riconosciuto dal W3C. < < < < body body body body topmargin="30"> bottommargin="30"> leftmargin="30"> rightmargin="30"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body { margin-bottom: 30px; margin-top: 30px; margin-left: 30px; margin-right: 30px; } ESEMPIO Riassumendo, questa potrebbe essere una definizione del corpo (body), di una pagina che abbia uno sfondo come riempimento, e questo resti fisso durante le operazioni di spostamento (scrolling), con un testo di colore nero, i links di colore rosso, i links visitati di colore verde, il tutto con una distanza dai quattro margini di 50 pixel. < body background="nome_immagine.gif" bgproperties="fixed" text="black" link="red" vlink="green" topmargin="50" bottommargin="50" leftmargin="50" rightmargin="50" > Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body { background-image: url("nome_immagine.gif"); background-attachment: fixed; color: black; margin: 50px; } a:link { color: red; } a:visited { color: green;} Il Testo Cosa sarebbe una pagina web senza testo? Impossibile anche solo pensarlo. Questo elemento è senza alcun dubbio di primaria importanza. Oltre al colore e al tipo di font (carattere) ci sono molti altri elementi che servono per formattarlo ed impaginarlo. <BASEFONT> Specifica le dimensioni del font (carattere) di base su cui si basano poi tutte le relative modifiche di <font size=.......> Il valore di default è 3 e può essere compreso tra 1 e 7. Questo Tag è in via di estinzione visto che i nuovi browser ed i relativi fogli di style hanno fatto si che vi sia una tendenza a non adoperarlo più <basefont size="4"> Si possono inserire anche altri due attributi face specifica il tipo di font color specifica il colore che potrebbe essere espresso oltre che col nome in inglese anche con il codice numerico esadecimale. <basefont size="4" face="arial" color="green"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body { font-size: 14pt; font-family: arial, verdana, sans-serif; color: green; } <BR> <BR /> L'elemento <br> specifica che una nuova riga deve iniziare in un determinato punto, un ritorno a capo forzato, più <br> consecutivi equivalgono a più righe saltate. <br> Con l'aggiunta di immagini flottanti, allineate a destra o sinistra con il testo che le contorna, è possibile aggiungere l'attributo CLEAR con i seguenti risultati: clear="left": spezza la riga e si sposta verticalmente verso il basso fino ad avere un margine sinistro libero. clear="right": stessa cosa ma con margine libero destro. clear="all": Si sposta verso il basso fino a quando entrambi i margini non siano liberi da immagini. <br clear="all"> <CENTER>...</CENTER> Tutto ciò che si trova fra gli elementi center e /center sarà centrato rispetto ai margini destro e sinistro della finestra del browser. Questo Tag è in disuso da quando elementi quali <DIV> offrono maggiore flessibilità, si ottengono analoghi risultati anche assegnando l'attributo align="center" ai vari tags di formattazione. <center> Questo testo è centrato sulla finestra di visualizzazione </center> Deprecato, meglio usare un contenitore come <div> al quale assegnare un attributo di allineamento centrato: < div align="center">...</div> <!-- --> Consente di lasciare un testo di commento all'interno del listato html senza che questo possa influire o essere visualizzato dal browser. <!-Questo testo non serve a niente per il buon funzionamento della pagina web, è semplicemente un commento, un qualcosa da ricordare dovendo visionare e modificare il listato. --> I simboli di commento sono molto utili anche per gli script ed i fogli di style e servono a nascondere il listato a quei browser che non supportano ne script ne fogli di style, anche se mi chiedo quanti e quali saranno i browser ancora in funzione che non supportano queste due cose divenute ormai parte integrante del web. <DIV>...</DIV> L'elemento <DIV> non ha una sua vera e propria caratteristica, serve infatti da supporto, da scatola contenitore ed è molto usato anche con l'associazione dei fogli di style. Tutti gli attributi e le associazioni applicate al tag DIV saranno estese a tutto il blocco di codice in esso contenuto. <div align="center"> Questa riga di testo ed anche eventuali altri elementi, se presenti, subiranno l'allineamento centrato. </div> L'uso del contenitore div provoca un ritorno a capo con la sua chiusura /div <SPAN>...</SPAN> L'elemento <span> non ha alcuna caratteristica se non quella di fare da supporto per gli stili, come DIV si presta bene come contenitore per l'associazione di tutto quello che serve ad Html. <span style="color: red"> Questa riga di testo è colorata di rosso, anzi di red. :-) </span> L'uso del contenitore SPAN non provoca alcun ritorno a capo con la sua chiusura /SPAN, a differenza di /DIV ed è quindi indicato per assegnare attributi con i CSS a parti di un testo senza scombinarne l'impaginazione. <FONT>...</FONT> L'elemento <FONT> definisce le dimensioni, il colore ed il tipo di carattere adoperato per la scrittura del testo. Questo Tag viene adoperato sempre meno dal momento che i fogli di style riescono a gestire il tutto in modo più semplice e versatile. Il Tag <font> ha dimensione di base (default) del carattere uguale a 3, si veda a questo proposito anche <basefont>. Font da solo non ha ragione di esistere, al suo interno si deve sempre inserire almeno un attributo. <font attributo="specifica"> Testo che avrà tutti gli attributi specificati nel tag font </font> E' possibile specificare quale carattere adoperare dando anche delle eventuali alternative separandole da virgole. Se il font scelto non fosse presente sulla macchina del visitatore si tenterà di visualizzare il secondo font, poi il terzo, e se nessuno dei tre fosse presente il browser adopererà quello di default. Evitate dunque fonts particolari e poco comuni o quasi sicuramente nessuno riuscirà poi a vedere il testo allo stesso modo di come avreste voluto voi. face="nome" [,nome] [,nome] L'attributo face imposta il carattere utilizzato e questo deve trovarsi già installato nel computer dell'utente, le alternative sono separate da uno spazio e da una virgola. <font face="Comic Sans MS">Testo con font Comic Sans MS</font> color="#rrggbb" oppure COLOR="nome" in inglese del colore. <font color="red">Testo con font di colore rosso</font> SIZE="n" oppure SIZE="+n" o anche SIZE="-n" dove n è un numero compreso fra 1 e 7, mentre i vari + o - si riferiscono al numero che per default è 3, salvo variazioni specificate con basefont <font size="-1">Testo con font di dimensione -1 rispetto a quella di default. Tutti gli attributi di font possono essere adoperati anche contemporaneamente <font face="Comic Sans MS" color="red" size="-1"> Testo con font Comic di colore rosso ed una dimensione -1 </font> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno: body { font-size: 14pt; font-family: "Comic Sans MS", arial, sans-serif; color: red; } <HR> L'elemento <HR> Horizontal Rules, altro non è che una linea orizzontale divisoria, come quella che potete vedere in questa pagina a divisione dei vari elementi (tags), per default questa linea è ombreggiata e in rilievo. Si possono modificare i vari attributi. <hr> questo sotto il risultato attributi di formattazione quali: align noshade size width color evidenziati in giallo gli attributi proprietari di singoli browser dei quali si sconsiglia l'utilizzo. <hr align=left | right | center>Dove left right center sono allineamento a sinistra, a destra o centrato Adopero una linea ridotta del 50% per meglio rendere l'idea <hr align="left"> <hr align="right"> <hr align="center"> <HR COLOR=nome | #rrggbb>Dove nome è il nome in inglese di uno dei colori possibili, mentre #rrggbb è il codice numerico esadecimale del colore scelto. L'attributo color è supportato dai soli browser IE. <hr color="red"> color attributo proprietario di singoli browser, se ne sconsiglia l'utilizzo. <hr noshade>Nessuna ombreggiatura, praticamente una barra solida. <hr noshade> <HR SIZE=numero>Dove numero è espresso in pixel e si riferisce allo spessore della barra. una riga di spessore 5 pixel<hr size="50"> <HR WIDTH=numero | percentuale>Senza alcuna specifica la linea orizzontale occupa tutta la largezza della pagina. Con questo attributo si possono specificare con esattezza la sua ampiezza, dove numero sono i pixel.percentuale invece è relativa alla percentuale della finestra del browser una riga di lunhezza 150 pixel<hr width="150"> Si possono anche combinare i vari attributi, quello sotto è un esempio per ottenere una riga che sia di colore blu, spessore 3 pixel, che occupi il 70% della finestra alla quale è destinata e che non sia ombreggiata (la percentuale di ampiezza è relativa alla cornice che la ospita): <hr width="70%" size="3" noshade> Consiglio, meglio usare una dichiarazione di style, in linea o su foglio esterno creando una classe o un identificatore e richiamare questo dal tag hr: hr { height: 3px; width: 70%; } <Hx>...<Hx> Titoli - è possibile avere sei livelli di titolo che dimensionano i caratteri. Il più alto livello è <H1> scalano a salire tutti gli altri: <H1>...</H1> Grassetto, carattere molto grande e centrato, una o due righe vuote sopra e sotto. <H2>...</H2> Grassetto, carattere grande a sinistra, una o due righe vuote sopra e sotto. <H3>...</H3> Corsivo, carattere grande leggermente rientrato sul margine sinistro, una o due righe vuote sopra e sotto. <H4>...</H4> Grassetto, carattere normale, rientro maggiore rispetto a H3, una riga vuota sopra e sotto. <H5>...</H5> Corsivo, carattere normale, rientro normale come H4, una riga vuota sopra. <H6>...</H6> Grassetto, rientro come testo normale ma più di H5, una riga vuota sopra. Consiglio, è possibile ridefinire in un foglio di stile CSS i vari tags <h1>, <h2>, <h3>, <h4>, <h5>, <h6> inserendo tutte le personalizzazioni che si desiderano, basterà poi richiamarlo alla solita maniera per avere un risultato decisamente diverso che definirei molto più versatile e comodo. h1{ font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 16pt; color: #006400; font-style: italic; text-indent: 12pt; } <P>...</P> L'elemento <P> specifica un paragrafo di testo, ha come attributo ALIGN che permette di allineare il testo in quattro possibili modi: CENTER, LEFT, RIGHT, JUSTIFY, rispettivamente per: Centrato, a sinistra, a destra e giustificato. Viene adoperato prevalentemente con l'attributo CLASS che richiama una classe di style in modo da avere paragrafi con font, colori e formattazioni personalizzate. Si veda a questo proposito le spiegazioni relative ai fogli di stile. <p align="left">Questo paragrafo è allineato a sinistra.</p> Questo paragrafo è allineato a sinistra. <p align="right">Questo paragrafo invece è allineato a destra.</p> Questo paragrafo invece è allineato a destra. <p align="center">Questo paragrafo è allineato al centro.</p> Questo paragrafo è allineato al centro. <p align="justify">Questo paragrafo è allineato al centro con giustificazione.</p> Questo paragrafo invece è allineato al centro con giustificazione, che cosa è la giustificazione ? Guardate attentamente i due margini, destro e sinistro, come potete notare il testo è allineato sia a destra che a sinistra; per fare questo il comando aggiunge in automatico degli spazi fra le parole. Consiglio, è possibile ridefinire il tag <p> all'interno di un foglio di stile (CSS) o creare una apposita classe ed inserire tutte le varie personalizzazioni, basterà poi richiamare questa classe per avere un risultato uguale su tutti i paragrafi della pagina web. p{ font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 16pt; color: #006400; text-indent: 12pt; } <B>...</B> L'elemento <B> specifica un blocco di testo da mostrare in grassetto (bold). Risultato simile si ottiene anche con <STRONG>...</STRONG> Questa guida è offerta da <b> Web-Link </b> tutto per la tua pagina web. Questa guida è offerta da Web-Link tutto per la tua pagina web. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style. TT: Riproduce come testo di telescrivente o a spaziatura fissa. I: Riproduce come stile corsivo del testo. B: Riproduce come stile grassetto del testo. BIG: Riproduce il testo con un carattere "grande". SMALL: Riproduce il testo con un carattere "piccolo". STRIKE e S:Disapprovato. Riproduce il testo come se fosse cancellato con un frego. U:Disapprovato. Riproduce del testo sottolineato. <U>...</U> L'elemento <U> specifica un blocco di testo da mostrare sottolineato (underline). Questa guida è offerta da <u> Web-Link </u> tutto per la tua pagina web. Questa guida è offerta da Web-Link tutto per la tua pagina web. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style. TT: Riproduce come testo di telescrivente o a spaziatura fissa. I: Riproduce come stile corsivo del testo. B: Riproduce come stile grassetto del testo. BIG: Riproduce il testo con un carattere "grande". SMALL: Riproduce il testo con un carattere "piccolo". STRIKE e S:Disapprovato. Riproduce il testo come se fosse cancellato con un frego. U:Disapprovato. Riproduce del testo sottolineato. <I>...</I> L'elemento <I> specifica un blocco di testo da mostrare in corsivo (italic). Risultato simile si ottiene anche con <EM>...</EM> Questa guida è offerta da <i> Web-Link </i> tutto per la tua pagina web. Questa guida è offerta da Web-Link tutto per la tua pagina web. Gli elementi possono essere fra loro nidificati, combinando i vari attributi, per esempio posso scrivere weblink in modo marcato, inclinato e sottolineato: Questa guida è offerta da <U><I><B> Alberto </B></I></U> tutto per la tua pagina web. Questa guida è offerta da Alberto tutto per la tua pagina web. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style. TT: Riproduce come testo di telescrivente o a spaziatura fissa. I: Riproduce come stile corsivo del testo. B: Riproduce come stile grassetto del testo. BIG: Riproduce il testo con un carattere "grande". SMALL: Riproduce il testo con un carattere "piccolo". STRIKE e S:Disapprovato. Riproduce il testo come se fosse cancellato con un frego. U:Disapprovato. Riproduce del testo sottolineato. <PRE>...</PRE> L'elemento <PRE> specifica un blocco di testo preformattato, cioè a larghezza e spaziatura fissa. Attenzione: talmente fissa che non torna neppure a capo se non con il comando <br>. <pre> Questo è un testo preformattato che manterrà una certa spaziatura indipendentemente <br> dai vari parametri di pagina </pre> Questo è un testo preformattato che manterrà una certa spaziatura indipendentemente dai vari parametri di pagina Le immagini Cosa sarebbe una pagina web senza immagini? Impossibile anche solo pensarlo. Questo elemento è senza alcun dubbio di primaria importanza. I formati supportati dal www sono diversi e variano a seconda del browser adoperato, diciamo che .gif .jpg e .png sono quelli riconosciuti ufficialmente da tutti i browser e non si dovrebbero usare formati diversi da questi. <IMG...> L'elemento <img> necessita di attributi, di cui almeno uno necessariamente obbligatorio: src, a differenza di molti altri elementi html (tags), questo non ha bisogno di essere concluso dallo stesso elemento preceduto dalla barra retroversa </img>. vediamo gli attributi più comuni: SRC L'attributo src è indispensabile per l'elemento img, senza di questo non funzionerebbero neppure tutti gli altri. Permette di specificare il nome dell'immagine da visualizzare quando questa si trovasse nella stessa cartella (dir) in cui è presente la pagina web che la richiama. E' possibile specificare anche percorsi (path) fatti da cartelle (directory) e/o sottocartelle (subdirectory) compresi gli URL assoluti richiamanti l'immagine da altri siti. Il tag img src può essere adoperato anche all'interno del tag <a href (ancora o link), potrà essere cliccato come un normale link testo. Questa la sintassi: <img src="nome_immagine.jpg"> o anche <img src="http://www.weblink.it/nome_immagine.jpg"> ALIGN L'attributo align permette di specificare l'allineamento dell'immagine rispetto alla riga di testo successiva, i valori ammessi sono: left, right, top, middle, baseline e bottom. I due valori principali left e right fanno si che l'immagine diventi di tipo flottante, vediamo come: align="left" Allinea l'immagine sul bordo sinistro della finestra di visualizzazione del browser, il testo che segue circonda la parte destra dell'immagine. Allineamento di tipo left, il contorno immagine e stato riempito volutamente per meglio risaltare questo tipo di allineamento. Provate a variare le dimensioni della finestra del browser per meglio capire l'allineamento. align="right" Allinea l'immagine sul bordo destro della finestra di visualizzazione del browser, il testo che segue circonda la parte sinistra dell'immagine. Allineamento di tipo right il contorno immagine e stato riempito volutamente per meglio risaltare questo tipo di allineamento. Provate a variare le dimensioni della finestra del browser per meglio capire l'allineamento. Consiglio: meglio usare una dichiarazione di style, in linea o su foglio esterno creando una classe o un identificatore e richiamare questo dal tag img usando la proprietà float: img { float: left; } valori per float sono: left, right, none, inherith align="top" Allinea il testo che segue l'immagine con la parte superiore dell'elemento più alto nella riga. Allineamento di tipo top il contorno immagine e stato riempito volutamente per meglio risaltare questo tipo di allineamento. Provate a variare le dimensioni della finestra del browser per meglio capire l'allineamento. align="middle" Allinea la linea di base della riga corrente con la parte centrale dell'immagine. Allineamento di tipo middle il contorno immagine e stato riempito volutamente per meglio risaltare questo tipo di allineamento. Provate a variare le dimensioni della finestra del browser per meglio capire l'allineamento. align="bottom" Allinea il testo che segue l'immagine con la parte inferiore dell'elemento più basso nella riga di testo. Allineamento di tipo bottom il contorno immagine e stato riempito volutamente per meglio risaltare questo tipo di allineamento. Provate a variare le dimensioni della finestra del browser per meglio capire l'allineamento. Alcuni attributi sembrano gli stessi di altri, è vero, ma ognuno svolge una funzione differente. L'importante è farsi un'idea, ognuno di noi poi adopererà quello che riterrà più adatto alle proprie esigenze. Consiglio: meglio usare una dichiarazione di style, in linea o su foglio esterno creando una classe o un identificatore e richiamare questo dal tag img usando la proprietà vertical-align: img { vertical-align: top; } valori per vertical-align sono: baseline, middle, top, super, sub, text-top, bottom e text-bottom ALT L'attributo alt (alternativa alla grafica), permette di specificare un testo per quei browser non grafici. Viene adoperato per descrivere l'immagine e non va confuso con title spiegato sotto. Il testo apparirà nel caso in cui l'immagine non venisse caricata, per questo motivo l'attributo ALT diventa obbligatorio ai fini di una validazione del W3C. Questo il codice: <img src="tarta.jpg" alt="Questa è una tartaruga"> Ho volutamente tolto l'immagine e come potete vedere al suo posto c'è il testo alternativo immesso con l'attributo ALT. TITLE L'attributo Title (titolo), permette di specificare un testo che descriva l'immagine, simile ad alt viene interpretato correttamente a prescindere se l'immagine grafica sia visibile o meno. Questo il codice: <img src="tarta.jpg" title="Ciao sono una tartaruga"> Provate a posizionare il mouse sull'immagine, sarà così possibile leggere il testo immesso con l'attributo Title. BORDER L'attributo border permette di specificare lo spessore del bordo intorno all'immagine. Risulta utile impostare border="0" quando l'immagine fa parte di un collegamento (link o ancora) e non si vuole visualizzare quel bordino azzurro di default, tipico delle immagini facenti parte di un link. Questo il codice: <img src="tarta.jpg" border="3"> Si noti lo spessore del bordo dell'immagine che in questo caso è stato impostato come spessore 3. Consiglio: meglio usare una dichiarazione di style, in linea o su foglio esterno creando una classe o un identificatore e richiamare questo dal tag img usando la proprietà border: img { border: 3px solid #ff0000; } Per non avere un bordo sulle immagini linkate si usa border: none. E' possibile specificare il tipo di bordo, per esempio solid o anche il colore, per esempio #ff0000. VSPACE e HSPACE L'attributo VSPACE così come l'attributo HSPACE vengono adoperati nelle immagini flottanti, cioè quelle immagini allineate con left e right, servono ad impostare rispettivamente degli spazi verticali ed orizzontali (vertical space ed horizontal space) fra il testo e l'immagine stessa, ed anche fra l'immagine e la sua cornice. Un esempio chiarirà sicuramente meglio:. Questa la sintassi: <img src="tarta.jpg" hspace="25"> ho impostato uno spazio orizzontale di 25 pixel. Questa la sintassi: <img src="tarta.jpg" vspace="25"> ho impostato uno spazio verticale di 25 pixel. Questa la sintassi: <img src="tarta.jpg" hspace="25" vspace="25"> ho impostato uno spazio orizzontale ed uno spazio verticale entrambi di 25 pixel. Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno usando la proprietà float insieme a quella padding: { float: left; padding: 25px 10px 35px 5px; } Avendo il pieno controllo sui quattro lati in modo indipendente grazie alla proprietà padding WIDTH e HEIGHT L'attributo WIDTH, così come l'attributo HEIGHT, vengono adoperati per specificare le dimensioni orizzontale e verticale dell'immagine; se omessi il browser impiegherà più tempo per calcolare l'area sulla quale disporre eventuale testo, per questo motivo conviene impostare sempre questi valori, visto poi che sono noti. Si possono impostare anche valori diversi da quelli reali nel caso in cui si volesse adattare l'immagine a certe dimensioni, compreso un'eventuale distorsione. Questa la sintassi: <img src="tarta.jpg" width="114" height="75"> ho impostato le dimensioni orizzontali e verticali dell'immagine. potrei decidere di modificare l'immagine assegnando valori diversi da quelli reali, come in questo caso: <img src="tarta.jpg" width="60" height="35"> ho impostato le dimensioni orizzontali a 60 px e verticali a 45 px. Potrei deformare l'immagine assegnando valori sproporzionati, come in questo caso: <img src="tarta.jpg" width="35" height="60"> ho impostato dimensioni orizzontali 50 px e verticali 100 px. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style. { width: 114px; } Con i CSS è possibile esprimere le dimensioni anche in em o in percentuale USEMAP L'attributo USEMAP viene adoperato per indicare che l'immagine è una mappa d'immagine sul lato client. Cosa significa mappa di immagini ? E' possibile suddividere un'immagine in diverse aree tipo una mappa, da qui appunto il nome. Associare ad ognuna di queste aree la possibilità di richiamare un link diverso. In pratica la stessa immagine usata come link è in grado di richiamare links diversi a seconda del punto in cui viene cliccata. Se l'argomento USEMAP inizia con un simbolo # si assume che la descrizione della mappa si trovi nello stesso documento in cui si trova il tag IMG; risulta infatti possibile avere la definizione della mappa anche su un file di testo separato. Questo un esempio: <img src="../img/tarta.jpg" usemap="map.htm#mappa1" > Questo codice utilizza la mappa descritta come mappa1 in map.htm, per il file di immagine tarta.jpg Le aree attive dell'immagine vengono descritte adoperando i tags MAP e AREA <MAP>...</MAP> L'elemento MAP descrive ciascuna delle aree dell'immagine a cui è stata assegnata una mappa, e indica la posizione del documento da scaricare quando viene attivata l'area definita. Questo un esempio: <map name="nome"> < area [shape="forma"] coords="x,y,..." [href="riferimento"] [nohref] > </map> dove: nome specifica il nome della mappa in modo che USEMAP possa fare riferimento ad essa. forma fornisce la forma dell'area specificata es. RECT per rettangolo. Nel caso si omettesse l'attributo SHAPE viene assunto SHAPE="RECT" per default, le altre forme sono circle e poly. L'attributo COORDS fornisce le coordinate nella forma utilizzando pixel dell'immagine come unità. Per un rettangolo le coordinate vengono fornite - sinistro, alto, destro, basso - L'area rettangolare definita comprende l'angolo inferiore destro specificato , se per esempio si volesse specificare l'intera area di una immagine 100 x 100 pixel le coordinate saranno:"0,0,99,99" HREF richiama il link ad esso associatoNOHREF indica che eventuali clic in questa zona non richiameranno alcun link. <AREA> L'elemento AREA specifica le diverse aree, nel caso in cui due aree si intersecano quella che appare per prima nella definizione avrà prevalenza. Vediamo un esempio per riassumere il tutto: <map name="tartaruga"> < area shape="circle" coords="57,65,14" href="interno.htm"> < area shape="rect"coords="13,2,99,37" href="guscio.htm"> < /map> < img src="../img/tarta.jpg" usemap="#tartaruga"> Provate a cliccare sulla testa o sul guscio della tartaruga, per andare rispettivamente ad inizio o fine di questo documento. Non so bene se funzioni con tutti i browser, alcuni infatti supportano solo RECT e non CIRCLE e POLY. Questa spiegazione ha il solo scopo di chiarire meglio il funzionamento di una immagine suddivisa in mappa. Per la sua realizzazione nessuno ricorre ai comandi manuali, i programmi in grado di generare mappe da un'immagine sono infatti ormai moltissimi. Esistono anche editors HTML in grado di generare automaticamente codice per mappe cliccabili, sarà sufficiente tracciare le aree da cliccare, esattamente come adoperare un programma di grafica. Links o Ancore Una pagina senza Links (ancore) non sarebbe una pagina web. La vera forza delle pagine web è proprio quella di agganciare ed essere a sua volta agganciate alle altre pagine rendendo tutta la rete un unico grande documento. Quando cliccate sopra un link azionate un meccanismo, di fatto interagite con la pagina web. Questo meccanismo potrebbe essere semplicemente un cambio pagina o l'inizio dello scaricamento di un file o l'apertura del vostro programma di posta elettronica preferito per inviare mail. Tutte queste azioni sono gestite dal tag ancora <A> di sicuro uno dei tags più importanti di HTML <A>...</A> L'elemento <A> necessita di uno dei due attributi possibili, e cioè NAME o HREF, da solo infatti non servirebbe a nulla. Vediamo questi due attributi: NAME L'attributo NAME serve per creare una specie di etichetta, questa viene collocata nel punto esatto in cui è stata creata, sarà poi possibile richiamarla con l'elemento <A> seguito dall'attributo HREF. In questo modo anziché richiamare una pagina richiameremo quel punto preciso dove si trova l'etichetta. Complicato? Con NAME si crea un punto nel documento e con HREF="#nome assegnato al name" si raggiunge quel punto, praticamente un collegamento ipertestuale normalissimo con la sola differenza che anziché richiamare una nuova pagina se ne richiama anche o un punto preciso della stessa. Vediamo un esempio: <a name="weblink"></a> Così facendo ho creato un'etichetta col nome weblink L'etichetta risulterà essere completamente trasparente alla pagina web, cioè non si vedrà nulla a video. Fatto questo non resta che richiamarla da qualsiasi altra parte del documento o da qualsiasi altra pagina web. Il link cliccato sposterà la visualizzazione nel punto preciso dove è stata creata e collocata l'etichetta. Poco più avanti, spiegando le varie possibilità di HREF, sarà possibile avere una dimostrazione pratica di come funziona l'etichetta WebLink appena creata. HREF L'attributo HREF (Hypertext REFerence) all'interno dell'elemento <A> trasforma in un collegamento ipertestuale il testo o l'immagine che segue fino alla chiusura dell'elemento con </A>. Generalmente il testo o la cornice dell'immagine diventa di colore blu sottolineato salvo diverse impostazioni volute all'interno dell'elemento <body> o di un CSS. Questo per meglio evidenziare che si tratta di un collegamento, il cursore del mouse una volta posizionato sopra la scritta (o l'immagine usata) si trasformerà in una piccola mano col dito indice teso pronto a premere il link. Vediamo quali sono le diverse forme per questo attributo: Deprecato, per cambiare colore ai links meglio usare una dichiarazione di style, in linea o su foglio esterno: a:link {color: #0000cc;} a:visited {color: #009900;} con possibilità di eliminare la sottolineatura grazie alla proprietà: text-decoration: none; Nota:, in aggiunta alle due pseudoclassi: link e visited ne esistono altre dinamiche quali: hover focus ed active. Molto interessante hover che permette di rendere dinamico il passaggio del mouse sopra ad un link creando un effetto di animazione, come per esempio un semplice cambio di colore. a:link { ~ } a:visited { ~ } a:hover { ~ } a:focus { ~ } a:active { ~ } Per evitare conflitti le pseudoclassi dovranno essere inserite nell'ordine sopra riportato. Se infatti venisse dichiarata prima hover di visited quando si passa col cursore del mouse su un link già visitato questo non farebbe alcun cambiamento legato ad hover avendo prevalenza la pseudoclasse visited. Questo simbolo # (pound o cancelletto) seguito dal nome che è stato assegnato con l'attributo NAME permette di saltare nel punto esatto in cui l'etichetta è stata posizionata, si veda la spiegazione di NAME un paio di righe sopra. Vediamo un esempio pratico: <a href="#weblink"></a> Clicca su questa scritta per saltare all'etichetta WebLink definita sopra. Si possono richiamare punti precisi presenti su altre pagine web, facendo precedere al nome dell'etichetta creata con name, il nome della pagina o l'intero percorso: <a href="http://web-link.it/html/link.htm#weblink"></a> http:// questo tipo di ancora è senza dubbio la più adoperata e serve per richiamare altre pagine. E' sufficiente specificare l'intero percorso. Vediamo un esempio pratico: <a href="http://www.web-link.it"></a> Clicca su questa scritta per accedere a WebLink tutto per la tua pagina web. mailto: questo tipo di ancora serve per ricevere un msg nella propria casella postale, oltre all'indirizzo è possibile impostare anche il subject della mail ed il corpo della mial stessa, infatti questo collegamento richiama il programma client di posta elettronica adoperato dal navigatore. Vediamo qualche esempio pratico: <A HREF="mailto:Tuo_Nome@Server_di_posta.it"></A> Clicca su questa scritta per inviare una e-mail E' possibile impostare anche il subject, si dovrà aggiungere un punto interrogativo e la parola subject dopo l'indirizzo. Questo un esempio: <a href="mailto:Tuo_Nome@Server_di_posta.it?subject=La tua guida HTML"></a> Per inviare una mail con soggetto: la tua guida HTML Infine è possibile impostare anche il corpo del messaggio, aggiungendo &body= quindi il corpo del messaggio. Questo un esempio: <a href="mailto:Tuo_Nome@Server_di_posta.it?subject=La tua guida HTML&body=corpo della e-mail"></a> Per inviarmi una mail con soggetto: la tua guida HTML e al suo interno parte del messaggio preconfezionato con la frase: tutto quello che vi pare dalla guida html Queste le altre forme che sono ammesse dall'attributo HREF: <a href="nome_pagina.html">Realizza un collegamento ad una pagina che si trova nella stessa cartella <a href="http://www.nome_server.it/nome_pagina.html">Realizza un collegamento ad una pagina che si trova in un server web <a href="ftp://nome_del_server.it">Realizza un collegamento di tipo FTP <a href="gopher://nome_del_server.com">Realizza un collegamento ad un server gopher <a href="mailto:indirizzo@di_posta.it">Realizza un collegamento al client di posta elettronica (per farsi scrivere dal proprio sito una e-mail) <a href="news:...">Realizza un collegamento a NewsGroup Usenet <a href="nome_file.zip">Realizza un collegamento ad un file da scaricare in formato compresso (zip o rar) che avvierà un download Ci sono anche altre forme quali newsrc:... nntp://... telnet://... wais://... ma credo siano adoperate molto raramente. TARGET L'attributo TARGET serve per aprire il collegamento su un frame diverso da quello in cui si trova. Ovviamente questo attributo è adoperato solo in caso di un sito strutturato in frames, è utile specialmente per chi avendo un menu laterale voglia fare in modo che i links richiamati dal menu siano visualizzati sulla pagina principale. Per fare questo si dovrà specificarne il nome, quello che è stato assegnato al frame. Ipotizziamo di avere con nome home il frame principale , volendo fare in modo che il link venga aperto su quel frame questa la sintassi: <a href="http://www.web-link.it" target="home"></a> Nel caso in cui non esistesse un frame con nome home verrà aperta una nuova finestra del browser. Le altre possibili destinazioni sono: _blank: Apri _self: Apri _parent: Apri _top: Apri il il il il collegamento collegamento collegamento collegamento su una nuova finestra. sulla finestra che ha generato il collegamento sul frame di origine o su quello corrente al livello superiore Le Tabelle Non servono soltanto per incolonnare e tabulare i dati come si potrebbe facilmente pensare. Le tabelle se sapientemente sfruttate permettono una precisa impaginazione di tutti gli elementi che compongono la pagina web, siano questi semplici testi, immagini o qualsiasi altra cosa. Un esempio è questa mia guida che è impaginata proprio con l'uso delle tabelle. Ci sono elementi ed attributi ad uso esclusivo dei soli browser IE, alcuni li ho volutamente trascurati oltre che per la loro esclusiva anche perchè personalmente li ritengo inutili. Chi sono per poter giudicare cosa serve e cosa non serve? Nessuno, non sono nessuno... ma se pensate che potevano esservi utili potete sempre ricredervi più avanti :-) <TABLE>...</TABLE> Una tabella inizierà sempre con questo elemento: <TABLE> e finirà con </TABLE> delimitatore della tabella stessa. Questo elemento da solo non dice nulla, necessita di una definizione di celle e colonne che vedremo più avanti. Sono molti gli attributi che si possono assegnare a table: <table> attributi assegnabili all'elemento table: align bgcolor border cellpadding cellspacig frame rules summary width background bordercolor evidenziati in giallo gli bordercolordark attributi proprietari di singoli bordercolorlight browser dei quali si sconsiglia height l'utilizzo. Si inseriscono lasciando uno spazio vuoto fra la scritta table e la sua chiusura > gli attributi possono essere più di uno e specificati uno di seguito all'altro. ALIGN Consente di specificarne l'allineamento della tabella rispetto al documento, con le seguenti possibilità: Center, Left e Right rispettivamente per centrato, a sinistra, a destra. E' possibile applicarlo oltre che all'elemento <TABLE> anche agli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH> descritti più avanti. BACKGROUND Permette di avere un'immagine come sfondo della tabella, è possibile applicarlo oltre che all'elemento <TABLE> anche agli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH> descritti più avanti. Si possono utilizzare come immagini di sfondo i vari tipi di file grafici consentiti dal web: gif, jpg, png. Attributo proprietario di alcuni browser non riconosciuto dal W3C ma approvato se inserito in un CSS <table background="immagine_di_sfondo.jpg"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno riconosciuta da tutti i browser: table { background-image: url(immagine_di_sfondo.jpg); } BGCOLOR Permette di avere un colore in tinta unita come sfondo della tabella, è possibile applicarlo oltre che all'elemento <TABLE> anche agli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH> descritti più avanti. Il colore può essere espresso col suo nome in lingua inglese o con la solita tripletta di numeri esadecimali. A questo proposito su questa pagina è possibile vedere 140 colori di base. E' possibile applicarlo oltre che all'elemento <TABLE> anche agli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH> descritti più avanti. <table bgcolor="Yellow"> <table bgcolor="#ffa500"> BORDER Permette di avere un bordo perimetrale che contorna tutte le celle facenti parte della tabella; è possibile impostarne anche lo spessore. Alcuni browser in mancanza di questo attributo lasciano un piccolo spazio pur non facendo vedere alcun bordo, per recuperare quello spazio è necessario impostare il border a zero. <table border ="1"> <table border ="5"> <table border ="10"> Consiglio, è preferibile usare questi attributi all'interno dei fogli di style dove oltre allo spessore del bordo è possibile scegliere il tipo ed il colore del bordo stesso. table { border: solid 3px #000000; } <table con richiamo al CSS> <table con richiamo al CSS> BORDERCOLOR Permette di selezionare il colore del bordo, questo attributo supportato solo da IE per funzionare deve necessariamente avere impostato anche l'attributo border, il colore può essere espresso col suo nome in lingua inglese o con la solita tripletta di numeri esadecimali. A questo proposito su questa pagina è possibile vedere 140 colori di base. Attributo proprietario di alcuni browser non riconosciuto dal W3C ma approvato se inserito in un CSS. <table border="1" bordercolor="Red"> Deprecato, meglio usare una dichiarazione di style, in linea o su foglio esterno riconosciuta da tutti i browser: table { border: double 3px #ff0000; } BORDERCOLORDARK Permette di selezionare il colore più scuro su un bordo (l'opposto di BORDERCOLORLIGHT); creando un effetto di luce. Questo attributo supportato soltanto da IE per funzionare deve necessariamente avere impostato anche l'attributo border. Meglio fare uso dei CSS con i quali è possibile ottenere un effetto simile ma visto da tutti i tipi di browser. BORDERCOLORLIGHT Permette di selezionare il colore più chiaro su un bordo (l'opposto di BORDERCOLORDARK); creando un effetto di luce. Questo attributo supportato soltanto da IE per funzionare deve necessariamente avere impostato anche l'attributo border. Meglio fare uso dei CSS con i quali è possibile ottenere un effetto simile ma visto da tutti i tipi di browser. CELLPADDING Specifica la quantità di spazio vuoto lasciato tra i bordi delle celle di una tabella e il dato vero e proprio in esse contenuto, il valore per default è 2 , quindi per tabelle più compresse si dovrà impostare cellpadding uguale a zero. <table cellpadding="0"> <table cellpadding="0"> Consiglio, è preferibile usare questi attributi all'interno dei fogli di style dove cellpadding è sostituito dalla proprietà padding. td { padding: 10px; } CELLSPACING Specifica la quantità di spazio vuoto da lasciare tra le singole celle di dati di una tabella, il valore per default è 2, per tabelle più compresse si dovrà impostare cellspacing uguale a zero . <table cellspacing="0"> <table cellspacing="0"> <table cellspacing="10"> <table cellspacing="10"> Consiglio, è preferibile usare questi attributi all'interno dei fogli di style dove cellspacing è sostituito dalla proprietà border-spacing. { border-spacing: 10px; } IE non supporta la proprietà border-spacing che regola lo spazio fra i bordi delle celle e fra il bordo delle celle e quello della tabella. Per eliminare questo spazio esiste la proprietà border-collapse che accetta due valori: separate e collapse, rispettivamente per separare o unire le celle: HEIGHT Permette di specificare l'altezza della tabella, può essere in pixel o in percentuale dell'altezza della finestra del browser che la visualizza. Questo attributo è supportato soltanto dai browser IE e non riconosciuto dal W3C. Diventa un attributo valido se applicato ai singoli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH>. <table height="50"> SUMMARY A differenza di caption serve per una descrizione più lunga e dettagliata a beneficio soprattutto di quei browser non grafici che fanno uso di programmi vocali o con sistema Braille. <table summary="descrizione dettagliata"> WIDTH Permette di specificare la larghezza della tabella, che può essere in pixel o in percentuale della larghezza della finestra del browser che la visualizza. E' possibile applicarlo oltre che all'elemento <TABLE> anche agli elementi che costituiscono la struttura della tabella stessa quali: <TD> e <TH> descritti più avanti. <table width="300"> <table width="25%"> Provate a variare le dimensioni della vostra finestra del browser, quella in cui state vedendo questa pagina, noterete che anche la larghezza della tabella espressa in percentuale varia mantenendo il 25% di visualizzazione specificato. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style dove width è sostituito dalla proprietà width. { width: 350px; width: 50%; } <CAPTION>...</CAPTION> L'elemento <caption> rappresenta la didascalia della tabella, deve trovarsi all'interno della tabella subito dopo table e non all'interno di righe (tr) o di celle (td). < table> <caption align="attributo">Didascalia della tabella</caption> < tr><td>cella</td></tr>< /table> align di caption L'attributo ALIGN imposta la posizione della didascalia rispetto alla tabella. Gli attributi possibili sono TOP, BOTTOM, LEFT e RIGHT. rispettivamente per: Didascalia con align top 1 2 3 4 5 6 Didascalia con align right 1 2 3 4 5 6 Didascalia con align left 1 2 3 4 5 6 1 2 3 4 5 6 Didascalia con align bottom VALIGN Permette di specificare l'allineamento verticale del testo visualizzato all'interno delle celle di una tabella, i valori attribuibili sono: middle, top, baseline, bottom. baseline middle testo che serve solo per evidenziare le bottom altre quattro celle che Top contengono un allineamento verticale Consiglio, è preferibile usare questi attributi all'interno dei fogli di style con la proprietà text-align: { vertical-align: top; } ALIGN Permette di specificare l'allineamento orizzontale del testo visualizzato all'interno delle celle di una tabella, i valori attribuibili sono: left, right, center,char e justify center char . con riferimento al punto nella nostra lingua italiana left right justify - Testo giustificato su entrambi i lati, per poterlo notare la quantità di testo deve tornare a capo nella cella. Consiglio, è preferibile usare questi attributi all'interno dei fogli di style con la proprietà text-align: { text-align: justify; } HEIGHT Permette di specificare l'altezza della cella, può essere espresso in pixel o in percentuale dell'altezza della tabella. Più celle affiancate avranno tutte l'altezza max specificata in una delle celle della stessa riga. <td height="50"> <td height="50"> < td height="10"> <td height="10"> < td height="10"> WIDTH Permette di specificare la larghezza della cella, che può essere espresso in pixel o in percentuale della larghezza della tabella. Più celle incolonnate avranno tutte la larghezza max specificata in una delle celle della stessa colonna. <td width="300"> <td width="300"> <td width="100"> <td width="100"> <td width="100"> <TR>...</TR> Questo tag inserito all'interno di table definisce l'inizio di una riga della tabella, significa che il numero di righe di una tabella è pari al numero di elementi TR in essa contenuti. Supporta molti degli attributi di TABLE e di TD. A differenza di TD non contiene dati al suo interno in quanto serve solo per creare la struttura, non hanno quindi ragione di esistere attributi quali BGCOLOR o BACKGROUND che se occorrono potranno essere definiti nel tag TD inserito all'interno di TR stesso. <tr><td>questa è una riga con una cella </td></tr> <tr><td>queste sono due righe </td></tr> <tr><td>con una cella per riga </td></tr> <TH>...</TH> Questo tag inserito all'interno di table e di tr definisce la cella intestazione della tabella. Praticamente il testo all'interno di questo tag sarà in neretto, supporta tutti gli attributi di TABLE e di TD. Attenzione all'attributo NOWRAP, se presente impedisce il ritorno a capo del contenuto della cella forzando questa a mantenere le dimensioni necessarie per contenere tutto il testo su una sola riga. Necessita di essere racchiuso fra i tags <TR> e </TR> esattamente come TD <table> <tr><th> questa la cella th </th></tr> <tr><td> questa la cella td </td></tr> </table> Questo il risultato questa la cella TH questa la cella TD <TD>...</TD> Questa coppia di tags inseriti all'interno di table e di tr definiscono la cella vera e propria della tabella, TD supporta tutti gli attributi di TABLE; quindi non soltanto i vari allineamenti ma è possibile avere anche colori e/o immagini di sfondo e volendo tutti diverse fra le singole celle. Attenzione però, a differenza di table è possibile adoperare anche l'attributo NOWRAP, che se presente impedisce il ritorno a capo del contenuto della cella, forzando questa a mantenere le dimensioni necessarie per contenere tutto il testo su una sola riga. Questo tag è di norma preceduto dal tag <tr> che definisce l'inizio della riga. All'interno di una stessa tabella si dovranno definire lo stesso identico numero di celle, a meno che non si faccia uso dell'attributo COLSPAN che sarà visto più avanti. <tr><td>questa è una cella </td></tr> <tr><td>queste sono due</td> <td>queste sono due</td></tr> <tr><td>queste sono tre</td> <td>queste sono tre</td></tr> <td>queste sono tre</td></tr> E così via... Il tutto rigorosamente all'interno dei tags <table> e </table> e di <tr> e </tr>. Ho reso visibile il bordo per permettere di capirne meglio il funzionamento, molto spesso invece il bordo è impostato a zero in modo da usare la tabella solo come struttura portante dei dati. Oggi con XHTML e l'uso dei box non sarebbe forse più necessario ma vi assicuro che è e resta comunque una buona tecnica di impaginazione. Le tabelle si possono nidificare, cioè è possibile mettere delle tabelle all'interno di celle di altre tabelle creando così strutture più complesse che si adattano perfettamente a qualsiasi tipo di impaginazione voluta. Potrebbero persino contenere parti di immagini che si ricompongono cella per cella come se si trattasse di un puzzle. Anzi, per immagini di grosse dimensioni vengono ancora oggi adoperate a questo scopo per non creare lunghe attese di caricamento. ROWSPAN e COLSPAN Come già accennato le tabelle, salvo casi particolari, hanno un numero di celle uguale per ogni riga se per esempio su una riga abbiamo tre celle si dovranno avere tre celle per ogni altra riga precedente e seguente. Fortunatamente però è possibile intervenire sulla struttura facendo in modo che una cella sia più larga o più lunga delle altre in modo da occupare lo spazio delle celle che mancano o che vengono tolte. in parole povere avremo sempre una forma rettangolare o quadrata della struttura ma al suo interno le celle potranno essere accomodate. Se così non fosse sarebbero piuttosto rigide nel loro utilizzo e sicuramente poco utilizzabili dal lato pratico. Gli attributi COLSPAN e ROWSPAN servono proprio a spezzare queste regole e dare la possibilità di modificarle a proprio piacimento, si tratta di avere le idee chiare su come dovrà essere fatta questa tabella, prima di passare alla sua realizzazione. Vediamo alcuni esempi che chiariranno certamente meglio il concetto. <table> <tr><td> riga 1 cella 1 </td><td>riga 1 cella 2 </td></tr> <tr><td> riga 2 cella 3 </td><td> riga 2 cella 4 </td></tr> </table> Questo sotto il risultato riga 1 cella 1 riga 1 cella 2 riga 2 cella 3 riga 2 cella 4 Risulta intuitivo che se servisse una tabella con 16 celle si potrebbe disporla su 4 righe con 4 celle, oppure due righe con 8 celle, o anche 8 righe con 2 celle. E perchè no 16 righe da una sola cella. Quando però la tabella non è più regolare, per esempio nel caso servano 7 celle e dove magari la prima di dimensioni maggiori, per mettere al suo interno un'intestazione o altro... come fare? ROWSPAM e COLSPAN servono proprio a questo, a modificare il numero di righe e colonne mantenendone la struttura regolare a forma di quadrato o di rettangolo, vediamo un esempio. La tabella regolare prevede due <tr> ed otto <td>, praticamente quattro celle (colonne) per ogni riga. questo il risultato: riga 1 cella 1 riga 1 cella 2 riga 1 cella 3 riga 1 cella 4 riga 2 cella 5 riga 2 cella 6 riga 1 cella 7 riga 1 cella 8 Adesso al primo td, quello della cella 1 riga uno, applichiamo l'attributo ROWSPAN seguito dal numero 2, così facendo la tabella espanderà la colonna cella 1 di due righe (row) in modo che prenda 2 posti, quindi si fonderà con la cella sottostante che di fatto noi non avremo dichiarato nella seconda riga per lasciare il posto alla cella sopra espansa con rowspan. Questo il listato ed anche l'esempio pratico: < table> <tr><td rowspan="2">riga 1 e 2 cella 1</td><td> riga 1 cella 2 </td><td> riga 1 cella 3 </td><td> riga 1 cella 4 </td></tr> < tr><td> riga 2 cella 5 </td><td> riga 2 cella 6 </td><td> riga 2 cella 7 </td></tr> < /table> riga 1 e 2 riga 1 cella 2 riga 1 cella 3 riga 1 cella 4 cella 1 riga 2 cella 5 riga 2 cella 6 riga 2 cella 7 Vediamo adesso lo stesso esempio ma facendo in modo che la prima cella si espanda in orizzontale, quindi non più rowspan (righe) ma colspan (colonne). Sarà impostata in modo che dovrà essere di dimensioni pari a 4 celle. Tornando al primo td, quello della cella 1 riga 1, e richiamando l'attributo COLSPAN seguito dal numero 4; la tabella espanderà la riga cella 1 in modo da prendere altri 3 posti, quindi occuperà il posto delle celle laterali che non andranno inserite. Questo il listato ed anche l'esempio pratico: < table> <tr><td colspan="4">riga 1 cella 1, 2, 3 e 4 </td></tr> < tr><td> riga 2 cella 1 </td><td> riga 2 cella 2 </td><td> riga 2 cella 3 </td><td> riga 2 cella 4 </td></tr> < /table> riga 1 celle 1, 2, 3 e 4 riga 2 cella 1 riga 2 cella 2 riga 2 cella 3 riga 2 cella 4 avrei potuto fare anche così: riga 1 cella 1 riga 1 celle 2 e 3 riga 1 cella 4 riga 2 cella 1 riga 2 cella 2 riga 2 cella 3 riga 2 cella 4 Dicevo all'inizio di questa sezione che le tabelle possono essere nidificate fra di loro, non ci sono limiti se non quello della propria fantasia e del buon senso. Magari evitate di complicarvi troppo la vita se non ce ne fosse realmente il bisogno. Ecco un altro esempio pratico: <table border="1"> <tr><td rowspan="2"><table align="center" border="2"> <tr> <td>tab 2 rig 1 cel 1</td> <td>tab 2 rig 1 cel 2</td> </tr> <tr> <td>tab 2 rig 2 cel 3</td> <td>tab 2 rig 2 cel 4</td> </tr> </table> </td><td>tab1 riga 1 cella 2</td><td>tab1 riga 1 cella 3</td></tr> <tr><td>tab 1 riga 2 cella 4</td><td>tab1 riga 2 cella 5</td></tr></table> tab 2 rig 1 cel 1 tab 2 rig 1 cel 2 tab1 riga 1 cella 2 tab1 riga 1 cella 3 tab 2 rig 2 cel 3 tab 2 rig 2 cel 4 tab 1 riga 2 cella 4 tab1 riga 2 cella 5 La tabella 2 formata da 4 celle di colore ocra si trova dentro ad una cella della tabella 1 espansa con rowspan 2 Elenchi <UL>, <OL> e <LI> Capita che su una pagina web si abbia la necessità di descrivere voci sottoforma di elenchi puntati, html offre questa possibilità con i tags (UL) elenchi non ordinati, (OL) elenchi ordinati e (LI) per le voci di elenco. Questi tags permettono di ottenere un prodotto finale molto simile a quello che offrono programmi di videoscrittura. <LI> Elemento voce dell'elenco, da solo serve a poco deve essere combinato con altri elementi descritti sotto. Non necessita della chiusura </li> anche se è consigliato metterla. <OL>...</OL> L'elemento <ol> prevede al suo interno l'elemento <li> come voce dell'elenco. Serve per una visualizzazione ordinata e numerata di un elenco puntato. Usato per evidenziare una precisa sequenza nelle voci che compongono la lista. Per esempio i passi da seguire per un principiante che inizi da zero qui su web-link sono: <ol> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ol> Questo il risultato: 1. 2. 3. 4. Primi Passi Guida HTML Guida CSS XHTML con Style TYPE Per default la numerazione segue l'ordine cronologico 1, 2, 3, e così via ma grazie all'attributo type si possono cambiare le voci dell'elenco di una lista ol in uno dei seguenti modi: type="A" Lettere maiuscole: A , B, C, ... type="a" Lettere minuscole: a, b, c, ... type="I" Numerazione romana maiuscola: I, II, III, ... type="i" Numerazione romana minuscola: i, ii, iii, ... type="l" I numeri come da default: 1, 2, 3, ... <ol type="a"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ol> Questo il risultato: a. b. c. d. Primi Passi Guida HTML Guida CSS XHTML con Style Questo il risultato: <ol type="I"> < li>primi passi I. Primi Passi < li>Guida HTML II. Guida HTML < li>Guida CSS III. Guida CSS < li>XHTML con Style IV. XHTML con Style </ol> START Nel caso in cui si volesse partire da un qualsiasi numero diverso da "1", o da una lettera diversa da "a", sarà sufficiente fare uso dell'attributo start impostando il numero da cui iniziare l'incremento. <ol start="15"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ol> Questo il risultato: 15.Primi Passi 16.Guida HTML 17.Guida CSS 18.XHTML con Style Vediamo un esempio anche nel caso in cui si adoperino le lettere. Dovendo iniziare dalla lettera "C" ed essendo questa la terza lettera dell'alfabeto, si dovrà inserire il numero "3": <ol type="a" start="3"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ol> Questo il risultato: c. d. e. f. Primi Passi Guida HTML Guida CSS XHTML con Style <UL>...</UL> L'elemento <ul> prevede al suo interno l'elemento <li> come voce dell'elenco. Serve per una visualizzazione non ordinata di un elenco puntato. <ul> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ul> Questo il risultato: Primi Passi Guida HTML Guida CSS XHTML con Style TYPE Per default i simboli delle voci in una lista non ordinata sono dei dischi solidi o pallini pieni. Grazie all'attributo type si possono cambiare questi simboli (dell'elenco di una lista ul) in cerchietti (circle) o quadratini (square). A questo tipo di elenco sono assegnati dei simboli che variano man mano che ci si sposta di livello, i simboli adoperati sono: disco solido, cerchio, quadrato. Volendo si possono cambiare, è sufficiente specificarlo con l'attributo TYPE: type="disc" disco solido type="circle" cerchietto type="square" quadrato <ul type="circle"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ul> Questo il risultato: <ul type="square"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ul> o o o o Primi Passi Guida HTML Guida CSS XHTML con Style Questo il risultato: Primi Passi Guida HTML Guida CSS XHTML con Style Consiglio: l'uso dei fogli di style permette un controllo molto più accurato e versatile come per esempio inserire una qualsiasi immagine grafica al posto di uno dei simboli standard. ol { list-style-image: url(file:nome_immagine.gif); } la proprietà list-style-image è in grado di richiamare una piccola immagine grafica da usare al posto del pallino. Questo il risultato: 1. 2. 3. 4. Primi Passi Guida HTML Guida CSS XHTML con Style DIR Nel caso in cui si volesse avere la numerazione o il simbolo a destra della lista anziché a sinistra, si farà uso dell'attributo dir che va bene sia per le liste ordinate che per quelle non ordinate impostando il valore destro rtl (sinistro ltr). <ol dir="rtl"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ol> Questo il risultato: isPaP imrrP LMPHm diuG LMPHm iGG ediuG noc GMTHX <ul type="square" dir="rtl"> < li>primi passi < li>Guida HTML < li>Guida CSS < li>XHTML con Style </ul> .1 .2 .3 .4 Questo il risultato: isPaP imrrP LMPHm diuG LMPHm iGG ediuG noc GMTHX Elenchi di definizione <DT>, <DD> e <DL> dove con dt si definisce il termine e con dd la sua definizione o descrizione. Il tutto racchiuso in una struttura dl <DL>...</DL> L'elemento <dl> prevede al suo interno gli elementi <dt> e <dd> come voci dell'elenco. Serve per una visualizzazione non ordinata e formata da due voci: un termine (dt) e la sua definizione (dd). <dl> < dt>principianti</dt> < dd>rubrica primi passi</dd> < dt>appassionati</dt> < dd>guida html e guida CSS</dd> </dl> Questo il risultato: principianti si consiglia l'uso della rubrica primi passi appassionati meglio approfondire con la guida html e quella CSS <DT>...</DT> L'elemento <dt> specifica il termine e da solo non ha senso, deve precedere l'elemento dd che serve per la sua definizione. Usato anche nei dialoghi dove con dt si identifica chi parla e dd le sue parole. < dl> Questo il risultato: <dt>Andrea</dt> Andrea < dd>oggi è una bella giornata</dd> oggi è una bella giornata <dt>Mario</dt> Mario < dd>si, ammesso che non piova</dd> si, ammesso che non piova < /dl> <DD>...</DD> L'elemento <dd> specifica la definizione e da solo non ha senso, deve seguire l'elemento dt che specifica il termine. Usato anche nei dialoghi dove con dt si identifica chi parla e dd le sue parole. < dl> Questo il risultato: < dt>Andrea</dt> Andrea <dd>oggi è una bella giornata</dd> oggi è una bella giornata < dt>Mario</dt> Mario <dd>si, ammesso che non piova</dd> si, ammesso che non piova < /dl> Consiglio non usate le liste per l'indentazione o i ritorni a capo, per questo ci sono appositi attributi da dichiarare nei CSS. A proposito di CSS i due menù orizzontali che sono ad inizio pagina sono fatti proprio da liste opportunamente ridefinite all'interno di un CSS, da non credere ma è così. Per saperne di più a riguardo di questo tipo di menù si veda questa pagina. I Frames Introdotti a partire dalla versione 2 di NS e 3 di IE, sono ancora oggi un'ottima soluzione per strutturare siti più o meno complessi. Permettono di suddividere la finestra del browser in sezioni separate, ciascuna delle quali può essere aggiornata o contenere dati in modo completamente autonomo rispetto alle altre. Il mio sito: www.web-link.it ne è un chiaro esempio dimostrativo. A destra il frame principale, il più grande, dove visualizzare le pagine degli argomenti. A sinistra centrale il frame per il menù formato da decine di voci. A sinistra in alto il piccolo frame per la musica. Si possono inserire tutti i frames che servono e combinarli nel più svariato dei modi a seconda delle proprie necessità. Come sempre in questi casi meglio non esagerare per non complicarsi troppo la loro gestione, quindi creare solo i frames che realmente vi servono. Da notare che in caso di frames si dovrà usare nella sola pagina dove avviene la dichiarazione del framest una riga <DOCTYPE adatta per i frames, come spiegato su questo link. <FRAMESET>...</FRAMESET> L'elemento <frameset> è l'elemento principale, possiede due attributi: rows e cols. Al suo interno può contenere annidati altri elementi quali <frameset>, <frame> o <noframe>. Da solo serve a poco, necessita di almeno un elemento <frame> Questo elemento non va inserito all'interno del body come avviene per tutti gli altri elementi di html, caso più unico che raro non va inserito neppure in head. Questo elemento in una pagina web va inserito subito dopo la chiusura di </head> ed in questo caso la struttura della pagina non necessita di alcun <body> a meno che non si faccia uso dell'attributo <noframes> spiegato più avanti. <frameset ... > attributi assegnabili: </frameset> rows cols ROWS L'attributo rows raccoglie i valori per l'altezza della riga quando si suddivide la finestra principale in righe. Questi valori devono essere separati da virgole e possono essere espressi sia in numeri interi che in numeri percentuale; nel primo caso equivalgono al numero di pixel mentre nel secondo caso sono in percentuale delle dimensioni della finestra del browser. Esiste anche l'asterisco * che significa tutto il rimanente della porzione di schermo. < frameset rows="30%, 70%"> L'esempio sopra crea due frames (cornici) suddividendo orizzontalmente la finestra del browser, la prima in alto che occupa il 30% delle dimensioni totali lasciando il rimanente 70% alla seconda finestra in basso. Si possono adoperare anche valori numerici, senza il simbolo di % percentuale, in questo caso si fa riferimento al numero di pixel dello schermo. Queste dimensioni restano fisse indipendentemente dalle dimensioni della finestra del browser, vediamo un esempio: < frameset rows="180, 600"> In questo caso si hanno sempre due frames con dimensioni fisse: 180 e 600 px indipendentemente dalla dimensione dalla finestra del browser che le visualizza. Così facendo si vanno a penalizzare le risoluzioni grafiche più grandi di quelle da noi impostate. Per evitare questo rischio è possibile adoperare il carattere * (asterisco) che fa da jolly, praticamente imposta la massima dimensione rimanente. (vedi esempio sotto) < frameset rows="180, *"> Così facendo si otterrà un frame orizzontale di dimensione fissa di 180 pixel lasciando per il secondo frame tutto lo spazio rimanente, qualsiasi esso sia, è ovvio che dipende dal monitor e dalla risoluzione grafica adoperata dal visitatore. L'esempio pratico sotto è al solo scopo di rendere l'idea di come avviene la suddivisione. Frame superiore fisso: 180 pixel Frame inferiore variabile: * dipende dalle dimensioni della finestra del browser. COLS L'attributo cols raccoglie i valori per la larghezza della colonna, quando si suddivide la finestra principale in colonne. Questi valori devono essere separati da virgole e possono essere espressi sia in numeri interi che in numeri percentuale; nel primo caso equivalgono al numero di pixel mentre nel secondo caso sono in percentuale delle dimensioni della finestra del browser. Esiste anche l'asterisco * che significa tutto il rimanente della porzione di schermo. < frameset cols="25%, 75%"> L'esempio sopra crea due frames (cornici) suddividendo verticalmente la finestra del browser, la prima a sinistra che occupa il 25% delle dimensioni totali lasciando il rimanente 75% alla seconda finestra a destra. Si possono adoperare anche valori numerici, senza il simbolo di % percentuale, in questo caso si fa riferimento al numero di pixel dello schermo. Queste dimensioni restano fisse indipendentemente dalle dimensioni della finestra del browser, vediamo un esempio: < frameset cols="220, 600"> In questo caso si hanno sempre due frames con dimensioni fisse: 220 e 600 px indipendentemente dalla dimensione dalla finestra del browser che le visualizza. Così facendo si vanno a penalizzare le risoluzioni grafiche più grandi di quelle da noi impostate. Per evitare questo rischio è possibile adoperare il carattere * (asterisco) che fa da jolly, praticamente imposta la massima dimensione rimanente. (vedi esempio sotto) < frameset cols="220, *"> Così facendo si otterrà un frame verticale di dimensione fissa di 220 pixel lasciando per il secondo frame tutto lo spazio rimanente, qualsiasi esso sia, è ovvio che dipende dal monitor e dalla risoluzione grafica adoperata dal visitatore. L'esempio pratico sotto è al solo scopo di rendere l'idea di come avviene la suddivisione. Frame laterale sinistro fisso: 220 pixel Frame laterale destro variabile: * dipende dalle dimensioni della finestra del browser. <FRAME> L'elemento frame definisce le proprietà del frame vero e proprio all'interno di FRAMESET, non necessita del relativo tag di chiusura /frame. Questi gli attributi possibili: <frame ... > attributi assegnabili: src name marginwidth marginheight scrolling noresize frameborder SRC="url" L'attributo src="url" definisce l'indirizzo del file che verrà richiamato e quindi visualizzato nel frame di frameset. Potrebbe sembrare complicato ma altro non è che il nome del file html da visualizzare, con o senza un eventuale percorso (path) per raggiungerlo. < frame src="nome_file.html"> NAME="nome_frame" L'attributo name (da non confondere con nome) è di vitale importanza al fine di una corretta gestione di tutta la struttura. Serve per assegnare un nome univoco al frame stesso potendo così richiamarlo come frame di destinazione nell'apertura dei collegamenti (links) presenti su altre pagine, si veda a questo proposito l'uso di target nei links spiegati in questa sezione. Non confondete il nome che avete scelto per il file html con il nome da assegnare al frame, questi potrebbero essere due nomi completamente diversi. Se tutto ciò può sembrare complesso, e non lo è, a fine pagina trovate un esempio riassuntivo che chiarirà al meglio ogni cosa. < frame src="..." name="xxxxx"> MARGINWIDTH="valore" L'attributo marginwidth accetta valori numerici che corrispondono a pixel. Forza il rientro sui due lati: destro e sinistro, in base a tale valore. Non può essere impostato a zero. <frame... marginwidth="valore"> MARGINHEIGHT="valore" L'attributo marginheight accetta valori numerici che corrispondono a pixel. Forza il rientro sui lati: superiore ed inferiore, in base a tale valore. Non può essere impostato a zero. <frame... marginheight="valore"> SCROLLING="yes|no|auto" L'attributo scrolling serve per visualizzare il controllo della barra laterale di scorrimento. Quando il contenuto della pagina supera le dimensioni del frame viene visualizzata una barra di scorrimento: yes= si visualizza questa barra, no= nessuna barra, auto= solo se il contenuto del frame la richiede in base alle dimensioni dei contenuti rispetto alla finestra del browser. <frame... scrolling="auto"> NORESIZE L'attributo noresize non ha alcun parametro, se inserito evita al frame di poter essere ridimensionato. Diversamente sarà possibile, portando il puntatore del mouse nella divisione dei due frames, ottenere un puntatore a forma di doppia freccia che consentirà di modificare le dimensioni prestabilite. <frame noresize> FRAMEBORDER="1|0" L'attributo frameborder, serve per rendere visibili o meno i bordi dei frames, per default si trova a 1 quindi impostare 0 soltanto nel caso in cui non si voglia visualizzare il bordo. <frame frameborder="0"> <NOFRAMES>...</NOFRAMES> L'elemento noframes serve per creare un alternativa per quei browser che non supportano i frames. Ad oggi mi resta difficile anche solo pensare che vi siano ancora browser così obsoleti da non riconoscere i frames. Alcuni motori di ricerca si fermano di fronte ad un frame, in questo caso potranno proseguire da quello che avrete inserito fra i tags <noframes>...</noframes> <noframes> Spiacente ma il tuo browser non supporta i frames, clicca su questo link per continuare </noframes> ESEMPIO Forse un esempio pratico chiarirà ogni dubbio, diciamo subito che la struttura di un sito a frames si basa su almeno 3 pagine web: Una per dichiararne la struttura. Le altre due rispettivamente per i due frames dichiarati. Ipotizziamo di voler creare un sito con tre frames: uno laterale per il menù, uno centrale principale per la navigazione, ed uno fisso in alto per eventuali banner pubblicitari, musica, informazioni varie ecc. Inizieremo col creare le tre pagine menu.html, home.html e sponsor.html le ho chiamate così ma qualsiasi altro nome non farebbe alcuna differenza. Fatto questo non resta che creare la pagina dove viene dichiarata la struttura a frames, io la chiamerò index.html Per questa pagina valgono le stesse regole di tutte le altre pagine html, quindi avrà i tags di base quali: doctype, html, head, title, metatags, body e tutti gli altri eventuali. Attenzione al doctype che dovrà essere quello per frames <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> < html> < head> < title>Web-Link.it Tutto per la tua pagina web </title> < /head> <frameset cols="120, *"> <frame name="menu" src="menu.html" scrolling="auto"> <frameset rows="150, 650"> <frame name="sponsor" src="sponsor.html" scrolling="auto"> <frame name="homepage" src="home.html" scrolling="auto"> </frameset> <noframes> < body> < p>spiacente il tuo browser non supporta i frames</p> < /body> </noframes> </frameset> < /html> Il listato sopra produrrà un risultato simile a questo sotto. Si noti la struttura nidificata del frameset che crea due frame laterali ed all'interno del secondo frameset ne imposta un altro. Frame Sponsor Frame menù Frame Home Page E' possibile vedere su questo link 18 schemi di strutture a frames combinate nelle più comuni disposizioni. Basterà selezionare il codice html già pronto ed incollarlo nella vostra pagina web. Voglio sperare che lo facciate soltanto per apprendere e verificare il codice e non per copiarlo spudoratamente :) Iframe Introdotto e supportato inizialmente soltanto dai browser IE è poi stato riconosciuto anche dagli altri browser. Si adopera per creare una cornice (frame) all'interno di una pagina web, (internal frame) in questa cornice è possibile visualizzare una qualsiasi altra pagina web. Così facendo si ottengono pagine o porzioni di pagine web all'interno di altre pagine web. Non è necessario avere una struttura a frames per farne uso, questo elemento è indipendente dai frames ed è sufficiente richiamarlo in qualsiasi punto di una qualsiasi pagina web. <IFRAME>...</IFRAME> L'elemento <IFRAME> possiede al suo interno diversi attributi, quello fondamentale è src che serve per specificare il nome della pagina web da richiamare. Necessita del relativo elemento di chiusura </iframe> e tutto il codice html che sarà inserito dopo la chiusura di iframe> e prima del tag </iframe sarà eseguito da quei browser che non supportano iframe stesso. Come per frame mi rifiuto di pensare che vi siano ancora browser che non supportano questo elemento. <iframe ...> attributi assegnabili: </iframe> align frameborder height marginwidth marginheight name scrolling src width SRC="url nome pagina" L'attributo src è fondamentale in quanto specifica il nome della pagina da visualizzare all'interno di iframe. < iframe src="nome_pagina.html"></iframe> L'esempio sopra con src è privo di qualsiasi altro attributo e genera una finestra con le stesse dimensioni e caratteristiche di quella che vedete in questo esempio. Vengono assegnate per default le due barre di scorrimento orizzontale e verticale nel caso in cui la pagina da visualizzare fosse di dimensioni superiori a quella generata da iframe. Anche i bordi sono in evidenza: interni ed esterni, per dare un senso di tridimensionalità. Conviene specificare sempre le dimensioni per larghezza ed altezza facendo uso degli appositi attributi. WIDTH="valore" HEIGHT="valore" Gli attributi width e height servono rispettivamente per impostare le dimensioni in larghezza ed in altezza per la finestra interna generata da iframe. <iframe ... height="170" width="80%"></iframe> Da notare che le dimensioni possono essere espresse sia in pixel "170" (fissa), che in percentuale "95%" (variabile), oppure in entrambi i modi. Se anche una sola delle misure adoperate viene espressa in percentuale(%) verranno generate in modo automatico le relative barre di scorrimento orizzontale e/o verticale nel caso in cui le dimensioni della finestra del browser fossero più piccole di quelle della finestra di iframe. Provate adesso a ridimensionare questa vostra finestra del browser; noterete come anche iframe si ridimensioni ed una volta raggiunte le dimensioni minime della pagina vengono generate automaticamente le barre di scorrimento. SCROLLING="yes|no|auto" L'attributo scrolling serve per le barre di scorrimento, quando le dimensioni della pagina iframe superano le dimensioni della finestra del browser vengono visualizzate le barre di scorrimento. yes = si alla visualizzazione di queste barre sempre, no = no nessuna barra mai, auto = si ma soltanto se il contenuto di iframe la richiede. <iframe ... scrolling="No"></iframe> Questo è un esempio simile a quello sopra, è stato impostato No nel parametro per la generazione dello scrolling. Da notare che questa volta ridimensionando la finestra del browser il suo contenuto tende a sparire senza che siano visualizzate le barre di scorrimento. FRAMEBORDER="0|1" L'attributo frameborder serve per rendere visibili o meno i bordi di iframe, per default si trova a [1] quindi impostare [0] soltanto nel caso in cui non si voglia ridisegnare il bordo. <iframe ... frameborder="0"></iframe> Notare la mancanza assoluta di bordi quasi non fosse un iframe ma una immagine piatta inserita nella pagina web. MARGINWIDTH="valore" MARGINHEIGHT="valore" Gli attributi marginwidth e marginheight accettano valori numerici che corrispondono a pixel, forzano il rientro sui lati: destro e sinistro, alto e basso. <iframe ... marginheight="100"></iframe> In questo esempio 100 pixel per il bordo verticale. ALIGN=" left | center | right | justify " Allineamento del riquadro iframe rispetto al testo e agli altri elementi che compongono la pagina web.(a sinistra, al centro, a destra, giustificato) <iframe ... align="right"></iframe> In questo esempio l'allineamento scelto è quello destro (right). Per i vari modi di allineare vale quanto detto per l'attributo align dell'elemento IMG NAME="nome_frame" L'attributo NAME è estremamente importante nel caso in cui volessimo aprire dei links all suo interno, serve per assegnare un nome ad iframe che deve essere univoco e sarà poi il "bersaglio" target o destinazione di collegamenti da altri links tramite l'attributo TARGET. A questo proposito si veda anche la sezione dedicata proprio ai links e loro gestione. Non confondete il nome che avete scelto per il file html con il nome da assegnare al frame, questi potrebbero essere due nomi completamente diversi oppure lo stesso nome ma con funzioni decisamente diverse. <iframe ... name="pippo"></iframe> Così facendo è stato assegnato il nome pippo al nostro iframe, adesso basterà inserire l'attributo target="pippo" ad eventuali links che questi saranno aperti dentro iframe stesso. Provate con questi links di prova:link 1 link 2 link 3 Con l'aiuto dei CSS (fogli di style) è possibile posizionare i vari iframe in un punto preciso dello schermo, guardate questo esempio dove vengono sovrapposti, non è pratico e di conseguenza non serve a nulla ma rende bene l'idea.