Comments
Description
Transcript
css_lezione1
Corso IFTS Informatica, Modulo 3 – Progettazione pagine web statiche (50 ore) HTML e i fogli di stile Dott. Chiara Braghin [email protected] HTML e stili HTML aveva inizialmente una esplicita scala di valori: Contenuto Struttura Linking Semantica Presentazione La parte presentazionale, dunque, era l'ultima in ordine di importanza della scala di valori. Per quel che riguarda la presentazione, il prototipo WWW di Berners-Lee aveva un linguaggio di stile che permetteva ai lettori di definire personalmente come presentare i documenti HTML. Analogamente, le prime versioni dei browser WWW permettevano agli utenti di definire queste caratteristiche. C. Braghin - XML, XHTML e fogli di stile 2 I fogli di stile Il linguaggio CSS (Cascading Style Sheets, fogli di stile “a cascata”), permette di applicare aspetti di visualizzazione a documenti HTML. Un foglio di stile è un insieme di regole che indica il tipo di formattazione da applicare. Può essere usato all’interno di un documento HTML, con l’attributo “style” per molti tag, oppure in un documento esterno apposito (il foglio di stile vero e proprio), con suffisso .css, utilizzabile da più documenti HTML. Tre diverse versioni: CSS1, CSS2, e CSS3 (in corso di definizione) Non completamente supportato da tutti i browser: da usare solo le caratteristiche principali C. Braghin - XML, XHTML e fogli di stile 3 Vantaggi dei fogli di stile Separazione della grafica dalla struttura dei documenti : <p> <font color=“green”> Questa riga è verde. </font></p> <style type="text/css"> verde { color:green} </style> <p class=“verde”> Questa riga è verde. </p> Vantaggi: Controllo più preciso e completo dell’aspetto grafico Manutenzione grafica del sito molto più facile (si cambia un unico foglio di stile per cambiare l’aspetto di tutte le pagine) Dimensione dei file più ridotte Semplice da capire, rispetto a tutti gli attributi degli elementi Permettono di adattare la pagina al browser (con Javascript) Svantaggio principale: non supportati bene da tutti i browser C. Braghin - XML, XHTML e fogli di stile 4 Regole di sintassi Un foglio di stile è un insieme di regole di formattazione. La sintassi di una regola è: selettore {blocco di dichiarazioni} dove blocco di dichiarazioni è un insieme di coppie: { proprietà: valore; proprietà: valore; ... } Ad esempio: h1 { color: red; font-family: Helvetica, sans-serif; } indica che tutte le intestazioni del documento di livello 1 (cioè le parti con tag <h1>) devono essere rosse e con il tipo di carattere specificato (se disponibile). C. Braghin - XML, XHTML e fogli di stile 5 Applicazione dello stile ad un documento Nel preambolo di un documento: <html> <head> <style type=“text/css”> <!-h1 {color: red;} p {font-family: sans-serif;} --> </style> </head> ... testo del documento ... </html> Questo tipo di definizione dello stile si applica a tutto (e solo) il documento C. Braghin - XML, XHTML e fogli di stile 6 Applicazione dello stile ad un elemento Ad un singolo elemento: <h1 style=“color: blue”> Esempio: una sezione con titolo di colore blu </h1> <p> ... Paragrafo ... </p> <h1>Altra sezione</h1> <p> ... Altro paragrafo ... </p> Si usano soprattutto per modificare temporaneamente un’impostazione di stile. Ad esempio, se c’è l’indicazione che tutti gli h1 siano rossi, questo permette una singola intestazione blu (fogli di stile inline) I livelli inferiori prendono il sopravvento su quelli superiori (cascade) C. Braghin - XML, XHTML e fogli di stile 7 Fogli di stile esterni Sono fogli di stile definiti in un file separato con estensione “.css”: h1 {color: red;} p {font-family: sans-serif;} Bisogna collegare il documento HTML con il foglio di stile: <html> <head> <link rel=“stylesheet” href=“stile.css” type=“text/css”> </head> ... documento ... </html> È possibile importare più di un foglio di stile. L’ultimo ha precedenza. I fogli importati hanno minore precedenza. C. Braghin - XML, XHTML e fogli di stile 8 Fogli di stile per differenti dispositivi Una pagina web può essere visualizzata su dispositivi con caratteristiche molto diverse: computer, PDA, cellulari di nuova generazione stampanti, dispositivi braille, screen reader <html> <head> <title> Esempio con differenti dispositivi </title> <link rel=“stylesheet” media=“screen” href=“screen.css” type=“text/css”> <link rel=“stylesheet” media=“print” href=“print.css” type=“text/css”> <link rel=“stylesheet” media=“aural” href=“screenreader.css” type=“text/css”> </head> ... documento ... </html> C. Braghin - XML, XHTML e fogli di stile 9 Regole di applicazione Uno stile applicato ad un elemento viene applicato automaticamente anche a tutti i suoi sottoelementi <body style=“color: blue”> ... testo ... <div style=“color: green”> ... testo ... </div> <div> ... testo ... </div> </body> Cambia il colore del testo interno C. Braghin - XML, XHTML e fogli di stile 10 Selettori Selettori di tipo: si riferiscono all’elemento da formattare p { font-size : 8pt} Selettori di attributo: valori degli attributi class e id <style type=“text/css”> .grassetto { font-weight:bold } nuova classe #pblue { color:blue } attributo id </style> <p id=“pblue” class=“grassetto”> Entrambi gli stili </p> <p class=“grassetto”> Un solo stile </p> Selettore universale * { font_weight : bold } Raggruppamento di selettori h1, h2 { color:blue; font-size:10pt; font-weight:bold; } Figli e discendenti selettore di figli: h1 > p { ...} selettore di discendenza: h1 p { ...} Selettori di adiacenza p + div { ...} C. Braghin - XML, XHTML e fogli di stile 11 Procedimento a cascata ed ereditarietà Impostazioni di stile inline definite dall’autore della pagina Fogli di stile esterni definiti dall’autore Impostazioni personali dell’utente Impostazioni di stile predefinite del browser impostazioni utilizzate quando qualcosa non è definito o se il browser non supporta i CSS Se vengono definite più regole con la stessa importanza per uno stesso elemento, l’ultima definita è quella che verrà applicata Ereditarietà: ogni figlio eredita le impostazioni del padre C. Braghin - XML, XHTML e fogli di stile 12 Pseudoclassi Non definisce un elemento ma un suo particolare stato Es. a:link:hover {font-size: 3 cm} selettore:pseudoclasse { dichiarazioni } PSEUDOCLASSE :link :visited :active :hover :focus C. Braghin - XML, XHTML e fogli di stile RISULTATO link non visitato link visitato link attivo vi si trova sopra il mouse elemento attivo (tab) 13 Pseudoelementi Consentono un controllo approfondito sui formati tipografici degli elementi dei blocchi Es. p:first-letter { color:red } Non sempre sono supportati dai browser (IE4 e NS4) PSEUDOELEMENTO :first-letter :first-line :before :after C. Braghin - XML, XHTML e fogli di stile RISULTATO prima lettera di un blocco prima riga di un blocco testo da aggiungere prima o dopo un elemento 14 Sistemi di misura Esistono diverse unità di misura; si dividono in: relative: ex, em, percentuale assolute: cm, mm, in, pt, px, pc Unità Definizione Esempio em ex px in cm mm pt pc % Altezza media del font utilizzato Altezza della x nel font utilizzato Numero di pixel nello schermo Inch, pollici (1 in = 2,54 cm) Centimetri Millimetri Punti (1 pt = 1/72 pollici) Pica (1 pc = 12 punti) Valore in percentuale relativo a quello dell’elemento principale h1 { margin:0.5em } h2 { margin: 1ex } p { font-size:12px } p { font-size: 0.5in } p { font-size: 0.3cm } p { font-size: 3mm } p { font-size:12pt } p { font-size: 1pc } p { line-height:120% } C. Braghin - XML, XHTML e fogli di stile 15 Definizione dei colori Colori predefiniti white, red, green Espressi con il formato RGB (Red, Green, Blue) #RRGGBB #FFFFFF rappresenta il bianco rgb(y,y,y) oppure rgb(y%, y%, y%) rgb(255,0,0) o rgb(100%,0%,0%) rappresentano il rosso brillante Colori che funzionano su tutti i browser C. Braghin - XML, XHTML e fogli di stile aqua black blue fuchsia gray green lime white maroon navy olive purple red silver teal yellow 16 Definizione degli URL Gli URL vengono definiti in questo modo: url(protocollo://server/percorso) Esempio: <html> <head> <style type=“text/css”> <!-body { background-image:url(percorso/imagine.gif); background-repeat:repeat; } --> </style> </head> ... documento ... </html> C. Braghin - XML, XHTML e fogli di stile 17 Il testo La proprietà font-family permette di specificare il tipo di carattere: font-family: Arial, Helvetica, sans-serif font-family: Time New Roman, Symbol Si deve tener conto che non sempre il carattere scelto è supportato Stile Corsivo: font-style Dimensione: font-size Livelli di grassetto: font-weight (bold, normal, bolder,lighter) Variante maiuscoletto: font-variant Condensare il testo: font-stretch Testo Distanza tra le lettere: letter-spacing Distanza tra le parole: word-spacing Allineamento: text-align C. Braghin - XML, XHTML e fogli di stile 18 Elenchi La proprietà list-style-type permette di modificare i punti elenco <ul style=“list-style-type:disc”> <li> primo punto </li> <li style=“list-style-type:square”> secondo punto </li> </ul> primo punto secondo punto Si possono modificare anche gli stili dei punti numerati C. Braghin - XML, XHTML e fogli di stile 19 Allineamento e margini Allineamento: text-align left right center justify Margini: margin-right margin-left margin-top margin-bottom C. Braghin - XML, XHTML e fogli di stile 20 Box Model Rettangolo in cui viene visualizzato un elemento: top margin-top Contenuto right border-left padding border-right left border-top border-bottom margin-bottom bottom C. Braghin - XML, XHTML e fogli di stile 21 Box Model <html> <head> <title>Esempio Box Model </title> </head> <body> <h1>Titolo</h1> <p> Testo normale. </p> </body> </html> C. Braghin - XML, XHTML e fogli di stile h1 { background-color: teal; padding: 10px; margin: 5px; border-width: 5px; border-color: silver; border-style: inset; font-family: Verdana, Helvetica, sans-serif; font-size: 50px; font-style: italic; font-variant: small-caps; font-weight: bold; color: silver } 22 Posizionamento Le tabelle vengono spesso usate con il solo scopo di posizionare gli elementi nello schermo La versione CSS2 dei fogli di stile permette di agire sulla disposizione degli elementi nella pagina interagendo solo con gli elementi <div> Tre modalità principali tramite la proprietà position: posizionamento relativo posizionamento assoluto Proprietà float C. Braghin - XML, XHTML e fogli di stile 23 Posizionamento <html> .ditta {display: block; width:10 cm; <head> background-color: teal; color:silver; <title>Esempio Posizionamento border: thick silver inset; </title> margin: 5mm; } </head> <body> .indirizzo { display: block; <h1 class=“ditta”> ACME s.r.l.</h1> font-size: 20pt;margin-left: 5pt; } <p class=“indirizzo”> .state { display: block; Grand Canyon, 17</p> font-family: monospace; <p class=“state”> margin-left: 20pt;} Arizona</p> </body> </html> C. Braghin - XML, XHTML e fogli di stile 24 Un esempio più complicato - 1 html,body{ margin: 0; padding: 0; height: 100%; } body{ background: url(images/linea_gialla.gif) repeat-y 0%; font-family: Verdana, Helvetica, sans-serif; font-size: 0.9em; } .titolo_pagina{ font-size: 2em; font-weight: bold; font-variant: small-caps; } .titolo{ font-size: 1.5em; font-variant: small-caps; } C. Braghin - XML, XHTML e fogli di stile #banner{ height: 100px; background-color: #FFCC00; } #logo{ background-image: url(images/logo_unive.gif); background-position:right; background-repeat:no-repeat; height: 80px; float: left; width: 120px; padding: 10px 5px 5px 5px; } #corso{ margin-top:0px; text-align: left; padding: 0px 0px 0px 50px; } 25 Un esempio più complicato - 2 #path{ height: 20px; background-color: #000000; font-size: 14px; font-weight:bold; color: #FFCC00; } .piccolo{font-size: .5em;} #sidebar{ float: left; width: 130px; padding: 10px 5px 0px 5px; #form_registrazione{ padding: 10px; border: 1px solid #000; background-color: #FFE88A; width:650px; } color: #FFF; } #sidebar a{ padding: 2px 0px; text-decoration: underline; } .attenzione{color: #FF7700;} C. Braghin - XML, XHTML e fogli di stile #content{ margin-left: 140px; padding: 0px 0px 0px 30px; background-color: #FFFFFF; } #form_registrazione span{ float: left; width: 130px; line-height: 23px; margin-right: 3px; text-align: right; } 26 Bibliografia Specifiche W3C http://www.w3.org/Style/CSS/ Validatore http://jigsaw.w3.org/css-validator/ Tutorial in Italiano http://www.html.it/css/ Manuale HTML e CSS AA. VV. HTML 4.01. Apogeo 2001 Libro on-line http://www.chongluo.com/books/webdesign/index.htm C. Braghin - XML, XHTML e fogli di stile 27