I CSS - I fogli di stile
Transcript
I CSS - I fogli di stile
I CSS - I fogli di stile Scritto da Administrator I FOGLI DI STILE CSS (CASCADING STYLE SHEETS) Gli stili rappresentano un metodo per definire come il browser debba visualizzare i tag HTML. Il loro vantaggio è che possono essere utilizzati a differenti livelli: si possono inserire tutti gli stili in un file separato aumentando la facilità e la velocità di modifica degli stessi su più pagine, oppure si possono inserire gli stili in cima a una singola pagina, applicandoli solo ad essa; oppure si possono includere gli stili all'interno dei tag stessi tramite l'attributo style. Creare gli stili per la pagina: il tag <style> deve essere incluso fra i tag <head> e </head>. L'attributo type indica il tipo MIME per il foglio di stile: text/css è l'unico valore che si utilizzerà. Il corpo del foglio di stile consiste in una serie di direttive che seguono una precisa struttura: selettore { proprietà: valore; proprietà: valore; ... } Ciascuna regola consiste in un selettore seguito da un elenco di proprietà e valori associati ad esse, racchiuse tra parentesi graffe e senza limite di numero, separate l'una dall'altra da un punto e virgola. I selettori possono coincidere con i normali tag HTML come <h1>, <p>, <div>, ... Creare fogli di stile per un intero sito: è possibile registrare tutte le informazioni di stile in un file e applicarle a più file contemporaneamente. Un file CSS è praticamente solo il corpo di un tag < style> separato dal resto della struttura HTML di una normale pagina e salvato con estensione .css . Una volta creato il file con il foglio di stile, lo si può inserire in una pagina utilizzando il tag <link> : <link rel="stylesheet" href="URL del file di stile.css" type="text/css" /> L'attributo type è lo stesso del tag <type>, l'attributo href è lo stesso del tag <a>. E' possibile inserire i collegamenti a più di un foglio di stile in una pagina. I SELETTORI - tag HTML: un tipo di selettori è rappresentato dai tag HTML. Le regole per quel selettore verranno applicate a tutte le istanze di quel tag nella pagina o nelle pagine. tag { proprietà: valore; proprietà: valore; ... } E' possibile applicare a più selettori le stesse proprietà. tag, tag { proprietà: valore; proprietà: valore; ... } - selettori contestuali: vengono usati per applicare gli stili agli elementi solo quando questi sono nidificati all'interno di altri elementi specificati: 1/5 I CSS - I fogli di stile Scritto da Administrator tag_contenitore tag { proprietà: valore; proprietà: valore; ... } In caso di conflitti, gli sti li nidificati sovrascrivono gli stili generali. - classi e identificatori: a volte la selezione per tag non è molto specifica ma è necessario creare una propria classificazione da utilizzare con i CSS. Ci sono due attributi supportati da tutti i tag HTML: "class" e "id". L'attributo class serve ad assegnare gli elementi a interi gruppi di tag, mentre l'attributo id è utile per assegnare un identificativo a singoli elementi specifici. La sintassi di una regola è: .nome classe { proprietà: valore; proprietà: valore; ... } Se si vuole riservare una formattazione solo a un tag della classe specificata, è possibile includere il nome dell'elemento HTML oltre quello della classe: tag.nome classe { proprietà: valore; proprietà: valore; ... } Per applicare una classe ad un tag nella pagina: <tag class="nome classe"> testo o altri tag </tag> Se si desidera applicare gli stili solo ad un elemento in un foglio di stile è bene assegnargli un id : <tag id="nome id"> testo o altri tag </tag> Le regole CSS da applicare ad un elemento vanno scritte facendo riferimento al suo id: #nome id { proprietà: valore; proprietà: valore; ... } E' possibile mescolare diversi tipi di selettori, così come è possibile nidificarli. UNITA' DI MISURA Esistono 4 tipi di misure specificabili nei CSS: unità di lunghezza, unità percentuali, unità di col ore e URL . Esistono due tipi di unità di lunghezza: assolute (corrispondono a unità di misura del mondo reale) e relative (basate su unità di misura più arbitrarie, solitamente più utilizzate; fra queste rientra anche l'unità "pixel"). Le unità percentuali devono essere utilizzate in considerazione del fatto che bisogna specificare il contesto affinché possano essere calcolate (nel senso: la percentuale di cosa?). Gli URL si specificano così: url(URL del file). PROPRIETA' DEI RIQUADRI DI TESTO Prima di procedere con le proprietà dei riquadri di testo, è bene soffermarsi sugli attributi che definiscono gli stili (interni o esterni) del testo: - text-decoration: underline, overline, line.trough, blink, none; font-style: normal, italic, oblique; font-weight: normal, bold, bolder, lighter, 100-900; font-family: nome o nomi di carattere; font-variant: normal, small-caps; text-align: left, right, center, justify; font-size: valore numerico con relativa unità di misura; line-height: normal, valore con relativa unità di misura. 2/5 I CSS - I fogli di stile Scritto da Administrator Queste proprietà possono essere inserite all'interno dei tag come <div> o <span> oppure come coppia di proprietà-valore nei fogli di stile. Esistono altre proprietà per il testo. Per i riquadri di testo esistono altre proprietà, utilizzate per posizionare gli elementi, controllare lo spazio bianco attorno ad essi e applicare loro effetti grafici. Per lavorare sui riquadri di testo è possibile utilizzare il tag <div> perché non modifica assolutamente l'aspetto delle pagine, ma è solo un contenitore al quale si può applicare uno stile. - Le dimensioni: la dimensione di un riquadro viene controllata da due proprietà: width e hei ght in termini assoluti o relativi alla finestra del browser. - I bordi: con i CSS è possibile applicare i bordi a qualsiasi elemento. La sintassi delle proprietà del bordo sono le seguenti: border: width style color; Quando si usa la proprietà border da sola, ad essa possono essere associate tre variabili. - width è l'ampiezza della linea che disegna il bordo e che può assumere come valori un numero con la sua unità di misura o valori predefiniti (thin, medium, thick. - style assume i seguenti valori: none (nessuno stile), dottet (a punti), dashed (tratteggiato), solid (solido), double (doppio), groove (scalanatura), ridge (cresta), inset (incavato), outset (in rilievo). - color identifica il colore del bordo. Esistono molte altre proprietà. E' possibile impostare individualmente lo stile di ciascun lato utilizzando: border-top, border-right, border-bottom, border-left. border-top: thin double black; - I margini: la proprietà margin controlla lo spazio bianco tra il bordo e il blocco che lo include. .nome classe { margin: 10 px; } - La spaziatura: la proprietà padding controlla lo spazio bianco attorno al bordo. .nome classe { padding: 10 px; } 3/5 I CSS - I fogli di stile Scritto da Administrator - Il posizionamento: per avere pieno controllo sugli elementi è necessario selezionare prima uno schema di posizionamento con al proprietà position. Esistono 4 schemi di posizionamento: static , relative , absolute e fixed . - static: è lo schema predefinito, in virtù del quale gli elementi vengono posizionati da sinistra verso destra e dall'alto verso il basso. Il valore static (statico) è il valore di default e sarebbe uguale alla posizione dell’elemento nell’esempio del flusso normale. L’elemento ’statico’ non può essere mosso della sua posizione. - relative: permette di posizionare l’elemento in base al suo div ‘contenitore’. Contrariamente alla posizione assoluta, le dichiarazioni top, bottom, left e right non rappresentano punti fissi di posizionamento ma sono basate sulla posizione naturale dell’elemento, indicandone lo spostamento. - absolute: permette di rimuovere l’elemento dello flusso normale della pagina per potere posizionarlo tramite le dichiarazioni top, bottom, left e right in unità di misura. L’elemento assoluto è posizionato in rapporto al suo div ‘contenitore’ solo se lui stesso ha la sua proprietà position impostato con un valore altro che ’static’. - fixed: Come per la posizione assoluta, il valore fixed (fisso) permette di rimuovere l’elemento del flusso normale della pagina per potere posizionarlo con le dichiarazione top, bottom, left e right. La differenza tra di loro è che l’elemento fisso si posiziona sempre in base a l’elemento HTML (l’area visiva della finestra del browser) e mai ad un suo eventuale elemento ‘contenitore’. Essendo fisso, questo elemento rimanerà sempre alla sua posizione anche se il resto della pagina è scorrevole. Un elemento ‘fixed’ può essere riposizionato usando top, bottom, left, right (come per ‘absolute’) ricordandosi che sarà sempre in relazione alla finestra browser. Una volta scelto lo schema di posizionamento, è possibile impostare la posizione degli elementi. Ci sono 4 proprietà per il posizionamento: top, left, bottom, right. Assumono valori 4/5 I CSS - I fogli di stile Scritto da Administrator corrispondenti alla distanza tra il lato indicato e il lato del blocco che li racchiude. .nome classe { position: relative; left: 50 px; top: 50 px; } PROPRIETA' DELLE TABELLE Le proprietà delle tabelle possono essere gestite dai tag <table>, <tr> e <td>. Una volta individuata la classe o il tag, è possibile applicare gli attributi per il padding , border , background-color , text-align , margin , border , border-left , border-top , border-righ t, border-bottom , ecc. PROPRIETA' DI BODY E' possibile applicare qualsiasi stile ad una pagina applicandolo al tag <body>. Per sostituire le informazioni generali finora applicate con l'HTML è possibile usare il seguente listato come esempio: body { font-family: nome font; color: colore; background-color: colore; margin: valore px; background-image: url (URL del file immagine); background-position: posizione dell'immagine di fondo; background-attachment: scroll o fixed; background-repeat: repeat-x o repeat-y o repeat o no-repeat; ... } PROPRIETA' DEI LINK Per i collegamenti è possibile impostare diverse proprietà grazie ai CSS per diversi tipi di link. a: link { color: colore; } a: activate { color: colore; } a: visited { color: colore; } a: hover { color: colore; } E' possibile specificarte una classe per i vari link: a.nome classe: link { color: colore; } All'interno delle proprietà per i font è possibile inserire anche le proprietà normalmente usate per il testo normale (come font-weight, text-decoration) o per altri tag (background-color). 5/5