⊗jsPmStCl 382 of 505 menu

Styling con classi CSS in JavaScript

Nella lezione precedente abbiamo imparato a cambiare gli stili CSS degli elementi modificando l'attributo style. Spesso questa non è una buona idea. Il fatto è che, se si spargono gli stili CSS nel codice JavaScript, in futuro sarà problematico cambiare il design del sito, poiché sarà necessario modificare il codice JavaScript alla ricerca degli stili inseriti lì.

Per una manutenzione futura più conveniente, è meglio aggiungere o rimuovere classi CSS agli elementi, stilizzandoli nel modo desiderato.

Vediamo un esempio. Supponiamo di avere diversi paragrafi:

<p>text1</p> <p>text2</p> <p>text3</p>

Facciamo in modo che cliccando su qualsiasi paragrafo, questo si colori di un qualche colore, ad esempio verde. Per fare ciò, nel file CSS creiamo una classe speciale per colorare i paragrafi:

.colored { color: green; }

Il vantaggio dell'uso della classe è che ora sarà facile cambiare il colore desiderato - per farlo basterà apportare una modifica al file CSS, senza modificare il codice JavaScript. Questo sarà particolarmente conveniente nel caso in cui il codice JavaScript lo scriviate voi, e in seguito a stilizzarlo sarà qualcun altro (forse una persona meno qualificata, che sa lavorare solo con CSS).

Quindi, ora, dopo aver introdotto la classe, al click su qualsiasi paragrafo è possibile cambiarne il colore, semplicemente aggiungendo la nostra classe:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function() { this.classList.add('colored'); // aggiungiamo la classe al paragrafo }); }

Spiegate perché ho scelto per il nome della classe la parola colored, e non la parola green, che indica chiaramente il colore da noi desiderato.

Dato un paragrafo. Date i pulsanti 'barrato', 'grassetto', 'rosso'. Fate in modo che alla pressione di ogni pulsante l'azione indicata avvenga sul paragrafo (diventi rosso, ad esempio).

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta