html517 Corso html 5, lezione 17. Roberto Abutzu su uiciechi.it, 2017-03. Diciassettesima parte: "Evidenziare del testo". ********** Nota importante: Questa lezione e la precedente vanno considerate come un'unica lezione. Evidenziare del testo. Nella lezione precedente, la 16, abbiamo visto come assegnare delle tag in linguaggio html 5 per personalizzare il testo delle nostre pagine con delle evidenziazioni. Il corsivo, il grassetto, l'evidenziato di colore diverso, permettono di mettere in risalto una parola, una frase, un concetto a cui il programmatore ritiene di dover dare più importanza. Il corsivo e il grassetto vivono di vita propria nella pagina html ma molte di queste personalizzazioni, come l'evidenziato, utilizzano entrambi i linguaggi per operare. Quindi, come già rimarcato nella lezione precedente, in questa lezione verrà spiegato del codice css che necessita del codice html già analizzato nella lezione precedente. Ecco perché la lezione 16 e la 17 di questo corso vanno considerate come un'unica lezione. Anche qui, voglio rimarcare il concetto che la formattazione delle pagine e l'evidenziato devono comunque rendere un risultato pulito nelle pagine. Il troppo uso di queste personalizzazioni, rende esattamente l'effetto contrario confondendo il visitatore del sito più che aiutarlo. Si parla molto di accessibilità, dimenticando un'altra prerogativa delle pagine web: L'usabilità. Un sito che è confusionario, stufa l'utente che non lo visiterà più. Gli effetti speciali lasciamoli al cinema di Hollywood, noi qui facciamo siti. Conclusa la premessa, ora iniziamo col codice css. "id e class". Questi sono attributi che possiamo assegnare agli elementi html in una pagina web. L'Id, identificativo univoco, assegna un nome a una qualsiasi tag html e, grazie al suo nome proprio, consente di richiamare nel file css questa tag per personalizzarla. La “class” funziona in modo simile, ma a differenza dell'attributo id, questa può essere applicata a più elementi della stessa pagina. Ovviamente, anche la class ha un suo nome proprio e con questo viene richiamata nel file css. In una pagina web è possibile inserire più id e più classi, ricordandosi di assegnare nomi univoci. Di seguito, con degli esempi, vediamo come richiamarli nel file css, considerando che questi esempi hanno lo scopo di spiegare il codice e non sono realmente da applicare al nostro sito, quello che stiamo costruendo nel corso. "id". ecco il codice: #content {color: #FF0000; } oppure: #content {color: red; } Entrambi questi codici assegnano il colore rosso ai caratteri contenuti nella tag chiamata "content". Se vi ricordate, avevamo assegnato nella nostra pagina questo nome a un Div che racchiudeva i nostri contenuti, escludendo quindi menu, footer ecc. Da cosa comprendiamo che questo è un identificativo (id)? Dal fatto che prima del selettore, "content" in questo caso, viene messo un cancelletto. In questo esempio ho riportato solo il colore del carattere ma si può inserire in questo codice, all'interno delle parentesi graffe, tutte le proprietà che vogliamo, con i valori voluti. Potete assegnare caratteri diversi, dimensioni diverse, sfondi diversi, insomma, una personalizzazione completa, a tutti i contenuti raggruppati all'interno di questa "div content". La "class". Il codice è uguale a quello dell'attributo Id, solo che bisogna inserire un punto nel selettore al posto del cancelletto. Nella lezione precedente avevamo creato delle class tra cui quella chiamata: "rosso". Nota importante: ricordatevi di riportare i nomi corretti facendo attenzione anche al maiuscolo e minuscolo. Rivediamo lo stesso esempio sopra indicato, ma assegnando la proprietà: valore alla class: "rosso". Ecco il codice: .rosso {color: #FF0000; } oppure: .rosso {color: red; } Notate che prima del nome del selettore c'è un punto, quello che determina che il selettore è una class. Con questo selettore, stiamo dando delle proprietà a una classe. Tutte le tag html a cui abbiamo inserito questo attributo, con questa class, mostreranno sulla pagina il testo con un carattere di colore rosso. Evidenziare con la tag "mark". Nella scorsa lezione abbiamo citato una nuova tag, la "mark". La "mark" permette di creare uno sfondo colorato su una parola, una frase, un paragrafo. Vedere la lezione precedente per il codice html. Il colore che dovrà avere lo sfondo per evidenziare questo testo, viene indicato nel file css. Questo è il codice: mark {background-color: yellow; } Notate la proprietà “background” che indica lo sfondo che è quello a cui stiamo dando il colore. In questo sfondo, ho assegnato: "yellow" il giallo. Inoltre, essendo una tag e non un attributo, la "mark" non necessita di punti o cancelletti quando si scrive come selettore nel file css. la tag "span". Questa tag permette di delimitare porzioni di testo all'interno della pagina html, per dargli formattazioni diversificate. Nella lezione precedente, ho assegnato la lingua inglese a questa tag, inserendo del testo appunto in Inglese. Ipotizzando che questo testo io lo voglia rosso, il codice sarà: span {color: red; } In questo specifico caso, avendo inserito una sola span nel file html, quindi, se inserisco il codice css sopra indicato, funzionerà correttamente, facendo diventare Rosso il testo in Inglese. Ora vi riporto un esempio che chiarirà ulteriormente i concetti spiegati sopra per gli attributi "id" e "class". Ipotizziamo che ho deciso di inserire anche la lingua Francese e Tedesca. Decido di assegnare colori diversi per ogni lingua. Dovendo assegnare un colore diverso ad ogni lingua, come procedo? Nel file html, darò degli identificativi ad ogni lingua, quindi, un id ad ogni span. Esempio: Inglese=rosso. Francese=blu. Tedesco= verde. Assegno gli id dando ad ognuno il nome del colore corrispondente. Il codice css sarà: #rosso {color: red; } #blu {color: blue; } #verde {color: green; } Ho richiamato i tre identificativi e gli ho assegnato il colore del carattere. Per comodità e maggior semplicità delle spiegazioni, sto inserendo i colori primari: red, Yellow, green, eccetera, ma qualora si volesse inserire dei colori particolari o intonazioni diverse, bisogna utilizzare il codice esadecimale. Per indicare i colori in esadecimale, ci sono delle tabelle apposite sui siti specializzati per la costruzione dei siti. Basta fare una ricerca con il motore di ricerca www.google.it Comunque, per conoscenza, anche i colori primari vengono consentiti nelle disposizioni del W3c, quindi, se non si ha bisogno di colori particolari, basta usare quelli. Tornando ai nostri esempi, vi faccio notare un particolare molto importante per evitarvi confusione. All'inizio della lezione ho utilizzato il selettore: ".rosso". Ora ho utilizzato il codice: "#rosso". Sembra esserci un errore, perché ho utilizzato lo stesso Id due volte!?!? No, in effetti non c'è nessun errore. Infatti, se rileggete il codice, noterete che uno è un id e l'altro è una class. La differenza sta tutta in un particolare che tante volte può sfuggire e bisogna fare attenzione: un elemento ha il punto iniziale e l'altro ha il cancelletto prima del nome del selettore. Però, vorrei farvi notare ulteriormente quanto è facile cadere in errore con queste stringhe. Il codice sopra indicato è corretto, ma, ipotizzando in un secondo momento di voler dare il colore rosso ad una intestazione particolare, si potrebbe rischiare di commettere errori di copia o trascrizione, quindi, bisogna fare molta attenzione. Questi che abbiamo visto sopra, sono solo esempi che ci sono serviti per capire il codice CSS da usare. Non saranno utilizzati nelle nostre pagine nella forma vista, ma saranno indicati in modo completo. Nelle vostre pagine sarà importante inserire identificativi univoci che davvero poi vi permettano di non confonderli. Qualora dovete modificare solo il colore del carattere, la "class" và benissimo sia quando sono due elementi, sia se ne sono trenta. Nel caso opposto, quando cioè gli elementi da trattare sono pochi, vi conviene utilizzare l'Id. Sicuramente vi sarete fatti questa domanda: "Una tag, può avere sia l'Id che la Class?". Certamente! Ma, e soprattutto per noi non vedenti, bisogna fare attenzione a non annidare troppi elementi, perché può diventare difficoltoso quando poi c'è da apportare delle modifiche alle pagine. Questo solo per dirvi di assicurarvi di mettervi in condizione di poter gestire le pagine non solo quando viene costruito il sito, ma anche successivamente nelle modifiche. “Il sottolineato”. Volendo, è possibile sottolineare del testo invece di evidenziarlo. Queste, poi, sono e rimangono scelte soggettive del programmatore. Però, e ve lo consiglio, generalmente si evita la sottolineatura, perché, per default, i browser sottolineano i link, quindi, sottolineando del testo, si confondono vedenti ed ipovedenti. In particolare, nel nostro caso questo non può accadere, perché, nelle lezioni dove ho spiegato il css per questi elementi, ho inserito la proprietà senza questa sottolineatura, quindi, nel sito che stiamo costruendo, i link non saranno sottolineati e se sottolineate del testo, non si può confondere. Comunque, è meglio evitare, perché i navigatori vedenti ed ipovedenti hanno l'abitudine di riconoscere un testo sottolineato come link, quindi, sottolineare del testo, trae in inganno il navigatore ed è molto fastidioso. Ecco di seguito la stringa, è la stessa che ho utilizzato per dare la proprietà a un link quando il puntatore del mouse passa sopra un link. `` a:hover {text-decoration: underline; }`` Il selettore indica appunto lo stato del link quando il puntatore è sopra, la proprietà è: "text-decoration", il suo valore è: "underline", quindi, sottolineato. Se volessi sottolineare il testo contenuto nella prima "span", quella che contiene il testo in inglese, la stringa sarà: span {text-decoration: underline; color: red; } La porzione di testo contenuta nella "span", sarà in Inglese, rossa e sottolineata. Vi rimando alla prossima lezione, dove, utilizzando il linguaggio CSS, vedremo gli elementi per ordinare gli oggetti nella pagina. *********** Per ulteriori spiegazioni, scrivere a: Roberto AbutzuTorna all'indice