{"id":58341,"date":"2022-07-28T08:39:16","date_gmt":"2022-07-28T07:39:16","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=58341&#038;preview=true&#038;preview_id=58341"},"modified":"2024-08-22T09:45:41","modified_gmt":"2024-08-22T08:45:41","slug":"best-practice-css","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/","title":{"rendered":"14 Best Practice CSS per Principianti"},"content":{"rendered":"<p>Quando si inizia a lavorare con il web design, un elemento chiave per far s\u00ec che tutto funzioni correttamente e abbia l&#8217;aspetto che si desidera \u00e8 il CSS. \u00c8 l&#8217;acronimo di Cascading Style Sheets (fogli di stile a cascata) e permette di stilizzare gli <a href=\"https:\/\/kinsta.com\/it\/blog\/html-e-html5\/\" rel=\"noopener\">elementi HTML<\/a> come si desidera.<\/p>\n<p>Sebbene si possano sperimentare i CSS in molti modi, il pi\u00f9 delle volte in linea, c&#8217;\u00e8 un modo migliore per farlo. E questo \u00e8 in linea con una serie di best practice che bisognerebbe sempre seguire per essere sicuri che <a href=\"https:\/\/kinsta.com\/it\/blog\/modificare-codice-wordpress\/\" rel=\"noopener\">il proprio codice<\/a> sia funzionale, privo di ingombri inutili e ben organizzato.<\/p>\n<p>Oggi metteremo in evidenza 14 best practice di CSS per i principianti, ma anche i professionisti pi\u00f9 esperti dovrebbero rispolverare le nozioni di base ogni tanto.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<p><strong>Guarda la nostra <a href=\"https:\/\/www.youtube.com\/watch?v=8xCAf50UOA8\">Video-Guida con le Best Practice CSS per Principianti<\/a><\/strong><\/p>\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=8xCAf50UOA8\"><\/kinsta-video>\n<h2>1. Organizzare il Foglio di Stile<\/h2>\n<p>La prima cosa da fare quando si applicano le best practice di CSS \u00e8 organizzare i fogli di stile. Il modo in cui affronterete la questione dipender\u00e0 dal vostro progetto ma, come regola generale, dovrete attenervi ai seguenti principi organizzativi:<\/p>\n<h3>Siate coerenti<\/h3>\n<p>Indipendentemente dal modo in cui deciderete di organizzare il CSS, assicuratevi di mantenere le vostre scelte coerenti nell&#8217;intero foglio di stile e nell&#8217;intero sito web.<\/p>\n<p>Dalla denominazione delle classi all&#8217;indentazione delle righe fino alla struttura dei commenti, mantenere la coerenza vi aiuter\u00e0 a tenere traccia del vostro lavoro in modo pi\u00f9 semplice. Inoltre, vi permetter\u00e0 di apportare modifiche in un secondo momento senza problemi.<\/p>\n\n<h3>Usate Liberamente le Interruzioni di Riga<\/h3>\n<p>Anche se i CSS funzionano anche se sono visivamente brutti, \u00e8 meglio per voi e per gli altri sviluppatori che lavoreranno con il vostro codice se usate molte interruzioni di riga per mantenere ogni frammento di codice separato e leggibile.<\/p>\n<p>In genere, \u00e8 meglio inserire ogni coppia di propriet\u00e0 e valore su una <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Learn\/CSS\/Building_blocks\/Organizing\" target=\"_blank\" rel=\"noopener noreferrer\">nuova riga<\/a>.<\/p>\n<figure id=\"attachment_127110\" aria-describedby=\"caption-attachment-127110\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/01-css-new-line.png\" alt=\"Schermata di codice CSS da Mozilla.org, che mostra la leggibilit\u00e0 dei CSS quando sono strutturati in modo che le propriet\u00e0 e le coppie di valori esistano sulle proprie righe.\" width=\"900\" height=\"328\"><figcaption id=\"caption-attachment-127110\" class=\"wp-caption-text\">Codice CSS<\/figcaption><\/figure>\n<h3>Create Nuove Sezioni Dove Servono<\/h3>\n<p>Anche in questo caso, il modo in cui imposterete i vostri fogli di stile dipender\u00e0 in larga misura dal tipo di sito su cui state lavorando. Ma, come regola generale, \u00e8 buona norma creare delle sezioni per gli stili cos\u00ec come verranno utilizzati. Quindi, una sezione per gli stili di testo, una per gli elenchi e le colonne, una per la navigazione e i link e cos\u00ec via. Potete anche creare sezioni per pagine specifiche che potrebbero avere uno stile diverso dalle altre, come il negozio o le FAQ.<\/p>\n<h3>Commentate il Vostro Codice<\/h3>\n<p>Anche se solo tu doveste vedere il vostro CSS, \u00e8 comunque una buona idea essere scrupolosi nei commenti. I commenti avranno l&#8217;aspetto seguente:<\/p>\n<pre><code>\/* This is what a standard CSS comment looks like *\/<\/code><\/pre>\n<p>In questo modo \u00e8 pi\u00f9 facile capire a colpo d&#8217;occhio a cosa si riferisce ogni sezione, senza dover analizzare ogni riga in un secondo momento.<\/p>\n<p>I commenti possono aiutarvi a definire le sezioni, ma possono anche essere utilizzati per fornire informazioni sulle decisioni prese, soprattutto se pensate di poterle dimenticare in seguito.<\/p>\n<h3>Usate Fogli di Stile Separati per i Progetti pi\u00f9 Grandi<\/h3>\n<p>Questo non vale per tutti i siti web, ma se avete un sito di grandi dimensioni che richiede molti CSS specifici, \u00e8 bene utilizzare pi\u00f9 fogli di stile. Nessuno, voi compresi, deve perdere per molto tempo per trovare la singola riga di codice di cui ha bisogno.<\/p>\n<p>Evitate la seccatura e create fogli di stile separati per le diverse sezioni del sito, soprattutto se avranno stili completamente diversi.<\/p>\n<p>Ad esempio, potreste creare un foglio di stile per gli stili globali e un altro per il vostro <a href=\"https:\/\/kinsta.com\/it\/blog\/piattaforme-ecommerce\/\">negozio online<\/a> con stili dedicati alle descrizioni dei prodotti, alle intestazioni o ai prezzi.<\/p>\n<h2>2. CSS in Linea vs. CSS Esterni vs. CSS Interni<\/h2>\n<p>Esistono tre diversi tipi di CSS da utilizzare quando costruite un sito web e ne modificate lo stile. Parliamo un po&#8217; di cosa \u00e8 e cosa fa ciascuno di essi e poi cerchiamo di capire quale dovreste utilizzare per i vostri progetti.<\/p>\n<ul>\n<li><strong>CSS in linea. <\/strong>Consente di creare uno stile su elementi HTML specifici,<\/li>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/combinare-css-esterni\/\" rel=\"noopener\"><strong>CSS esterno<\/strong><\/a><strong>.<\/strong> Questo comporta l&#8217;utilizzo di un file come foglio di stile per creare lo stile del sito nel suo complesso.<\/li>\n<li><strong>CSS interno. <\/strong>Permette di creare lo stile di un&#8217;intera pagina invece che di elementi specifici.<\/li>\n<\/ul>\n<p>Molti sviluppatori consigliano di evitare assolutamente il CSS in linea, perch\u00e9 di solito non pu\u00f2 essere memorizzato nella cache, ed \u00e8 consigliabile evitare di dividere il CSS in pi\u00f9 file. Per lo meno, dovrebbe essere fatto con parsimonia.<\/p>\n<p>Se ne vede la necessit\u00e0 solo nel caso in cui si utilizzi un po&#8217; di stile su una singola sezione, un po&#8217; di testo o un&#8217;area di una singola pagina del vostro sito web. Questa \u00e8 probabilmente l&#8217;unica situazione in cui il CSS in linea \u00e8 una soluzione praticabile.<\/p>\n<p>A parte questo, l&#8217;uso di CSS esterni o interni, a seconda delle esigenze, sono le opzioni migliori perch\u00e9 fanno risparmiare tempo e fatica. Stabilite gli stili una volta sola e li applicate a tutto il vostro sito web. Boom!<\/p>\n<h2>3. Ridurre al Minimo il Foglio di Stile<\/h2>\n<p>Un&#8217;altra delle best practice di CSS consiste nel minificare i fogli di stile. Sono disponibili numerosi <a href=\"https:\/\/kinsta.com\/it\/blog\/minimizzare-javascript\/#how-to-minify-javascript-in-wordpress-top-5-tools-and-plugins\" rel=\"noopener\">strumenti di minificazione<\/a> per accelerare i tempi di caricamento dei vostri fogli di stile.<\/p>\n<h2>4. Usare un Preprocessore<\/h2>\n<p>Un <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-sviluppo-web\/\" rel=\"noopener\">preprocessore<\/a> come Sass\/SCSS vi permette di utilizzare variabili e funzioni, di organizzare meglio il vostro CSS e di risparmiare tempo. In questo modo potrete creare CSS a partire dalla sintassi del preprocessore.<\/p>\n<p>Ci\u00f2 significa che il preprocessore \u00e8 come un &#8220;CSS +&#8221; che include delle funzioni che di solito non esistono nei CSS. L&#8217;aggiunta di queste caratteristiche spesso rende il CSS prodotto pi\u00f9 leggibile e facile da navigare.<\/p>\n<p>Per utilizzare i preprocessori \u00e8 necessario un compilatore CSS sul server del vostro sito web. Alcuni dei preprocessori pi\u00f9 popolari sono <a href=\"https:\/\/sass-lang.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sass<\/a>, <a href=\"https:\/\/lesscss.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">LESS<\/a> e <a href=\"https:\/\/stylus-lang.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Stylus<\/a>.<\/p>\n<figure style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/sass.png\" alt=\"Sass\" width=\"900\" height=\"339\"><figcaption class=\"wp-caption-text\">Sass<\/figcaption><\/figure>\n<h2>5. Valutare un Framework CSS<\/h2>\n<p>I <a href=\"https:\/\/kinsta.com\/it\/blog\/tailwind-css\/\" rel=\"noopener\">framework CSS<\/a> possono essere utili in alcuni casi ma potrebbero essere superflui per molti, soprattutto se il sito web \u00e8 di piccole dimensioni.<\/p>\n<p>I framework possono facilitare l&#8217;implementazione rapida di progetti di grandi dimensioni ed evitare i bug. Inoltre, offrono il vantaggio della standardizzazione, che \u00e8 essenziale quando pi\u00f9 persone lavorano contemporaneamente a un progetto.<\/p>\n<p>Tutti utilizzeranno le stesse procedure di denominazione, le stesse opzioni di layout, le stesse procedure di commento e cos\u00ec via.<\/p>\n<p>D&#8217;altro canto, per\u00f2, danno vita a siti web dall&#8217;aspetto generico e gran parte del codice pu\u00f2 finire per essere inutilizzato.<\/p>\n<figure id=\"attachment_127113\" aria-describedby=\"caption-attachment-127113\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/bootstrap.png\" alt=\"Schermata della homepage di Bootstrap.\" width=\"900\" height=\"586\"><figcaption id=\"caption-attachment-127113\" class=\"wp-caption-text\">Bootstrap<\/figcaption><\/figure>\n<p>\u00c8 probabile che abbiate gi\u00e0 incontrato dei framework CSS. <a href=\"https:\/\/getbootstrap.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap<\/a> e <a href=\"https:\/\/get.foundation\/\" target=\"_blank\" rel=\"noopener noreferrer\">Foundation<\/a> sono due degli esempi pi\u00f9 popolari. Altri framework sono <a href=\"https:\/\/kinsta.com\/it\/blog\/tailwind-css\/\" rel=\"noopener\">Tailwind CSS<\/a> e <a href=\"https:\/\/bulma.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bulma<\/a>.<\/p>\n<h2>6. Iniziare con un Reset<\/h2>\n<p>Un&#8217;altra cosa da mettere rapidamente in pratica \u00e8 iniziare il lavoro di sviluppo con un reset dei CSS. Utilizzando un file come <a href=\"https:\/\/necolas.github.io\/normalize.css\/\" target=\"_blank\" rel=\"noopener noreferrer\">normalize.css<\/a>, farete in modo che tutti i browser rendano gli elementi della pagina in modo coerente, seguendo gli standard pi\u00f9 aggiornati per ridurre al minimo le incoerenze dei browser.<\/p>\n<p>Questo reset \u00e8 in realt\u00e0 un piccolo file CSS che viene caricato sul vostro sito web per aggiungere un maggiore livello di coerenza cross-browser allo stile degli elementi HTML e serve come metodo aggiornato per effettuare un reset CSS.<\/p>\n<h2>7. Classi e ID<\/h2>\n<p>L&#8217;aspetto successivo a cui prestare attenzione secondo le best practice di CSS \u00e8 il trattamento delle classi e degli ID. Nel caso in cui non ne foste a conoscenza, diamo una breve definizione di entrambi i termini:<\/p>\n<ul>\n<li><strong>Classe.<\/strong> Il <a href=\"https:\/\/www.educative.io\/answers\/class-and-id-selectors-in-css\" target=\"_blank\" rel=\"noopener noreferrer\">selettore di classe<\/a> seleziona un elemento con un attributo di classe. Il contenuto dell&#8217;attributo class determina il modo in cui l&#8217;elemento HTML viene selezionato. Nel codice si presenta come segue: <strong>.classname<\/strong><\/li>\n<li><strong>ID.<\/strong> L&#8217;ID, invece, seleziona un elemento con un attributo ID. L&#8217;attributo ID deve essere uguale al valore del selettore. Potete riconoscere un ID nel CSS con questo simbolo: <strong>#<\/strong>.<\/li>\n<\/ul>\n<p>Un ID viene utilizzato per selezionare un singolo elemento, mentre una classe viene utilizzata per selezionare pi\u00f9 elementi. Utilizzerete un ID per applicare uno stile a un singolo elemento HTML, una classe per applicare uno stile a pi\u00f9 <a href=\"https:\/\/kinsta.com\/it\/blog\/imparare-html\/\" rel=\"noopener\">elementi HTML<\/a>. Seguire questa regola generale aiuta a mantenere il codice pulito e ordinato e riduce anche la quantit\u00e0 di codice inutile o duplicato.<\/p>\n<p>Analogamente a quanto abbiamo detto in precedenza sui CSS in linea o esterni, si utilizza un ID per applicare uno stile a un singolo elemento. In pratica, gli ID devono essere utilizzati per lo stile delle eccezioni presenti nella pagina, non per stili generali da applicare all&#8217;intera pagina o sito web.<\/p>\n<h2>8. Evitare la Ridondanza<\/h2>\n<p>Un&#8217;altra delle best practice di CSS da seguire \u00e8 quella di evitare la ridondanza quando e come possibile. Ecco alcuni consigli generali da seguire per applicare questa prassi al vostro flusso di lavoro:<\/p>\n<h3>Usare il Metodo DRY<\/h3>\n<p>Il metodo DRY \u00e8 l&#8217;acronimo di &#8220;Don&#8217;t Repeat Yourself&#8221; (non ripetere se stessi) ed \u00e8 fondamentalmente l&#8217;idea di non ripetere mai il codice nei CSS. Nel migliore dei casi, infatti, inserire manualmente questi stili pi\u00f9 e pi\u00f9 volte \u00e8 una perdita di tempo e una ripetizione, ma nel peggiore dei casi pu\u00f2 rallentare il sito web.<\/p>\n<p>\u00c8 buona norma rivedere il codice per eliminare le ridondanze. Ad esempio, non \u00e8 necessario che i tag identifichino la dimensione del carattere due volte nella stessa sezione. Eliminando le ripetizioni, il codice si legger\u00e0 e funzioner\u00e0 meglio.<\/p>\n<h3>Usare le Scorciatoie CSS<\/h3>\n<p>Le scorciatoie CSS sono un ottimo modo per ridurre lo spazio occupato dal codice, pur continuando a funzionare come dovrebbe. Potete combinare pi\u00f9 stili all&#8217;interno di una singola riga se ha senso farlo. Ad esempio, se state impostando gli stili di un particolare div, potete definire il margine, il padding, il carattere, la dimensione del carattere e il colore su un&#8217;unica riga.<\/p>\n<h3>Aggiungere pi\u00f9 Classi agli Elementi<\/h3>\n<p>Se necessario, potete anche evitare le ridondanze aggiungendo pi\u00f9 di una classe a un elemento. Ad esempio, se il contenuto della pagina fluttua gi\u00e0 a sinistra grazie alla classe <strong>.left<\/strong> ma volete posizionare una colonna della pagina a destra, potete aggiungere questa classe all&#8217;elemento per evitare confusione e per indicare al CSS in modo specifico quale elemento volete che fluttui a destra <em>oltre<\/em> all&#8217;allineamento standard a sinistra.<\/p>\n<p>Il bello \u00e8 che potete aggiungere a un elemento tutte le classi che volete, purch\u00e9 siano separate da uno spazio.<\/p>\n<h3>Combinare gli Elementi Dove Possibile<\/h3>\n<p>Invece di elencare gli elementi uno per uno, combinateli per risparmiare spazio e tempo. Spesso gli elementi di un singolo foglio di stile avranno gli stessi stili (o stili simili). Non c&#8217;\u00e8 bisogno di elencare il font, il colore e l&#8217;allineamento di ogni elemento di testo della pagina se tutti condividono lo stesso stile. Invece, \u00e8 meglio combinarli in un&#8217;unica riga, come in questo caso:<\/p>\n<pre><code>h1, h2, h3, p {\nfont-family: arial,\ncolor: #00000\n}<\/code><\/pre>\n<h3>Evitare i Selettori Non Necessari<\/h3>\n<p>A volte, mentre si lavora per finalizzare il design del sito, il codice diventa un po&#8217; disordinato. Per questo motivo \u00e8 importante tornare indietro e rimuovere i selettori non necessari. Dovreste anche fare attenzione ai selettori troppo complessi. Ad esempio, se avete intenzione di creare degli elenchi sul vostro sito web, non avete bisogno di utilizzare selettori come &#8220;body&#8221; o &#8220;container&#8221; o simili. Sar\u00e0 sufficiente <strong>.classname li {<\/strong>.<\/p>\n<h2>9. Come Importare Correttamente i Font<\/h2>\n<p>Importare e <a href=\"https:\/\/kinsta.com\/it\/blog\/font-html\/\" rel=\"noopener\">utilizzare correttamente i font<\/a> \u00e8 un altro modo per garantire che il vostro CSS sia chiaro, conciso e ottimizzato.<\/p>\n<h3>Usare @font-face per Importare i Font<\/h3>\n<p>Potete aggiungere qualsiasi font al vostro sito, ma dovrete seguire una procedura specifica per assicurarvi che funzioni correttamente.<\/p>\n<figure style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/web-font-generator.png\" alt=\"Webfont Generator\" width=\"900\" height=\"343\"><figcaption class=\"wp-caption-text\">Webfont Generator<\/figcaption><\/figure>\n<ol>\n<li><strong>Scaricate il font che volete utilizzare.<\/strong> Ci sono molti posti dove potete trovare i font, tra cui Google e Adobe. Scaricate il file TrueType Font (.ttf) del font scelto.<\/li>\n<li><strong>Caricate il font personalizzato che volete utilizzare nel <a href=\"https:\/\/www.fontsquirrel.com\/tools\/webfont-generator\" target=\"_blank\" rel=\"noopener noreferrer\">Generatore di Webfont<\/a><\/strong> <strong>messo a disposizione da Font Squirrel.<\/strong> Scaricate il Web Font Kit una volta generato. Dovrebbe contenere diversi file, tra cui diversi file di font con estensioni come .ttf, .woff, .woff2 e .eot. Dovrebbe essere incluso anche un file CSS.<\/li>\n<li><strong>Caricate il Web Font Kit sul vostro sito via FTP.<\/strong> Le istruzioni specifiche per questa operazione variano a seconda del vostro provider di hosting, ma in genere potete accedere ai file del vostro sito utilizzando un <a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-client-ftp\/\">client FTP<\/a> o il file manager dell&#8217;interfaccia di amministrazione del vostro host, come <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-cpanel\/\" rel=\"noopener\">cPanel<\/a>.<\/li>\n<li><strong>Aggiornate il file CSS utilizzando un <a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-editor-di-testo\/\" rel=\"noopener\">editor di testo<\/a><\/strong><strong>.<\/strong> Va bene qualsiasi editor di testo HTML, come NotePad o Sublime. All&#8217;interno di questo file sar\u00e0 presente un &#8220;URL di origine&#8221;. Dovrete aggiornarlo in modo che rifletta la posizione del Web Font Kit sul vostro server web. Copiate in questo file il percorso di ciascun file di font memorizzato sul vostro host web come segue:<\/li>\n<\/ol>\n<pre><code>@font-face {\nfont-family: \"FontName\";\nsrc: url(\"https:\/\/sitename.com\/css\/fonts\/FontName.eot\");\nsrc: url(\"https:\/\/sitename.com\/css\/fonts\/FontName.woff\") format(\"woff\"),\nurl(\"https:\/\/sitename.com\/css\/fonts\/FontName.otf\") format(\"opentype\"),\nurl(\"https:\/\/sitename.com\/css\/fonts\/FontName.svg#filename\") format(\"svg\");\n}<\/code><\/pre>\n<p>Potrete quindi utilizzare i vostri nuovi font aggiungendoli ai file CSS del vostro sito con il tag <strong>font-family<\/strong>.<\/p>\n<p>Per migliorare le prestazioni del sito ed evitare strani aggiustamenti del layout durante il caricamento, potete precaricare i font. Il <a href=\"https:\/\/kinsta.com\/it\/blog\/come-cambiare-i-font-in-wordpress\/\" rel=\"noopener\">precaricamento dei font<\/a> e il caricamento dei font WOFF2 (o comunque della dimensione pi\u00f9 piccola) pu\u00f2 migliorare notevolmente le prestazioni. Per farlo basta aggiungere una riga di codice al tag <strong>&lt;head&gt;<\/strong>. <a href=\"https:\/\/betterwebtype.com\/articles\/2019\/11\/02\/preloading-fonts-when-does-it-make-sense\/\" target=\"_blank\" rel=\"noopener noreferrer\">Better Web Type<\/a> offre un esempio conciso:<\/p>\n<pre><code>&lt;link rel=\"preload\" as=\"font\" href=\"\/assets\/fonts\/3A1C32_0_0.woff2\" type=\"font\/woff2\" crossorigin=\"crossorigin\"&gt;<\/code><\/pre>\n<p>Un&#8217;altra cosa che potete fare \u00e8 limitare il set di caratteri dei vostri font personalizzati. Se utilizzate solo alcuni caratteri di un font (ad esempio per un&#8217;intestazione o un logo) non \u00e8 necessario richiamare l&#8217;intero set di caratteri, ma solo alcuni di quelli effettivamente necessari. Per richiedere solo i caratteri &#8220;Hello&#8221; dovreste procedere come segue:<\/p>\n<pre><code>&lt;link href=\"http:\/\/fonts.googleapis.com\/css?family=Open+Sans&text=Hello\" rel=\"stylesheet\"&gt;<\/code><\/pre>\n<h3>Font Self-Hosted Quando Possibile<\/h3>\n<p>La procedura descritta sopra riguarda i <a href=\"https:\/\/kinsta.com\/blog\/local-fonts\/\" rel=\"noopener\">font self-hosted<\/a>, ma \u00e8 importante ribadire che questo \u00e8 l&#8217;approccio migliore. Accelera notevolmente i tempi di caricamento e vi permette di non dipendere dalla velocit\u00e0 di un altro sito per completare il processo di caricamento del vostro sito.<\/p>\n<h3>Fare Attenzione alle Variazioni di Carattere<\/h3>\n<p>Le <a href=\"https:\/\/csshell.dev\/posts\/font-variation-misfortune\/\" target=\"_blank\" rel=\"noopener noreferrer\">variazioni di carattere<\/a> possono essere molto utili per aggiungere stili divertenti al vostro sito web. Tuttavia, se usate male, possono anche rovinare il sito.<\/p>\n<p>Se assegnate pi\u00f9 di uno stile alle <strong>impostazioni delle variazioni dei font<\/strong>, \u00e8 probabile che si sovrappongano e che uno prevalga sull&#8217;altro. \u00c8 molto meglio mantenere le cose semplici e utilizzare le propriet\u00e0 dei font, come illustrato qui:<\/p>\n<pre><code>.bold {\nfont-weight: bold;\n}\n.italic {\nfont-style: italic;\n}<\/code><\/pre>\n<h3>Utilizzare un Font di Fallback<\/h3>\n<p>Anche se vi siete sforzati di aggiungere un font personalizzato al vostro sito web e di utilizzarlo tramite i CSS, non funzioner\u00e0 sempre al 100%, soprattutto se l&#8217;accesso avviene da parte di persone con un browser non aggiornato. Ma vorrete comunque che i visitatori del sito abbiano un&#8217;esperienza di navigazione piacevole.<\/p>\n<p>Per questo \u00e8 fondamentale impostare un font di riserva da utilizzare nel caso in cui nessuno degli altri font sia utilizzabile. Per farlo, dovete semplicemente inserire il font di fallback dopo il font preferito quando assegnate il <strong>font-family<\/strong>. In questo modo, CSS chiamer\u00e0 prima il vostro font preferito, poi la seconda scelta, poi la terza e cos\u00ec via.<\/p>\n<p>Secondo <a href=\"https:\/\/www.w3schools.com\/css\/css_font_fallbacks.asp\" target=\"_blank\" rel=\"noopener noreferrer\">W3Schools<\/a>, esistono cinque categorie principali di <a href=\"https:\/\/kinsta.com\/it\/blog\/font-html\/\" rel=\"noopener\">famiglie di font<\/a>. Di seguito vi presentiamo un elenco di queste famiglie con i font di fallback pi\u00f9 diffusi che rientrano in ognuna di esse.<\/p>\n<ul>\n<li><strong>Serif:<\/strong> Times New Roman, Georgia, Garamond<\/li>\n<li><strong>Sans-serif: <\/strong>Arial, Tahoma, Helvetica<\/li>\n<li><strong>Monospace:<\/strong> Courier New<\/li>\n<li><strong>Corsivo:<\/strong> Brush Script MT<\/li>\n<li><strong>Fantasia:<\/strong> Copperplate, Papyrus<\/li>\n<\/ul>\n<h2>10. Rendere il CSS Accessibile<\/h2>\n<p>Tutti dovrebbero rendere accessibili i propri siti web. Questo vale anche per voi. Il vostro obiettivo dovrebbe essere quello di rendere il vostro sito web utilizzabile dal maggior numero di persone possibile e l&#8217;implementazione di misure di accessibilit\u00e0 \u00e8 un modo fantastico per raggiungere questo obiettivo.<\/p>\n<p>Potete rendere accessibile il vostro CSS in diversi modi:<\/p>\n<ul>\n<li>Aggiungere una <a href=\"https:\/\/kinsta.com\/it\/blog\/colore-font-html\/\" rel=\"noopener\">variazione di colore<\/a> ai link per farli risaltare.<\/li>\n<li>Rendere i pop-up disattivabili premendo il tasto ESC. Coloro che utilizzano screen reader o ingrandimenti spesso non sono in grado di vedere la &#8220;X&#8221; sullo schermo per chiudere un pop-up, quindi \u00e8 essenziale renderli eliminabili tramite un tasto.<\/li>\n<li>Alcuni dispositivi non visualizzano nemmeno i pop-up, quindi assicuratevi che tutte le informazioni essenziali siano trasmesse altrove.<\/li>\n<li>Gli elementi Hover (come i tooltip) dovrebbero essere <a href=\"https:\/\/accessuse.eu\/en\/Content-hover-focus.html\" target=\"_blank\" rel=\"noopener noreferrer\">attivati dal tasto Tab<\/a> e dal passaggio del mouse.<\/li>\n<li>Non rimuovere i contorni. I browser visualizzano automaticamente un contorno intorno agli <a href=\"https:\/\/kinsta.com\/it\/blog\/elementi-selezionabili-troppo-vicini-tra-loro\/\" rel=\"noopener\">elementi<\/a> che hanno il focus. Potete disabilitare questa funzione utilizzando <strong>outline:none<\/strong> ma non dovreste farlo, perch\u00e9 \u00e8 preziosa per coloro che utilizzano screen reader o che sono ipovedenti e hanno bisogno di punti di evidenziazione\/focalizzazione aggiuntivi per la navigazione.<\/li>\n<li>Migliorare l&#8217;indicatore di messa a fuoco. Come gi\u00e0 detto, i contorni intorno agli elementi evidenziati sono essenziali per la navigazione di molti, ma il contorno predefinito \u00e8 spesso poco visibile. Potete modificare questo aspetto per renderlo pi\u00f9 visibile utilizzando <strong>:focus<\/strong> per impostare uno stile che attiri maggiormente l&#8217;attenzione su ci\u00f2 che \u00e8 attualmente a fuoco. Potete fare qualcosa di simile con <strong>:hover<\/strong> per migliorare gli effetti di copertura. Un buon esempio di <strong>:focus<\/strong> in azione proviene da una serie di linee guida sull&#8217;accessibilit\u00e0 <a href=\"https:\/\/www.washington.edu\/accessibility\/checklist\/focus\/\">dell&#8217;Universit\u00e0 di Washington<\/a>:<\/li>\n<\/ul>\n<pre><code>a {\ncolor: black;\nbackground-color: white;\ntext-decoration: underline\n}\na:focus, a:hover {\ncolor: white;\nbackground-color: black;\ntext-decoration: none\n}<\/code><\/pre>\n<p>Questo frammento di codice fa in modo che i link vengano visualizzati come testo nero su sfondo bianco, ma che passino al testo bianco su sfondo quando vengono messi sotto il focus della tastiera (quando l&#8217;utente si posiziona sull&#8217;elemento). Lo stesso effetto si verifica anche al passaggio del mouse.<\/p>\n<h2>11. Implementare le Convenzioni di Denominazione<\/h2>\n<p>Pu\u00f2 sembrare una cosa da poco, ma il nome che decidete di dare agli elementi nel CSS pu\u00f2 avere un impatto duraturo e pu\u00f2 costarvi tempo e denaro in futuro se fatto in modo improprio. Prima ancora di iniziare a <a href=\"https:\/\/kinsta.com\/it\/blog\/eliminare-javascript-e-css-che-boccano-la-visualizzazione\/\" rel=\"noopener\">scrivere i CSS<\/a>, dovreste stabilire una serie di convenzioni di denominazione e attenervi ad esse.<\/p>\n<p>In questo modo risparmierete molto tempo in fase di debugging, perch\u00e9 \u00e8 meno probabile che facciate riferimento all&#8217;elemento sbagliato durante la scrittura del codice. Secondo <a href=\"https:\/\/www.freecodecamp.org\/news\/css-naming-conventions-that-will-save-you-hours-of-debugging-35cea737d849\/\" target=\"_blank\" rel=\"noopener noreferrer\">FreeCodeCamp<\/a>, un buon approccio \u00e8 quello di attenersi alla formattazione standard dei nomi CSS, ad esempio <strong>font-weight<\/strong> vs <strong>fontWeight<\/strong>.<\/p>\n<h3>La Convenzione di Denominazione BEM<\/h3>\n<p>Un buon modo per mantenere i nomi coerenti \u00e8 quello di utilizzare la convenzione di denominazione <a href=\"http:\/\/getbem.com\/naming\/\" target=\"_blank\" rel=\"noopener noreferrer\">BEM<\/a>. Lo scopo del BEM \u00e8 quello di suddividere l&#8217;interfaccia utente in componenti che possono essere riutilizzati pi\u00f9 volte.<\/p>\n<p>BEM sta per Block, Element e Modifier. Ma vediamo cosa significa in realt\u00e0.<\/p>\n<ul>\n<li><strong><strong>Blocco<\/strong><\/strong><strong>:<\/strong> Un blocco pu\u00f2 essere qualsiasi elemento di design del vostro sito web, come un menu, un&#8217;intestazione, un footer o una colonna. I blocchi dovrebbero avere nomi come .main-nav o .footer.<\/li>\n<li><strong>Elemento<\/strong>. Gli elementi descrivono i pezzi che compongono ogni blocco. Pensate a elementi come font, colori, pulsanti, elenchi o link. Quando si utilizza la convenzione di denominazione BEM, gli elementi vengono identificati anteponendo due trattini bassi al nome dell&#8217;elemento. Quindi, se volessimo parlare del font utilizzato nell&#8217;intestazione del vostro sito web, il CSS avrebbe questo aspetto con la convenzione di denominazione BEM: <strong>.header__font<\/strong><\/li>\n<li><strong>Modificatore<\/strong>. L&#8217;ultimo pezzo del puzzle BEM \u00e8 il modificatore. I modificatori permettono di stabilire lo stile dell&#8217;elemento all&#8217;interno del blocco. Includono elementi come i nomi dei font, i pesi e le dimensioni, i valori dei colori e i valori di allineamento. Continuando a lavorare con l&#8217;esempio precedente, se voleste impostare il colore del carattere all&#8217;interno dell&#8217;intestazione, lo scrivereste in questo modo con l&#8217;elemento e il modificatore separati da due trattini: <strong>.header__font-red<\/strong><\/li>\n<\/ul>\n<p>Seguire questa convenzione di denominazione &#8211; o un&#8217;altra che il vostro team decider\u00e0 di adottare &#8211; pu\u00f2 rendere molto pi\u00f9 piacevole l&#8217;editing e il debug in seguito.<\/p>\n<h2>12. Evitare il Tag !important<\/h2>\n<p>Un&#8217;altra buona pratica da implementare nella routine di lavoro sui CSS \u00e8 quella di evitare il pi\u00f9 possibile l&#8217;uso eccessivo del tag <strong>!important<\/strong>.<\/p>\n<p>Sebbene <em>possa<\/em> risolvere dei problemi, il suo utilizzo porta spesso a farci affidamento come una stampella. Questo pu\u00f2 portare a una confusione di <a href=\"https:\/\/kinsta.com\/it\/blog\/ottimizzare-css\/\" rel=\"noopener\">tag <strong>!important<\/strong><\/a> in tutto il codice che pu\u00f2 finire per distruggere il vostro sito.<\/p>\n<p>Il punto di partenza \u00e8 la <a href=\"https:\/\/stackoverflow.com\/questions\/3706819\/what-are-the-implications-of-using-important-in-css\" target=\"_blank\" rel=\"noopener noreferrer\">specificit\u00e0<\/a>. Se un selettore \u00e8 molto specifico, il browser lo riterr\u00e0 pi\u00f9 importante rispetto a selettori meno specifici. Il tag !important pu\u00f2 essere utilizzato per identificare le propriet\u00e0 pi\u00f9 importanti di altre.<\/p>\n<p>Questo pu\u00f2 essere complicato, perch\u00e9 spesso si finisce per dover utilizzare pi\u00f9 tag !important, ognuno dei quali sostituisce il precedente in determinati casi. Se lo fate troppo spesso, il sito pu\u00f2 rompersi o gli stili non vengono caricati correttamente. Nella maggior parte dei casi, questo tag viene utilizzato come soluzione a breve termine, ma spesso diventa permanente e pu\u00f2 causare problemi in seguito, in particolare quando \u00e8 necessario eseguire il debug.<\/p>\n<p>Uno degli unici casi in cui l&#8217;uso del tag !important \u00e8 considerato generalmente accettabile \u00e8 quello di consentire all&#8217;utente finale di sovrascrivere gli stili per l&#8217;uso di screen reader e altri ausili per l&#8217;accessibilit\u00e0. \u00c8 utile anche quando si ha a che fare con classi di utilit\u00e0.<\/p>\n<h2>13. Usare Flexbox<\/h2>\n<p>Nell&#8217;implementazione delle best practice di CSS nel flusso di lavoro, c&#8217;\u00e8 anche l&#8217;utilizzo di Flexbox. Flexbox permette di creare un layout web e allineare gli elementi sulla pagina, invece di utilizzare la tradizionale opzione <a href=\"https:\/\/csshell.dev\/posts\/we-dont-float-down-here-anymore\/\" target=\"_blank\" rel=\"noopener noreferrer\">float<\/a>.<\/p>\n<p>Secondo <a href=\"https:\/\/css-tricks.com\/snippets\/css\/a-guide-to-flexbox\/\" target=\"_blank\" rel=\"noopener noreferrer\">CSS-Tricks<\/a>, Flexbox \u00e8 un modulo box flessibile che rappresenta un modo alternativo di strutturare il CSS prestando attenzione a come i layout sono allineati e distribuiti all&#8217;interno di un contenitore. La parte migliore \u00e8 che non \u00e8 necessario conoscere le dimensioni del contenitore stesso, ma le propriet\u00e0 contenute si &#8220;flettono&#8221; al variare delle dimensioni del contenitore. Questo \u00e8 un ottimo modo per adattarsi ai dispositivi mobili.<\/p>\n<p>Un&#8217;altra differenza fondamentale \u00e8 che il Flexbox \u00e8 &#8220;indipendente dalla direzione&#8221;, il che significa che i layout non sono strutturati verticalmente o orizzontalmente. Questo lo rende una scelta migliore per la progettazione di siti web e applicazioni complicate che devono adattarsi a molti cambi di orientamento dello schermo. I layout CSS standard sono basati su blocchi, mentre i layout flexbox si basano sul &#8220;flex-flow&#8221;. Anche in questo caso, CSS-Tricks offre un disegno conciso che illustra bene questo concetto:<\/p>\n<figure style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/flexbox.png\" alt=\"Come funzionano i layout flexbox da CSS-Tricks\" width=\"900\" height=\"447\"><figcaption class=\"wp-caption-text\">Come funzionano i layout flexbox da CSS-Tricks<\/figcaption><\/figure>\n<p>Gli elementi all&#8217;interno del flexbox sono disposti <strong>sull&#8217;asse principale<\/strong> e <strong>sull&#8217;asse trasversale<\/strong>, dove ogni elemento e ogni propriet\u00e0 al suo interno sono progettati per flettersi e scorrere in base alle dimensioni del contenitore flex.<\/p>\n<h2>14. Suggerimento per WordPress: Non modificare direttamente i file del tema<\/h2>\n<p>L&#8217;ultima delle best practice di CSS di cui parleremo oggi riguarda in particolare gli <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-css\/\" rel=\"noopener\">utenti di WordPress<\/a>. Non \u00e8 mai una buona idea modificare direttamente i file del vostro tema. Qualsiasi aggiornamento del sito potrebbe cancellare queste modifiche o romperlo del tutto. Non vale la pena rischiare.<\/p>\n<p>Invece, potete utilizzare l&#8217;opzione <strong>CSS aggiuntivo<\/strong> nel Theme Customizer per apportare tutte le modifiche che desiderate. Tuttavia, tenete presente che questa opzione inietta il CSS in linea e lo inserisce direttamente nell&#8217;head.<\/p>\n<p>Se volete apportare solo una o due modifiche, questa pu\u00f2 essere un&#8217;opzione valida; tuttavia, tutto ci\u00f2 che inserite nel riquadro del <strong>CSS aggiuntivo<\/strong> rimarr\u00e0 anche se effettuate un aggiornamento del tema, un aggiornamento del sito o addirittura se cambiate tema.<\/p>\n<p>Se sono necessarie modifiche CSS pi\u00f9 consistenti, \u00e8 meglio aggiungerle da un foglio di stile CSS personalizzato o utilizzando un child theme in cui modificate direttamente il file <strong>style.css<\/strong>. Questo metodo \u00e8 anche a prova di aggiornamento.<\/p>\n\n<h2>Riepilogo<\/h2>\n<p>Immergersi a capofitto nella creazione di CSS utili e accurati pu\u00f2 sembrare <em>un&#8217;impresa ardua<\/em> per un principiante, ma prendersi il tempo necessario per imparare le best practice pu\u00f2 far risparmiare molto tempo, fatica e mal di testa.<\/p>\n<p>Ci auguriamo che questa raccolta di best practice vi aiuti a seguire la strada giusta per costruire <a href=\"https:\/\/kinsta.com\/it\/blog\/accessibilita-wordpress\/\">siti web funzionali, utili e accessibili<\/a> negli anni. Buona fortuna!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando si inizia a lavorare con il web design, un elemento chiave per far s\u00ec che tutto funzioni correttamente e abbia l&#8217;aspetto che si desidera \u00e8 &#8230;<\/p>\n","protected":false},"author":117,"featured_media":58543,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[25959,24367,15892],"topic":[25873],"class_list":["post-58341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-best-practice-di-programmazione","tag-css","tag-web-development","topic-sviluppo-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>14 Best Practice CSS per Principianti<\/title>\n<meta name=\"description\" content=\"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"14 Best Practice CSS per Principianti\" \/>\n<meta property=\"og:description\" content=\"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-28T07:39:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-22T08:45:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Salman Ravoof\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@salmanravoof\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Salman Ravoof\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\"},\"author\":{\"name\":\"Salman Ravoof\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\"},\"headline\":\"14 Best Practice CSS per Principianti\",\"datePublished\":\"2022-07-28T07:39:16+00:00\",\"dateModified\":\"2024-08-22T08:45:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\"},\"wordCount\":3953,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\",\"keywords\":[\"Best Practice di Programmazione\",\"css\",\"web development\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\",\"name\":\"14 Best Practice CSS per Principianti\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\",\"datePublished\":\"2022-07-28T07:39:16+00:00\",\"dateModified\":\"2024-08-22T08:45:41+00:00\",\"description\":\"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"14 Best Practice CSS per Principianti\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sviluppo di WordPress\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"14 Best Practice CSS per Principianti\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\",\"name\":\"Salman Ravoof\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"caption\":\"Salman Ravoof\"},\"description\":\"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.\",\"sameAs\":[\"https:\/\/salmanravoof.com\",\"https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/\",\"https:\/\/x.com\/salmanravoof\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/salmanravoof\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"14 Best Practice CSS per Principianti","description":"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/","og_locale":"it_IT","og_type":"article","og_title":"14 Best Practice CSS per Principianti","og_description":"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.","og_url":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2022-07-28T07:39:16+00:00","article_modified_time":"2024-08-22T08:45:41+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","type":"image\/jpeg"}],"author":"Salman Ravoof","twitter_card":"summary_large_image","twitter_description":"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","twitter_creator":"@salmanravoof","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Salman Ravoof","Tempo di lettura stimato":"23 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/"},"author":{"name":"Salman Ravoof","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987"},"headline":"14 Best Practice CSS per Principianti","datePublished":"2022-07-28T07:39:16+00:00","dateModified":"2024-08-22T08:45:41+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/"},"wordCount":3953,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","keywords":["Best Practice di Programmazione","css","web development"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/","url":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/","name":"14 Best Practice CSS per Principianti","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","datePublished":"2022-07-28T07:39:16+00:00","dateModified":"2024-08-22T08:45:41+00:00","description":"\u00c8 possibile imparare a sfruttare al meglio i CSS anche da principianti. Questa guida alle best practice CSS ti aiuter\u00e0 a iniziare e non solo.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/best-practice-css\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/best-practice-css.jpeg","width":1460,"height":730,"caption":"14 Best Practice CSS per Principianti"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Sviluppo di WordPress","item":"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/"},{"@type":"ListItem","position":3,"name":"14 Best Practice CSS per Principianti"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987","name":"Salman Ravoof","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","caption":"Salman Ravoof"},"description":"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.","sameAs":["https:\/\/salmanravoof.com","https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/","https:\/\/x.com\/salmanravoof"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/salmanravoof\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/117"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=58341"}],"version-history":[{"count":13,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58341\/revisions"}],"predecessor-version":[{"id":78678,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58341\/revisions\/78678"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/jp"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58341\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/58543"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=58341"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=58341"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=58341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}