CSS – 5
Transcript
CSS – 5
Proprietà di CSS Esistono le seguenti sei famiglie di proprietà: CSS – 5 – Testo – Background e colori – Font – Liste – Contenitori (box model) – Posizionamento Proprietà Non sempre il supporto da parte dei browser è uguale Tecnologie di Sviluppo per il WEB Proprietà del testo 2 Indentazione del testo Attraverso questo tipo di proprietà è possibile modificare il modo in cui il contenuto dei tag appare Si può modificare la posizione del testo in relazione al resto della linea Si possono inserire apici e pedici text-indent – Permette di indentare la prima linea del testo Valori – Lunghezza – Percentuale • Si riferisce al blocco contenitore … P { text-indent: 3em } Tecnologie di Sviluppo per il WEB 3 Tecnologie di Sviluppo per il WEB 4 Allineamento orizzontale Decorazione del testo text-align text-decoration – Permette di allineare il contenuto (e.g., testo) relativamente al blocco contenitore – Descrive il tipo di decorazione aggiunta al testo Valori Valori – left, right, center, justify – <string> – – – – – • Permette di allineare relativamente ad una stringa (e.g., text-align: “.”) • Si applica solo alle tabelle, ma non è supportato da Netscape o Internet Explorer Tecnologie di Sviluppo per il WEB 5 Tecnologie di Sviluppo per il WEB Ombreggiatura del testo Esempi Crea un’ombra in basso e verso destra grande il 20% della grandezza di H1 H1 { text-shadow: 0.2em 0.2em } – Indica una serie di effetti di ombreggiatura, separati da virgola, da aggiungere al testo Un effetto di ombreggiatura indica – L’offset dell’ombra (a destra ed in basso) – Il blur radius – raggio di sfuocamento (opzionale) (opzionale) – Il colore H1 { text-shadow: 3px 3px 5px } H1 { text-shadow: 3px 3px 5px red } H2 { text-shadow: 3px 3px red, yellow -3px 3px 2px, 3px -3px } Valori 6 text-shadow none underline overline line-through blink (non necessariamente supportata) – none, <color>, <length> Non è supportato Tecnologie di Sviluppo per il WEB 7 Tecnologie di Sviluppo per il WEB 8 Spaziatura di lettere e parole Spazio tra le parole letter-spacing e word-spacing word-spacing – Permette di specificare la spaziatura tra lettere e parole, rispettivamente – Permette di stabilire quanto spazio lasciare tra le parole Valori Valori – normal – <length> – normal (default) • Il valore dipende dal browser – <length> BLOCKQUOTE { letter-spacing: 0.1em } H1 { word-spacing: 1em } Tecnologie di Sviluppo per il WEB • Indica un valore da aggiungere allo spazio lasciato di default tra le parole 9 Tecnologie di Sviluppo per il WEB Esempio 10 Trasformazione della forma delle lettere text-transform – Cambia il modo in cui compaiono le lettere in un testo Valori – capitalize • Trasforma in maiuscolo lettera iniziale di ogni parola – uppercase – lowercase – none Tecnologie di Sviluppo per il WEB 11 Tecnologie di Sviluppo per il WEB 12 Spazio bianco white-space – specifica la gestione dei ritorni a capo e del collassamento dei whitespace all' interno di un elemento Valori Colori e background – normal – pre – nowrap Tecnologie di Sviluppo per il WEB 13 Colori e background Il colore Attraverso alcune proprietà CSS, gli autori di pagine WEB possono specificare il colore di sfondo e quello di primo piano di un qualsiasi elemento. Lo sfondo può essere un colore od un’immagine Le proprietà sul background permettono di posizionare un’immagine, ripeterla e dichiarare se l’immagine è fissa o meno rispetto al punto di vista dell’utente (viewpoint). Tecnologie di Sviluppo per il WEB 15 color – Setta il colore di primo piano del contenuto testuale di un elemento Valore – <color> Esempi EM { color: red } P { color: rgb(255,0,0) } Tecnologie di Sviluppo per il WEB 16 Esempio Colore di sfondo background-color Possiamo facilmente assegnare un colore qualsiasi ai controlli di un modulo senza far ricorso ad una classe È sufficiente usare i selettori attributi Esempio INPUT[type=“radio”] { color: #336699 } INPUT[type=“checkbox”] { color: #963 } – Setta il colore di sfondo di un elemento Valori – <color> – trasparent (default) Esempio H1 { background-color: #F00 } Suggerimento – Quando si assegna un colore allo sfondo assegnare anche il colore di primo piano Tecnologie di Sviluppo per il WEB 17 Immagine di sfondo Tecnologie di Sviluppo per il WEB Ripetizione sfondo background-image background-repeat – Setta un’immagine come sfondo Valori – <uri> – Specifica come l’immagine di sfondo deve essere ripetuta Valori – repeat (default) – repeat-x (immagine ripetuta in orizzontale) – repeat-y (immagine ripetuta in verticale) – no-repeat – none (default) Esempio – P {background-image: url(img/pic1.gif) } Tecnologie di Sviluppo per il WEB 18 19 Tecnologie di Sviluppo per il WEB 20 Posizionamento sfondo Esempi background-position background-position: 14% 85% – Specifica la posizione iniziale dell’immagine di sfondo Valori <percentage> <percentage> <percentage> <length> <length> <length> – kw1 kw2 – – – – – Il punto che si trova a 14% a destra e 85% in basso rispetto all’immagine è allineato con il punto che si trova a 14% a destra e 85% in basso rispetto l’area da riempire Esempi BODY {background-position: 100% 0% } BODY {background-position: right top } • dove kw1 ∈ {top , center , bottom} • dove kw2 ∈ {left , center , right} Tecnologie di Sviluppo per il WEB 21 Tecnologie di Sviluppo per il WEB Esempio 22 Esempio 14% 14% – Deve essere centrata rispetto alla finestra del browser – Deve comparire su tutta la lunghezza della finestra 85% BODY { background-image: url("logo.gif"); background-position: top center; background-repeat: y-repeat; background-color: green; } 14% 85% 85% Tecnologie di Sviluppo per il WEB Vogliamo inserire un’immagine sullo sfondo. 23 Tecnologie di Sviluppo per il WEB 24 Risultato Sfondo e viewpoint background-attachment – Specifica se l’immagine di sfondo è fissa o meno rispetto al punto di vista (viewpoint) dell’utente Valori – scroll – fixed esempio Tecnologie di Sviluppo per il WEB 25 Tecnologie di Sviluppo per il WEB Tutto insieme background – Attraverso questa proprietà possiamo indicare contemporaneamente ed in qualsiasi ordine tutte le proprietà che abbiamo visto prima BODY{background: url("Ebollizione.jpg") 60px 200px repeat-y white fixed; } Tecnologie di Sviluppo per il WEB I font 27 esempio2 26 I font e CSS2 Specificare il tipo di font CSS2 specifica i font secondo le seguenti caratteristiche – Font family – Font style – Font variant – Font weight – Font stretch – Font size font-family – Indica una lista di nomi di font e/o nomi di font generici separati da virgola – I nomi che vengono prima hanno priorità maggiore Esempio BODY { font-family: Baskerville, "Heisi Mincho W3", Symbol, serif } Tecnologie di Sviluppo per il WEB 29 Famiglie generiche di font Tecnologie di Sviluppo per il WEB font-style Invece di un nome di font, è possibile indicare una famiglia generica. In questo modo il browser sa sempre come rendere un font Tipi di famiglie – serif – sans-serif – cursive – fantasy – monospace (Times New Roman) (MS Arial) Specifica lo stile di un font Valori – normal (default) – italic – oblique Non ben supportato Esempio P.uno { font-style: italic } P.due { font-style: oblique } (wingdings ) (Courier) Tecnologie di Sviluppo per il WEB 30 31 Tecnologie di Sviluppo per il WEB 32 font-variant font-weight Specifica il modo di apparire del font Valori Specifica lo spessore o peso del font Valori: – normal (default) – small-caps – normal, bold, bolder, lighter – 100, 200, 300, 400, 500, – 600, 700, 800, 900 Tecnologie di Sviluppo per il WEB 33 Per alcuni font non esistono tutti i valori da normal a lighter oppure da 100 a 900. A gruppi differenti corrisponde lo stesso “peso” del font. Esempio Tecnologie di Sviluppo per il WEB 34 font-stretch Indica come il testo deve disporsi in una riga Valori Tecnologie di Sviluppo per il WEB 35 – normal, wider, narrower, – ultra-condensed, extra-condensed – condensed, semi-condensed – semi-expanded, expanded – extra-expanded, ultra-expanded Non supportato Tecnologie di Sviluppo per il WEB 36 font-size font Specifica la grandezza del font Valori – <length> – <percentage> – smaller, larger – xx-small, x-small, small – medium – large, x-large, xx-large Tramite questa proprietà si possono indicare contemporaneamente ed in qualsiasi ordine tutte le proprietà già esaminate (pag 195 specificaCss2.pdf) Tecnologie di Sviluppo per il WEB Possiamo indicare che il browser utilizzi il font che usa il sistema su cui gira (cf. pag. 209 specificaCss2.pdf) – Valori: caption, icon, menu, message-box, small-caption, status-bar 37 Selezione dei font Tecnologie di Sviluppo per il WEB Descrizione di font A volte pagine web che richiedono delle elaborazioni tipografiche sofisticate hanno bisogno di font che possono non essere disponibili sul PC dell' utente. Con CSS si possono specificare font anche non disponibili, fornendo un meccanismo per scaricarlo dal server, oppure per trovare tra i font quello più simile a quello specificato Tecnologie di Sviluppo per il WEB 38 39 Per descrivere il font si usa una @-rule @font-face { <font-description> } dove <font-description> ha la forma: descrittore: valore; descrittore: valore; [...] descrittore: valore; Tecnologie di Sviluppo per il WEB 40 Esempio Per scaricarlo da un server @font-face { font-family: "Robson Celtic"; src: url("http://site/fonts/rob-celt") format(“truetype”)} Per cercare quello “più vicino” @font-face { src: local("Alabama Italic"); panose-1: 2 4 5 2 5 4 5 9 3 3; font-family: Alabama, serif; font-weight: 300, 400, 500; } Tecnologie di Sviluppo per ) il (cf. pg 230 SpecificaCSS2.pdf Generazione del contenuto numerazione automatica le liste 41 WEB es1 :before e :after Esempi Con gli pseudo-elementi :before e :after è possibile inserire del testo prima e dopo il contenuto di un qualsiasi elemento Possono essere usati in congiunzione alla numerazione automatica per numerare le sezioni di un documento Questi pseudo-elementi sono supportati da Netscape 7 ma non da Internet Explorer 6 Q:before { content: open-quote; color: red } BODY:after { content: "The End"; display: block; margin-top: 2em; text-align: center; } Tecnologie di Sviluppo per il WEB 43 Tecnologie di Sviluppo per il WEB es2 (quoting) 44 content Contatori automatici e numerazione In CSS la numerazione automatica viene controllata da due proprietà (non supportate da IE6 e N7) counter-reset Questa proprietà è utilizzata con:before e :after per generare del contenuto in un documento Valori – <string> – <uri> – <counter> (lo vedremo con i contatori) (valore dell’attributo X) – attr(X) – open-quote, close-quote – no-open-quote, no-close-quote Tecnologie di Sviluppo per il WEB counter-increment cnt 3 counter-reset cnt – Setta a 0 cnt counter-reset cnt 2 – Setta a 2 cnt Se un elemento incrementa/decrementa un contatore e lo usa, il contatore è usato dopo che è avvenuto l’incremento/decremento Tecnologie di Sviluppo per il WEB Per accedere al valore di un contatore si usa la funzione counter() oppure counters() Tecnologie di Sviluppo per il WEB 46 Esempi – Incrementa di un’unità cnt opzionale – Valori: <identifier> <integer> none 45 counter-increment cnt counter-increment Incrementi e decrementi – Valori: <identifier> <integer> none 47 H1:before { content: "Capitolo " counter(capitolo) ". "; counter-increment: capitolo; /* aggiunge 1 a capitolo */ counter-reset: sezione; /* Setta sezione a 0 */ } H2:before { content: counter(capitolo) "." counter(sezione) " "; counter-increment: sezione; } Tecnologie di Sviluppo per il WEB 48 Liste (poco supportate) list-style-image Per modificare come appaiono le liste in CSS possiamo utilizzare tre proprietà list-style-image – Indica l’immagine da usare come marcatore Valori – none – <url> list-style-type – Specifica quale marcatore utilizzare list-sytle-position – outside (il marcatore è esterno all’item) – inside (il marcatore fa parte dell’item) Tecnologie di Sviluppo per il WEB UL { list-style-image: url(marker.gif); } 49 Esempio di list-style-image Tecnologie di Sviluppo per il WEB 50 Tecnologie di Sviluppo per il WEB 52 Risultato LI { list-style-image: url(freccia.gif); margin-left: 20px; text-indent: 5px; } LI.important { background-color:red; width:170px; } Tecnologie di Sviluppo per il WEB 51 Nota su list-style-image Suggerimento Se il marker è troppo grande bisogna lasciare dello spazio a sinistra di LI per contenerlo Bisogna lasciare dello spazio tra il marker e il contenuto di LI Con Netscape 7 è automatico, ci sono dei problemi con Internet Explorer 6 Per risolvere il problema, si potrebbe lasciare uno spazio trasparente a destra dell’immagine UL.lista LI {margin-left: 1.7em; } Tecnologie di Sviluppo per il WEB 53 list-style-type Tecnologie di Sviluppo per il WEB 54 OL.hebrew {list-style-type: hebrew; } OL.georgian {list-style-type: lower-greek} Serve a specificare il tipo di marcatore da usare in una lista Valori: – none, disc, circle, square, decimal, decimal-leading-zero, lower-roman, upper-roman hebrew, armenian, georgian, katakana, cjk-ideographic, hiragana, hiragana- iroha, katakana-iroha, – lower-alpha, lower-latin, upper-alpha, upper-latin, lower-greek Tecnologie di Sviluppo per il WEB 55 Tecnologie di Sviluppo per il WEB 56 Esempio di list-style-position Forma abbreviata Per un controllo maggiore delle liste bisogna usare il valore marker della proprietà display – Setta le proprietà viste prima tutte in una volta Valori (non devono essere tutti presenti) – <’list-style-type’> <’list-style-position’> <’list-style-image’> – Possono comparire in qualsiasi ordine – Maggiori dettagli in seguito Tecnologie di Sviluppo per il WEB list-style 57 UL { list-style: upper-roman inside } UL > UL { list-style: circle outside } Tecnologie di Sviluppo per il WEB 58