<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Ivan Forcati - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Ivan Forcati - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 22 May 2026 20:02:44 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/author/ivan/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Allineamento verticale in CSS - Come centrare un div, un testo o un'immagine (con esempi di codice) ]]>
                </title>
                <description>
                    <![CDATA[ Anche con l'aiuto di strumenti come CSS Grid e Flexbox, centrare gli elementi in CSS rimane un compito abbastanza complicato. È il tema di molte battute e meme, e quando si riesce a centrare qualcosa con successo, di solito ci si vanta di averlo fatto. Perché centrare elementi in CSS ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/allineamento-verticale-in-css-come-centrare-un-div-un-testo-o-unimmagine-con-esempi-di-codice/</link>
                <guid isPermaLink="false">67a5eff589635a042bc7010b</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ivan Forcati ]]>
                </dc:creator>
                <pubDate>Tue, 06 Jan 2026 20:17:03 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2026/01/center.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/css-vertical-align-how-to-center-a-div-text-or-an-image-example-code/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Vertical Align – How to Center a Div, Text, or an Image [Example Code]</a>
      </p><p>Anche con l'aiuto di strumenti come CSS Grid e Flexbox, centrare gli elementi in CSS rimane un compito abbastanza complicato.</p><p>È il tema di molte battute e meme, e quando si riesce a centrare qualcosa con successo, di solito ci si vanta di averlo fatto.</p><h2 id="perch-centrare-elementi-in-css-cos-difficile"><strong>Perché centrare elementi in CSS è così difficile?</strong></h2><p>Non è sempre facile lavorare con CSS. Ad esempio, allineare qualcosa orizzontalmente OPPURE verticalmente non è troppo difficile.</p><p>Si può impostare l'allineamento del testo centrato con <code>text-align: center</code> per un elemento a livello di linea e <code>margin: 0 auto</code> per un elemento a livello di blocco.</p><p>Ma se si prova a combinare sia l'allineamento verticale sia l'allineamento orizzontale, allora iniziano a comparire diversi problemi.</p><p>In questo tutorial, vedremo tre metodi diversi per centrare correttamente un div, un testo o un'immagine in CSS.</p><h2 id="come-centrare-un-elemento-con-la-propriet-css-position"><strong>Come centrare un elemento con la proprietà CSS <code>position</code></strong></h2><p>La proprietà CSS <code>position</code> accetta i valori <code>relative</code>, <code>absolute</code>, <code>fixed</code> e <code>static</code> (il valore di default). Quando viene impostata per un elemento, si possono poi utilizzare le proprietà <code>top</code>, <code>right</code>, <code>bottom</code> e <code>left</code> per quell'elemento.</p><p>Con una combinazione di valori assoluti e relativi si possono ottenere molte cose diverse e si possono utilizzare per centrare qualsiasi cosa.</p><p>Diamo un'occhiata ai frammenti di codice sottostanti, considerando alcuni esempi.</p><h3 id="come-centrare-il-testo-con-la-posizione-in-css"><strong>Come centrare il testo con la posizione in CSS</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;p&gt;I'm a Camper, and I'm vertically centered&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
} 

.container {
  position: relative;
  height: 400px;
  border: 2px solid #006100;
}

.centered-element {
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss1b.png" class="kg-image" alt="ss1b" width="600" height="400" loading="lazy"></figure><h3 id="come-centrare-un-immagine-con-la-posizione-in-css"><strong>Come centrare un'immagine con la posizione in CSS</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;img src="freecodecamp.png" alt="centered" /&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  position: relative;
  height: 400px;
  border: 2px solid #006100;
}

.centered-element {
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss2b.png" class="kg-image" alt="ss2b" width="600" height="400" loading="lazy"></figure><p>Il codice qui sopra ha reso il testo e l'immagine centrati verticalmente. Per ottenere un allineamento centrato sia verticale sia orizzontale, dobbiamo utilizzare un piccolo trucco in CSS. Dobbiamo impostare la proprietà <code>top</code> a <code>50%</code> e aggiungere una traslazione per entrambi gli assi X e Y.</p><pre><code>* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  position: relative;
  height: 400px;
  border: 2px solid #006100;
}

.centered-element {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</code></pre><p>Il testo ora appare così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss4b.png" class="kg-image" alt="ss4b" width="600" height="400" loading="lazy"></figure><p>E l'immagine così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss3b.png" class="kg-image" alt="ss3b" width="600" height="400" loading="lazy"></figure><p>Abbiamo usato la proprietà <code>transform</code> perché il figlio (con la classe <code>centered-element</code>) era leggermente spostato dal centro. <code>translateY()</code> lo sposta verticalmente al centro e la traslazione sugli assi X e Y (<code>translate()</code>) lo sposta al centro sia orizzontalmente sia verticalmente.</p><h2 id="come-centrare-un-elemento-con-flexbox-in-css"><strong>Come centrare un elemento con Flexbox in CSS</strong></h2><p>In CSS il metodo di layout Flexbox è in grado di gestire i layout in una dimensione (riga o colonna). Con Flexbox, è abbastanza semplice centrare un div, del testo o un immagine utilizzando solo tre righe di codice.</p><p>Ecco i frammenti di codice con gli esempi.</p><h3 id="come-centrare-del-testo-con-flexbox"><strong>Come centrare del testo con Flexbox</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;p&gt;I'm a Camper, and I'm vertically centered&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
    display: flex;
    align-items: center;
    height: 600px;
    border: 2px solid #006100; 
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss5b-1.png" class="kg-image" alt="ss5b-1" width="600" height="400" loading="lazy"></figure><h3 id="come-centrare-un-immagine-con-flexbox"><strong>Come centrare un'immagine con Flexbox</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;img src="freecodecamp.png" alt="centered" /&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
    display: flex;
    align-items: center;
    height: 600px;
    border: 2px solid #006100; 
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss6b.png" class="kg-image" alt="ss6b" width="600" height="400" loading="lazy"></figure><p>Siamo riusciti ad ottenere un allineamento verticale in sole due righe di codice. Per rendere l'immagine e il testo centrati orizzontalmente, aggiungiamo <code>justify-content: center</code>.</p><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;p&gt;I'm a Camper, I'm now vertically and horizontally centered&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;img src="freecodecamp.png" alt="centered" /&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 600px;
    border: 2px solid #006100;
}
</code></pre><p>Il testo ora appare così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss7bb.png" class="kg-image" alt="ss7bb" width="600" height="400" loading="lazy"></figure><p>E l'immagine così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss11bb.png" class="kg-image" alt="ss11bb" width="600" height="400" loading="lazy"></figure><h2 id="come-centrare-un-elemento-con-grid-in-css"><strong>Come centrare un elemento con Grid in CSS</strong></h2><p>Con Flexbox è abbastanza semplice centrare qualsiasi cosa, no? Ma con Grid è ancora più facile centrare tutto, perché bastano solo due righe di codice.</p><h3 id="come-centrare-del-testo-con-grid"><strong>Come centrare del testo con Grid</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;p&gt;I'm a Camper, and I'm vertically centered&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
    display: grid;
    align-items: center;
    height: 600px;
    border: 2px solid #006100;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss8bb.png" class="kg-image" alt="ss8bb" width="600" height="400" loading="lazy"></figure><h3 id="come-centrare-un-immagine-con-grid"><strong>Come centrare un'immagine con Grid</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;
    &lt;div class="centered-element"&gt;
      &lt;img src="freecodecamp.png" alt="centered" /&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
    display: grid;
    align-items: center;
    height: 600px;
    border: 2px solid #006100;
}
</code></pre><p>Gli esempi qui sopra si occupano di centrare verticalmente gli oggetti. Per far sì che il testo e l'immagine siano anche centrati orizzontalmente, sostituiamo <code>align-items</code> con <code>place-items</code> – una combinazione di <code>align-items</code> e <code>justify-content</code>:</p><pre><code class="language-css">.container {
    display: grid;
    place-items: center;
    height: 600px;
    border: 2px solid #006100;
}
</code></pre><p>Il testo ora appare così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss7bb-1.png" class="kg-image" alt="ss7bb-1" width="600" height="400" loading="lazy"></figure><p>E l'immagine così:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss11bb-1.png" class="kg-image" alt="ss11bb-1" width="600" height="400" loading="lazy"></figure><h2 id="come-centrare-un-div-del-testo-o-un-immagine-in-css-senza-contenitori"><strong>Come centrare un div, del testo o un'immagine in CSS senza contenitori</strong></h2><p>I tre metodi visti sopra ci permettono di centrare un div, del testo o un'immagine che sono racchiusi in un contenitore. Ma possiamo anche centrare un div, del testo o un'immagine senza contenitore.</p><p>Vediamo come fare.</p><h3 id="come-centrare-un-div-in-css-senza-contenitore"><strong>Come centrare un div in CSS senza contenitore</strong></h3><pre><code class="language-html">&lt;div class="container"&gt;&lt;/div&gt;
</code></pre><pre><code class="language-css">div.container {
    height: 300px;
    width: 300px;
    border: 2px solid #006100;
    margin: 0 auto;
  }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss12bb.png" class="kg-image" alt="ss12bb" width="600" height="400" loading="lazy"></figure><h3 id="come-centrare-del-testo-in-css-senza-contenitore"><strong>Come centrare del testo in CSS senza contenitore</strong></h3><pre><code class="language-html">&lt;p&gt;I'm a Camper, and I'm centered&lt;/p&gt;
</code></pre><pre><code class="language-css">     p {
         text-align: center;
     }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss13bb.png" class="kg-image" alt="ss13bb" width="600" height="400" loading="lazy"></figure><h3 id="come-centrare-un-immagine-in-css-senza-contenitore"><strong>Come centrare un'immagine in CSS senza contenitore</strong></h3><pre><code class="language-html">&lt;img src="freecodecamp.png" alt="centered" /&gt;
</code></pre><pre><code class="language-css">img {
      display: block;
      margin: 0 auto;
 }
 /* Applica il valore block alla proprietà display, un margine nullo in alto e in basso e un margine automatico a destra e a sinistra */
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/ss14bb.png" class="kg-image" alt="ss14bb" width="600" height="400" loading="lazy"></figure><h2 id="conclusione"><strong>Conclusione</strong></h2><p>Spero che questo tutorial ti abbia fornito abbastanza elementi per allineare al centro verticalmente e orizzontalmente diversi elementi in CSS così che sia meno problematico nei tuoi progetti futuri.</p><p>Grazie per la lettura e continua a programmare!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Che cos'è un hyperlink? Definizione di link in HTML per principianti ]]>
                </title>
                <description>
                    <![CDATA[ I link, letteralmente collegamenti, sono una delle caratteristiche distintive del web e si possono trovare dappertutto. Come suggerisce il nome, servono per creare collegamenti, o connessioni, tra diverse pagine. Questo ci permette di navigare velocemente e facilmente da una pagina web all'altra. Si possono trovare diversi tipi di link sul ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/che-cose-un-hyperlink-definizione-di-link-in-html/</link>
                <guid isPermaLink="false">67bee1162f92410451634f77</guid>
                
                    <category>
                        <![CDATA[ Principianti ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ivan Forcati ]]>
                </dc:creator>
                <pubDate>Thu, 10 Apr 2025 14:57:12 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2025/04/bas-van-den-eijkhof-aJfOuWeNzko-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/what-is-a-hyperlink-definition-for-html-link-beginners/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is a Hyperlink? Definition for HTML Link Beginners</a>
      </p><p>I link, letteralmente collegamenti, sono una delle caratteristiche distintive del web e si possono trovare dappertutto.</p><p>Come suggerisce il nome, servono per creare collegamenti, o connessioni, tra diverse pagine. Questo ci permette di navigare velocemente e facilmente da una pagina web all'altra.</p><p>Si possono trovare diversi tipi di link sul Web.</p><p>Ci sono link che portano da un sito web ad un altro. Ci sono link che portano da una pagina di un sito a un'altra pagina dello stesso sito. E ci sono link che portano da una sezione di un sito a un'altra sezione dello stesso sito.</p><p>Questo articolo esamina la definizione di hyperlink, o collegamento ipertestuale, e i modi con i quali creare una gamma di diversi link in HTML.</p><h2 id="che-cos-un-hyperlink"><strong>Che cos'è un hyperlink?</strong></h2><p>Un hyperlink, o collegamento ipertestuale, chiamato anche solo link o collegamento web, contiene un indirizzo per una destinazione e funge da riferimento per dei dati. Un utente può seguire facilmente un link per giungere a destinazione tramite un clic, un tap o passando sopra il link.</p><p>Un hyperlink può essere un frammento di testo, un'immagine, un'icona o un grafico che, dopo averci cliccato sopra, conduce a una diversa pagina web o un diverso documento. Può anche condurre a una sezione specifica e a un elemento all'intero della stessa pagina web o documento.</p><p>Fondamentalmente, i collegamenti ipertestuali sono puntatori cliccabili verso una risorsa.</p><p>Ad esempio, <a href="https://www.freecodecamp.org/">questo collegamento alla pagina iniziale di freeCodeCamp</a> è un collegamento ipertestuale. Quando si clicca sul testo sottolineato, il browser lascia la pagina attuale e ci reindirizza lì.</p><p>Ogni risultato di ricerca di Google è un collegamento ipertestuale. Quando si clicca su uno di quelli, si lascia la pagina di ricerca e si arriva al risultato.</p><p>Senza collegamenti ipertestuali, si dovrebbe conoscere ogni singolo URL (Uniform Resource Locator, localizzatore uniforme di risorse) di ogni pagina web per poterle visitare.</p><h2 id="hyperlink-e-html"><strong>Hyperlink e HTML</strong></h2><p>Un collegamento ipertestuale è un elemento di un documento HTML.</p><p>Un ipertesto è un testo che contiene collegamenti ipertestuali. Il testo che contiene il collegamento (il riferimento ai dati) viene chiamato <strong>testo di ancoraggio</strong>.divertiti a programmare</p><p>Si utilizzano <strong>elementi di ancoraggio</strong> per creare hyperlink su altre pagine web. Questi elementi creano collegamenti: un testo o un'immagine cliccabile che, quando cliccati, ci portano in una nuova pagina o in una diversa sezione della stessa pagina.</p><p>Le pagine HTML sono formate da collegamenti ipertestuali. I collegamenti sono una caratteristica essenziale e distintiva del World Wide Web, che gli hanno consentito di avere così tanto successo. Hanno permesso l'idea stessa di navigazione.</p><p>Ci permettono di collegare un documento a un altro documento su diversi computer e reti.</p><p>Inizialmente l'idea è nata dalle bibliografie e dalle note a pié di pagina nei documenti scientifici accademici, ma ciò ha portato alla possibilità di scoprire siti web di altre persone con il passare del tempo.</p><p>Gli utenti potevano cliccare per andare sulle pagine web non solo del sito web dell'autore ma anche di altri siti web di altri autori e spostarsi così da una pagina web a un'altra. Qualsiasi cosa può fungere da collegamento per un'altra cosa, rendendo facile navigare i diversi luoghi del Web. E questo ha permesso agli utenti di avere un ampio accesso alle informazioni.</p><p>Il World Wide Web è costituito da migliaia di miliardi di collegamenti ipertestuali tra pagine web, creando così qualcosa che richiama alla mente l'idea di una ragnatela molto grande.</p><h2 id="come-creare-un-collegamento-in-html"><strong>Come creare un collegamento in HTML</strong></h2><p>Si possono creare collegamenti con l'elemento <code>&lt;a&gt;</code> , dove "a" sta per <em>ancoraggio</em> (<em>anchor</em>, in inglese).</p><p>Ecco un esempio di un elemento di ancoraggio in HTML:</p><pre><code class="language-html">&lt;a href="https://www.freecodecamp.org/"&gt; freeCodeCamp Home Page &lt;/a&gt;
</code></pre><p>Vediamo da quali parti è formato:</p><ul><li>L'elemento di collegamento ha un tag di apertura <code>&lt;a&gt;</code> e un tag di chiusura <code>&lt;/a&gt;</code> .</li><li>Il testo che gli utenti vedono e su cui possono cliccare si trova tra i tag di apertura e chiusura <code>a</code> – in questo caso è <code>freeCodeCamp Home Page</code>. Viene chiamato <em>testo del collegamento</em> e dovrebbe descrivere la destinazione del collegamento.</li><li>All'interno del tag di apertura, <code>&lt;a&gt;</code>, si aggiunge l'<em>attributo</em> <code>href</code> , che è l'abbreviazione di <code>hypertext reference</code>, cioè riferimento ipertestuale. Il valore dell'attributo <code>href</code> specifica l'URL a cui si vogliono portare gli utenti quando il testo del collegamento viene cliccato.</li><li>Non bisogna dimenticarsi del simbolo di uguale <code>=</code> e delle virgolette <code>""</code> &nbsp;che devono sempre accompagnare l'attributo <code>href</code>.</li></ul><p>I collegamenti ipertestuali hanno un aspetto predefinito diverso da quello del testo semplice. Ciò accade per questioni di fruibilità perché permette agli utenti di sapere che è appunto un collegamento.</p><p>Per impostazione predefinita, il testo avrà un colore blu e una sottolineatura. Tuttavia ciò si può cambiare, aggiungendo degli stili CSS.</p><p>Su un computer, quando si passa il mouse sopra un link, il puntatore cambia da una freccia a una mano, per indicare che è qualcosa che si può cliccare.</p><p>Questo tipo di collegamento ipertestuale nell'esempio qui sopra permette il collegamento ad altri siti. È un collegamento esterno, utilizzato per connettere due pagine di due siti web completamente diversi.</p><p>In questo caso, il valore di <code>href</code> è un URL <strong>assoluto</strong> – cioè un indirizzo web completo di un sito che comprende anche il nome di dominio.</p><h2 id="come-collegarsi-a-una-pagina-diversa-nello-stesso-sito"><strong>Come collegarsi a una pagina diversa nello stesso sito</strong></h2><p>I collegamenti interni sono collegamenti che dirigono l'utente a pagine diverse dello stesso sito. Non conducono a siti esterni.</p><p>In questi casi, l'attributo <code>href</code> ha un URL <strong>relativo</strong>.</p><p>Ad esempio:</p><pre><code class="language-html">&lt;nav&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;a href="about.html"&gt;  Chi sono  &lt;/a&gt; &lt;/li&gt;
        &lt;li&gt;&lt;a href="posts.html"&gt;   Post del Blog &lt;/a&gt; &lt;/li&gt;
        &lt;li&gt;&lt;a href="projects.html"&gt; I miei progetti &lt;/a&gt;&lt; /li&gt;
        &lt;li&gt;&lt;a href="contact.html"&gt;  Contattami  &lt;/a&gt; &lt;/li&gt;
    &lt;/ul&gt;
&lt;/nav&gt;
</code></pre><p>Nell'esempio qui sopra, abbiamo creato un menu di navigazione che contiene collegamenti a diverse pagine dello stesso sito. I collegamenti conducono rispettivamente alle pagine "Chi sono", "Post del Blog", "I miei progetti", e "Contattami".</p><p>In questo caso, non dobbiamo specificare il nome di dominio e l'URL completo nell'attributo <code>href</code> , perché i percorsi di questi file sono <em>relativi</em> al nostro progetto e alla cartella di lavoro attuale.</p><p>In questo caso tutti i file si trovano nella stessa cartella e hanno la stessa struttura gerarchica, quindi è sufficiente scrivere solo il nome dei file.</p><h2 id="come-creare-un-collegamento-a-una-sezione-specifica-di-un-sito"><strong>Come creare un collegamento a una sezione specifica di un sito</strong></h2><p>E se volessimo un collegamento per saltare a un punto specifico di una pagina?</p><p>Magari abbiamo citato un argomento e vogliamo rinviare i lettori a una sezione successiva della pagina nella quale ne parliamo più in dettaglio.</p><p>Possiamo creare collegamenti che connettono contenuti nella stessa pagina.</p><p>Innanzitutto, dobbiamo andare nella sezione a cui vogliamo che il collegamento porti e dobbiamo aggiungere l'attributo <code>id</code> nell'etichetta di apertura.</p><p>Ad esempio potremmo avere un paragrafo a cui vogliamo fare riferimento:</p><pre><code class="language-html">&lt;p id="extra-info"&gt; Le migliori città da visitare &lt;/p&gt;
</code></pre><p>Poi, nel nostro collegamento, aggiungiamo un <code>#</code> in fondo e scriviamo il valore cha abbiamo dato all'attributo <code>id</code>, in questo caso <code>extra-info</code>:</p><pre><code class="language-html">&lt;a href="#extra-info"&gt; Leggi informazioni aggiuntive sulle città da visitare &lt;/a&gt;
</code></pre><h2 id="come-aprire-un-collegamento-in-una-nuova-scheda"><strong>Come aprire un collegamento in una nuova scheda</strong></h2><p>Quando un collegamento indirizza a un sito esterno, è una buona regola far sì che si apri in una nuova scheda. Non vogliamo perdere i nostri visitatori.</p><p>Per impostazione predefinita, il browser apre i collegamenti nella stessa scheda.</p><p>Possiamo cambiare questo collegamento:</p><pre><code class="language-html">&lt;a href= "https://www.freecodecamp.org/"&gt; freeCodeCamp Home Page &lt;/a&gt;
</code></pre><p>In questo:</p><pre><code class="language-html">&lt;a href= "https://www.freecodecamp.org/" target="_blank"&gt; freeCodeCamp Home Page &lt;/a&gt;
</code></pre><p>Possiamo aggiungere l'attributo <code>target</code> al tag di apertura <code>&lt;a&gt;</code>, e assegnargli il valore <code>_blank</code> che apre il collegamento in una nuova scheda.</p><h2 id="come-creare-collegamenti-per-inviare-email"><strong>Come creare collegamenti per inviare email</strong></h2><p>I collegamenti possono compiere altre azioni, a parte il semplice rimando ad altre pagine o siti web.</p><p>Ad esempio, ci sono collegamenti che aprono il programma predefinito di posta elettronica e permettono di inviare un nuovo messaggio di posta a un indirizzo specifico.</p><pre><code class="language-html">&lt;a href="mailto:hellothere@gmail.com"&gt;Inviami un'email!&lt;/a&gt;
</code></pre><p>In questo caso, l'attributo <code>href</code> inizia con <code>mailto:</code> e contiene poi l'indirizzo email a cui vogliamo che venga mandato un messaggio.</p><p>Il collegamento non appare diverso da qualsiasi altro collegamento di cui abbiamo discusso fin qui. Ma quando viene cliccato, permette di iniziare a scrivere un messaggio di posta aprendo il programma di posta predefinito dell'utente.</p><p>Quando questo accade, il campo <code>A</code> è già precompilato con l'indirizzo email al quale si vuole inviare il messaggio.</p><h2 id="conclusione"><strong>Conclusione</strong></h2><p>In questo articolo, abbiamo visto la definizione di un hyperlink, o collegamento ipertestuale, e e il motivo per cui questi collegamenti sono una parte così importante del Web.</p><p>Abbiamo anche imparato a creare diveri tipi di collegamenti in HTML.</p><p>Grazie per la lettura e buona programmazione!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Come impostare intervalli di lunghezza per le media query in CSS ]]>
                </title>
                <description>
                    <![CDATA[ Una media query è una funzionalità del CSS. Permette di creare e implementare layout che si adattano alle caratteristiche del dispositivo che si sta utilizzando. L'altezza e la lunghezza di una pagina sono alcune di queste caratteristiche. In questa breve guida, vedremo come si possono impostare diverse proprietà di lunghezza ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/intervalli-di-lunghezza-media-query/</link>
                <guid isPermaLink="false">6798b53dd26031044ce8440c</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ivan Forcati ]]>
                </dc:creator>
                <pubDate>Fri, 07 Feb 2025 17:12:44 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2025/02/amirali-mirhashemian-jh5XyK4Rr3Y-unsplash-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/media-queries-width-ranges/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Set Width Ranges for Your CSS Media Queries</a>
      </p><p>Una media query è una funzionalità del CSS. Permette di creare e implementare layout che si adattano alle caratteristiche del dispositivo che si sta utilizzando. L'altezza e la lunghezza di una pagina sono alcune di queste caratteristiche.</p><p>In questa breve guida, vedremo come si possono impostare diverse proprietà di lunghezza nella regola di una media query. Per il momento, vediamo prima le cose fondamentali.</p><h2 id="come-funzionano-le-media-query-in-css"><strong>Come funzionano le media query in CSS</strong></h2><p>Ora che abbiamo un'idea di base di cos'è una media query, diamo un'occhiata a come funziona davvero questa particolare funzionalità del CSS.</p><p>Ecco una semplice media query:</p><pre><code class="language-css">@media only screen and (max-width: 576px) {
    // stili da applicare
}

@media only screen and (min-width: 576px) {
    // stili da applicare
}
</code></pre><p>Ciò significa che gli stili scritti all'interno delle media query qui sopra funzioneranno o verranno applicati solo con le proprietà di lunghezza specificate.</p><p>Letteralmente, stiamo chiedendo al CSS che per questa lunghezza particolare (cioè, la proprietà <code>max-width</code> di <code>576px</code>) vengano applicati gli stili che scriveremo qui, specifici solo per questa lunghezza, a partire dalla lunghezza iniziale di <code>0px</code>.</p><h2 id="le-propriet-max-width-e-min-width"><strong>Le proprietà max-width e min-width</strong></h2><p>Ci sono due cose che bisogna tener presenti quando creiamo media query per diverse dimensioni di schermi: le proprietà <code>max-width</code> e <code>min-width</code>.</p><p>Quando a una media query viene passata la proprietà <code>max-width</code>, CSS la interpreta come una lunghezza a partire da zero – cioè come se non fosse stata impostata una proprietà di lunghezza minima. Ci arriveremo tra poco.</p><p>Una volta che alla proprietà <code>max-width</code> viene assegnato un valore, tutti gli stili all'interno di quella particolare media query verranno applicati a qualsiasi dispositivo le cui dimensioni dello schermo vanno da <code>0px</code> alla lunghezza massima specificata.</p><p>La proprietà <code>min-width</code>, d'altra parte, prende il valore iniziale che gli è stato assegnato e applica gli stili all'interno della regola media fino alla successiva <code>max-width</code> presente. Supponiamo, ad esempio:</p><pre><code class="language-css">@media only screen and (min-width: 576px) {
    // applica gli stili dalla lunghezza minima di 
    // 576px (dispositivi con schermo di grandezza media)
}
</code></pre><p>Gli stili che verranno scritti nella media query qui sopra saranno applicati solo ai dispositivi con lunghezza dello schermo a partire dalla lunghezza minima specificata.</p><h2 id="come-impostare-l-intervallo-di-lunghezza-con-una-media-query"><strong>Come impostare l'intervallo di lunghezza con una media query</strong></h2><p>Il metodo che abbiamo appena visto per creare le media query applicando solo una proprietà <code>width</code> risolve solo un problema.</p><p>Impostando un "intervallo di lunghezza", si ha un certo grado di flessibilità nella creazione di layout che si adattano a schermi di tutte le dimensioni.</p><p>Per impostare un "intervallo di lunghezza" preciso si crea una media query come abbiamo visto in precedenza. L'unica differenza è l'aggiunta di più espressioni media (cioè, dimensioni di schermi).</p><p>Diamo un'occhiata:</p><pre><code class="language-css">@media only screen and (min-width: 360px) and (max-width: 768px) {
    // stili da applicare in questo intervallo di dimensioni
}
</code></pre><p>La media query precedente verrà applicata solo quando l'espressione definita in alto è valida (cioè per gli schermi di dispositivi mobili per cui stiamo scrivendo uno stile).</p><p>Questa media query prende il primo valore di lunghezza come valore iniziale e il secondo come valore finale.</p><p>Ricordate la differenza tra le proprietà <code>max-width</code> e <code>min-width</code>? Stiamo semplicemente dicendo al browser di applicare gli stili CSS che scriviamo all'interno di questa regola ai dispositivi mobili le cui dimensioni di schermo vanno da <code>360px</code> a <code>768px</code>.</p><p>In parole semplici, stiamo creando layout che si adatteranno anche a schermi di piccole e medie dimensioni, come tablet o dispositivi mobili.</p><p>Si possono consultare i punti di passaggio tra le varie dimensioni degli schermi che sono disponibili nella <a href="https://getbootstrap.com/docs/5.0/layout/breakpoints/">documentazione di Bootstrap</a>. A partire da questi, si possono impostare gli intervalli che si preferiscono.</p><h2 id="proviamo-le-media-query-con-flexbox"><strong>Proviamo le media query con flexbox</strong></h2><p>Abbiamo visto come creare una media query di base che considera espressioni con diverse dimensioni di schermo. E abbiamo visto la differenza tra le proprietà <code>max-width</code> e <code>min-width</code> e come applicarle.</p><p>In questa sezione, vedremo come creare un semplice layout il cui aspetto cambia in diversi punti di passaggio (breakpoint, corrispondenti a specifiche dimensioni di schermo). Iniziamo creando la pagina HTML che contiene il layout.</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="it"&gt;
  &lt;head&gt;
    &lt;title&gt;Esempio della Media Query&lt;/title&gt;
    &lt;link rel="stylesheet" href="style.css" /&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;div class="container"&gt;
      &lt;div class="boxes box1"&gt;
        &lt;h1&gt;Primo Box&lt;/h1&gt;
        &lt;p&gt;
        Informazioni del primo box
        &lt;/p&gt;
      &lt;/div&gt;
      &lt;div class="boxes box2"&gt;
        &lt;h1&gt;Secondo Box&lt;/h1&gt;
        &lt;p&gt;
          Informazioni del secondo box
        &lt;/p&gt;
      &lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;
</code></pre><p>Il codice qui sopra mostrerà due box con le loro rispettive informazioni, quando gli stili vengono applicati.</p><pre><code class="language-css">.container {
  display: flex;
  flex-wrap: wrap;
  width: 980px;
  margin: 0 auto;
  margin-top: 40px;
}

@media only screen and (min-width: 320px) and (max-width: 576px) {
  .container {
    width: 100%;
    padding-left: 23px;
    flex-direction: column-reverse;
  }
  .boxes {
    width: 100%;
  }
}
</code></pre><p>Osservando il file CSS, possiamo notare che la media query ha una lunghezza minima di <code>320px</code> e una lunghezza massima di <code>576px</code>. Questo significa che tutti gli stili scritti all'interno di questa regola si applicano solo ai dispositivi con dimensioni di schermo piccole e molto piccole.</p><p>Anche il layout dei box cambia anche in questo particolare intervallo di lunghezza. Questo è causato dal selettore <code>.container</code>, la cui proprietà <code>flex-direction</code> cambia da <code>row</code> a <code>column-reverse</code>.</p><p>Si possono utilizzare anche altri valori per la proprietà <code>flex-direction</code>. <a href="https://www.w3schools.com/cssref/css3_pr_flex-direction.php">Qui</a> si possono consultare i valori disponibili.</p><h2 id="conclusione"><strong>Conclusione</strong></h2><p>Se non si imposta un intervallo di lunghezza, gli stili CSS dell'esempio precedente verranno applicati a tutti i dispositivi con una dimensione minima di <code>576px</code>.</p><p>Quando si imposta un intervallo di dimensioni, si ha un miglior controllo. Si possono specificare quali stili dovrebbero essere applicati a un dispositivo con una particolare dimensione dello schermo, ottenendo così un'applicazione più flessibile.</p><p>Grazie per aver letto questo articolo. Condividilo se ti è stato utile per capire perché si dovrebbero impostare intervalli di lunghezza nella creazione di media query.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Colore del testo in CSS - Come applicare uno stile al testo in HTML ]]>
                </title>
                <description>
                    <![CDATA[ Impostare un colore al testo di un sito web che stai costruendo potrebbe essere poco chiaro all'inizio. Ma in questo articolo impareremo come si fa. Come impostare il colore del testo in HTML In CSS, la proprietà background-color è abbastanza semplice da utilizzare per impostare il colore di sfondo di ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/colore-del-testo-in-css/</link>
                <guid isPermaLink="false">679205acd26031044ce84279</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ivan Forcati ]]>
                </dc:creator>
                <pubDate>Thu, 06 Feb 2025 15:10:57 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2025/02/Cssfontcolor.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/css-font-color-how-to-style-text-in-html/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Font Color – How to Style Text in HTML</a>
      </p><p>Impostare un colore al testo di un sito web che stai costruendo potrebbe essere poco chiaro all'inizio. Ma in questo articolo impareremo come si fa.</p><h2 id="come-impostare-il-colore-del-testo-in-html">Come impostare il colore del testo in HTML</h2><p>In CSS, la proprietà <code>background-color</code> è abbastanza semplice da utilizzare per impostare il colore di sfondo di qualsiasi elemento.</p><p>Ma se vogliamo impostare il colore di qualcosa che è in primo piano nella pagina? Soprattutto del testo, di cui normalmente non si vuole impostare un colore di sfondo.</p><p>Non c'è una proprietà <code>foreground-color</code> in CSS, ma è la proprietà <code>color</code> che si occupa di questo.</p><p>In questo articolo, ti mostrerò come impostare il colore del testo utilizzando la proprietà <code>color</code>. Vedremo anche i vari modi in cui specificare i valori.</p><p>Ci sono 4 modi diversi per specificare i valori della proprietà color: nomi dei colori, valori esadecimali, valori RGB e valori HSL. Vediamo ora ciascuno di questi.</p><h2 id="nomi-dei-colori"><strong>Nomi dei colori</strong></h2><p>Come implica il nome, si utilizza la proprietà color e si applica il valore scrivendo il nome del colore che si vuole. Questo può essere red, green, blue, orange, crimson, cyan, o qualsiasi altro nome (inglese) di colore. Esistono 147 nomi di colori riconosciuti dai browser.</p><p>La sintassi di base è questa:</p><pre><code class="language-css">elemento {
    color: nomeColore;
}
</code></pre><pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre><pre><code class="language-css"> p {
     color: crimson;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/09/named-color.png" class="kg-image" alt="named-color" width="600" height="400" loading="lazy"></figure><h2 id="colori-esadecimali"><strong>Colori esadecimali</strong></h2><p>I valori esadecimali vengono utilizzati per rappresentare i colori con un totale di 6 caratteri. Iniziano con il carattere # seguito da una cifra da 0 a 9 o da una qualsiasi lettera da A a F.</p><p>I primi 2 valori rappresentano il rosso, i successivi 2 il verde e gli ultimi 2 il blu. Con i valori esadecimali, non c'è limite alle tonalità di colori che si possono utilizzare.</p><pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre><pre><code class="language-css"> p {
    color: #dc143c;
 }
</code></pre><h2 id="colori-rgb"><strong>Colori RGB</strong></h2><p>RGB è l'abbreviazione di Red, Green e Blue (rosso, verde e blu). Con i colori RGB, si specificano i colori in termini di quanto rosso, verde e blu si vuole. Tutti e tre sono espressi con numeri tra 0 e 255.</p><p>C'è un tipo di RGB chiamato <code>rgba</code>. La ‘a’ aggiuntiva sta per alpha, che permette di specificare l'opacità (o trasparenza) del colore. Assume un valore che va da 0.0 a 1.0 – 0.0 significa 0% di opacità, 0.5 significa 50% di opacità e 1.0 significa 100% di opacità.</p><p>La sintassi di base è <code>rgb(quantitàDiRosso, quantitàDiVerde, quantitàDiBlu, alpha)</code>.</p><p>Ci si può fermare a <code>rgb(quantitàDiRosso, quantitàDiVerde, quantitàDiBlu)</code> se non si vuole specificare un valore per alpha.</p><p>Ecco la sintassi per valori RGB standard:</p><pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre><pre><code class="language-css"> p {
   color: rgb(220, 20, 60);
 }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/09/rgb-color.png" class="kg-image" alt="rgb-color" width="600" height="400" loading="lazy"></figure><p>Ed ecco l'esempio con un valore alpha del 50% (0.5) di opacità:</p><pre><code class="language-css">p {
    color: rgb(219, 20, 60, 0.5);
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/09/rgb-fifty-percent-opacity.png" class="kg-image" alt="rgb-fifty-percent-opacity" width="600" height="400" loading="lazy"></figure><h2 id="colori-hsl"><strong>Colori HSL</strong></h2><p>HSL è l'abbraviazione di hue, saturation, e lightness (tonalità, saturazione e luminosità). È un altro modo per specificare il colore del testo (e di qualsiasi altra cosa che abbia un colore) in CSS.</p><ul><li>La tonalità rappresenta la ruota dei colori con 360°, dove il rosso è 0°, il verde è 120°e il blu è 240°.</li><li>La saturazione è la quantità di grigio nel colore, espressa in percentuale. 0% rappresenta una tonalità di grigio mentre 100% è il colore stesso.</li><li>La luminosità è la quantità di oscurità e luminosità nel colore espressa come una percentuale. 0% è nero e 100% è bianco.</li></ul><p>Proprio come i colori RGB, si può anche impostare l'opacità del colore. Quindi, c'è anche <code>hsla</code>.</p><p>La sintassi di base completa è <code>hsl(gradoDiColore, percentualeDiSaturazione, percentualeDiLuminosità, alpha)</code>. Ci si può fermare a <code>hsl(gradoDiColore, percentualeDiSaturazione, percentualeDiLuminosità)</code> se non si vuole un valore alpha.</p><pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre><pre><code class="language-css"> p {
   color: hsl(348, 83%, 47%);
 }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/09/hsl-color.png" class="kg-image" alt="hsl-color" width="600" height="400" loading="lazy"></figure><p>Si può applicare un'opacità particolare al colore HSL in questo modo:</p><pre><code class="language-css"> p {
   color: hsla(348, 83%, 47%, 0.5);
  }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/09/hsl-fifty-percent-opacity-1.png" class="kg-image" alt="hsl-fifty-percent-opacity-1" width="600" height="400" loading="lazy"></figure><h2 id="per-impostare-un-colore-si-dovrebbero-utilizzare-i-nomi-dei-colori-i-colori-esadecimali-i-colori-rgb-o-i-colori-hsl"><strong>Per impostare un colore si dovrebbero utilizzare i nomi dei colori, i colori esadecimali, i colori RGB o i colori HSL?</strong></h2><p>Una delle cose meravigliose di CSS è che ci sono molteplici modi per fare la stessa cosa, come hai visto per l'applicazione di colori al testo.</p><p>Dato che abbiamo applicato i colori in 4 modi diversi, ci si potrebbe chiedere qual è il migliore da utilizzare.</p><p>Quando si usano i nomi dei colori, si è abbastanza limitati nel numero di colori diversi che si può applicare. Il rosso, il verde, il blu, il giallo o qualsiasi altro nome di colore hanno tante varianti che non sono disponibili usando solo i nomi dei colori. Abbiamo accesso solo a 147 colori predefiniti riconosciuti dai browser.</p><p>I colori esadecimali sono molto dinamici. Sono i più utilizzati tra gli sviluppatori perché il limite è solo la creatività. Con i colori esadecimali, si possono utilizzare varie tonalità e persino un colore che nessuno ha mai utilizzato prima.</p><p>I colori RGB sono tanto dinamici quanto i colori esadecimali. Oltre ad essere in grado di specificare quanto rosso, verde e blu si vuole da 0 a 255, si può anche impostare la trasparenza del colore con un valore alpha aggiuntivo.</p><p>HSL è il più dinamico di tutti. Si può specificare l'esatto colore che si desidera in gradi da 0 a 360 sulla ruota dei colori, si può impostare la saturazione e la luminosità che si desidera in percentuale, ed anche impostare un'opacità da 0.0 a 1.0.</p><p>Quindi dipende solo da ciò che si vuole e dai propri casi d'uso – e da quanto creativi o specifici si vuole essere.</p><h2 id="conclusione"><strong>Conclusione</strong></h2><p>Applicare i colori al testo aiuta a rendere un sito web più accattivante per i visitatori. La giusta combinazione di colori può anche aiutare a rendere il contenuto più leggibile.</p><p>In questo articolo abbiamo imparato come applicare dei colori al testo con i 4 diversi tipi di valori che si possono usare con la proprietà color.</p><p>Grazie per aver letto questo articolo e continua a programmare!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Switch case in JavaScript - Esempio di istruzione switch ]]>
                </title>
                <description>
                    <![CDATA[ A volte in JavaScript si può considerare l'utilizzo di un'istruzione switch al posto di un'istruzione if else. L'istruzione switch può offrire una sintassi più semplice rispetto a istruzioni  if else più complicate. Consideriamo l'esempio sottostante – invece di utilizzare questa lunga istruzione if else, possiamo scegliere di utilizzare un'istruzione ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/switch-case-in-javascript-esempio-di-istruzione-switch/</link>
                <guid isPermaLink="false">6779439a5815bf043a6b6177</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ivan Forcati ]]>
                </dc:creator>
                <pubDate>Sat, 18 Jan 2025 16:45:49 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2025/01/karl-pawlowicz-QUHuwyNgSA0-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/javascript-switch-case-js-switch-statement-example/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">JavaScript Switch Case – JS Switch Statement Example</a>
      </p><p>A volte in JavaScript si può considerare l'utilizzo di un'istruzione <code>switch</code> al posto di un'istruzione <code>if else</code>.</p><p>L'istruzione <code>switch</code> può offrire una sintassi più semplice rispetto a istruzioni <code>if else</code> più complicate.</p><p>Consideriamo l'esempio sottostante – invece di utilizzare questa lunga istruzione <code>if else</code>, possiamo scegliere di utilizzare un'istruzione <code>switch</code> più semplice da leggere.</p><pre><code class="language-js">const animale = "cane";

if (animale === "lucertola") {
  console.log("Ho una lucertola");
} else if (animale === "cane") {
  console.log("Ho un cane");
} else if (animale === "gatto") {
  console.log("Ho un gatto");
} else if (animale === "serpente") {
  console.log("Ho un serpente");
} else if (animale === "pappagallo") {
  console.log("Ho un pappagallo");
} else {
  console.log("Non ho nessun animale");
}
</code></pre><pre><code class="language-js">const animale = "cane";

switch (animale) {
  case "lucertola":
    console.log("Ho una lucertola");
    break;
  case "cane":
    console.log("Ho un cane");
    break;
  case "gatto":
    console.log("Ho un gatto");
    break;
  case "serpente":
    console.log("Ho un serpente");
    break;
  case "pappagallo":
    console.log("Ho un pappagallo");
    break;
  default:
    console.log("Non ho nessun animale");
    break;
}
</code></pre><p>In questo articolo, vedremo cosa sono le istruzioni switch e come funzionano. Ti aiuterò anche a capire se sono una buona alternativa da utilizzare nel tuo codice.</p><h2 id="che-cos-un-istruzione-switch"><strong>Che cos'è un'istruzione switch?</strong></h2><p>Nella programmazione, un'istruzione <code>switch</code> è un'istruzione di controllo del flusso che confronta il valore di una <code>espressione</code> con diversi casi possibili.</p><p>Questa è la sintassi di base di un'istruzione <code>switch</code>:</p><pre><code class="language-js">switch (espressione) {
  case 1:
   //questo codice verrà eseguito se questo caso corrisponde all'espressione
    break;
  case 2:
   //questo codice verrà eseguito se questo caso corrisponde all'espressione
    break;
  case 3:
   //questo codice verrà eseguito se questo caso corrisponde all'espressione
    break;
  default:
    //questo codice verrà eseguito se nessun caso corrisponde all'espressione
    break;
}
</code></pre><p>Il computer valuterà l'istruzione <code>switch</code> verificando l'uguaglianza (stretta) <code>===</code> tra i vari <code>case</code> e l'<code>espressione</code>. Se uno dei casi corrisponde all'<code>espressione</code>, allora verrà eseguito il codice all'interno di quella clausola <code>case</code>.</p><pre><code class="language-js">switch (espressione) {
  case 1:
   //questo codice verrà eseguito se questo caso corrisponde all'espressione
    break;
  case 2:
   //questo codice verrà eseguito se questo caso corrisponde all'espressione
    break;
}
</code></pre><p>Se nessuno dei casi corrisponde all'espressione, allora la clausola <code>default</code> verrà eseguita.</p><pre><code class="language-js">  default:
    //questo codice verrà eseguito se nessun caso corrisponde all'espressione
    break;
</code></pre><p>Se più casi dell'istruzione <code>switch</code> possono corrispondere all'espressione, allora il primo <code>case</code> che corrisponde all'<code>espressione</code> verrà utilizzato.</p><p>Le istruzioni <code>break</code> permettono di uscire dall'istruzione <code>switch</code> quando un <code>case</code> corrisponde. Se non sono presenti istruzioni <code>break</code>, allora il computer continuerà l'esecuzione dell'istruzione <code>switch</code> anche se viene trovata una corrispondenza.</p><p>Se sono presenti delle istruzioni <code>return</code> nello <code>switch</code>, allora non è necessaria l'istruzione <code>break</code>.</p><h2 id="esempio-di-istruzioni-switch-in-javascript"><strong>Esempio di istruzioni switch in JavaScript</strong></h2><p>In questo esempio, confrontiamo <code>"oboe"</code> con i vari casi. <code>"oboe"</code> corrisponderà alla terza clausola <code>case</code> e stamperà nella console "Suono l'oboe".</p><pre><code class="language-js">switch ("oboe") {
  case "tromba":
    console.log("Suono la tromba");
    break;
  case "flauto":
    console.log("Suono il flauto");
    break;
  case "oboe":
    console.log("Suono l'oboe");
    break;
  default:
    console.log("Non suono nessuno strumento");
    break;
}
</code></pre><p>Se cambiassimo l'espressione in <code>"nessuno strumento"</code>, allora verrebbe eseguita la clausola <code>default</code> e il messaggio stampato nella console sarebbe "Non suono nessuno strumento".</p><pre><code class="language-js">switch ("nessuno strumento") {
  case "tromba":
    console.log("Suono la tromba");
    break;
  case "flauto":
    console.log("Suono il flauto");
    break;
  case "oboe":
    console.log("Suono l'oboe");
    break;
  default:
    console.log("Non suono nessuno strumento");
    break;
}
</code></pre><h2 id="senza-istruzioni-break"><strong>Senza istruzioni break</strong></h2><p>In questo esempio, c'è corrispondenza con il <code>case</code> 2. Ma senza un'istruzione <code>break</code>, il computer continuerà con il <code>case</code> 3 e con la clausola <code>default</code>.</p><p>Vedrai il risultato di tre istruzioni <code>console.log</code> perché non è stata inclusa l'istruzione <code>break</code>.</p><pre><code class="language-js">switch (2) {
  case 1:
    console.log("È stato scelto il numero 1");
  case 2:
    console.log("È stato scelto il numero 2");
  case 3:
    console.log("È stato scelto il numero 3");
  default:
    console.log("Non è stato scelto nessun numero");
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-1.png" class="kg-image" alt="Console-1" srcset="https://www.freecodecamp.org/italian/news/content/images/size/w600/2025/01/Console-1.png 600w, https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-1.png 722w" sizes="(min-width: 720px) 720px" width="722" height="198" loading="lazy"></figure><h2 id="dove-posizionare-la-clausola-default">Dove posizionare la clausola default</h2><p>La convenzione usuale è quella di inserire la clausola <code>default</code> come ultima clausola. Ma si può posizionare anche prima di altre clausole.</p><pre><code class="language-js">const cibo = "noccioline";

switch (cibo) {
  case "torta":
    console.log("Mi piace la torta");
    break;
  case "pizza":
    console.log("Mi piace la pizza");
    break;
  default:
    console.log("Mi piace di tutto");
    break;
  case "gelato":
    console.log("Mi piace il gelato");
    break;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-2.png" class="kg-image" alt="Console-2" srcset="https://www.freecodecamp.org/italian/news/content/images/size/w600/2025/01/Console-2.png 600w, https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-2.png 646w" width="646" height="114" loading="lazy"></figure><p>Il computer controllerà sempre ogni caso per trovare una corrispondenza. Poiché il valore della variabile <code>cibo</code> non corrisponde a nessuno dei casi, allora verrà eseguito il caso di <code>default</code>.</p><h2 id="casi-multipli-per-una-stessa-operazione"><strong>Casi multipli per una stessa operazione</strong></h2><p>A volte, a più casi può corrispondere una stessa operazione.</p><p>Invece di scrivere gli stessi <code>console.log</code> per ciascun caso, possiamo tralasciare le istruzioni <code>break</code> e inserire un'istruzione dopo l'elenco dei casi.</p><p>Il messaggio "Questo paese si trova in Europa" verrà stampato nella console se <code>paese</code> corrisponde a uno dei casi tra <code>"Francia"</code>, <code>"Spagna"</code>, <code>"Irlanda"</code> o <code>"Polonia"</code>.</p><pre><code class="language-js">const paese = "Irlanda";
switch (paese) {
  case "Francia":
  case "Spagna":
  case "Irlanda":
  case "Polonia":
    console.log("Questo paese si trova in Europa");
    break;
  case "Stati Uniti":
  default:
    console.log("Questo paese non si trova in Europa");
}
</code></pre><h2 id="ambito-di-blocco-e-istruzioni-switch"><strong>Ambito di blocco e istruzioni switch</strong></h2><p>Nell'esempio seguente si verificherà un errore, perché la variabile <code>messaggio</code> è già stata dichiarata e non si può dichiarare un'altra variabile con lo stesso nome nello stesso ambito di blocco.</p><pre><code class="language-js">const commissione = "Andare a fare shopping";
switch (commissione) {
  case "Andare dal dentista":
    let messaggio = "Odio andare dal dentista";
    console.log(messaggio);
    break;
  case "Andare a fare shopping":
    let messaggio = "Adoro fare shopping";
    console.log(messaggio);
    break;
  default:
    console.log("Nessuna commissione");
    break;
}
</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-3.png" class="kg-image" alt="Console-3" srcset="https://www.freecodecamp.org/italian/news/content/images/size/w600/2025/01/Console-3.png 600w, https://www.freecodecamp.org/italian/news/content/images/size/w1000/2025/01/Console-3.png 1000w, https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-3.png 1258w" sizes="(min-width: 720px) 720px" width="1258" height="62" loading="lazy"><figcaption>Errore di sintassi: la variabile 'messaggio' è già stata dichiarata</figcaption></figure><p>Per evitare il messaggio di errore, i casi devono essere racchiusi in parentesi graffe.</p><pre><code class="language-js">const commissione = "Andare a fare shopping";
switch (commissione) {
  case "Andare dal dentista": {
    let messaggio = "Odio andare dal dentista";
    console.log(messaggio);
    break;
  }
  case "Andare a fare shopping": {
    let messaggio = "Adoro fare shopping";
    console.log(messaggio);
    break;
  }
  default: {
    console.log("Nessuna commissione");
    break;
  }
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-4-1.png" class="kg-image" alt="Console-4-1" srcset="https://www.freecodecamp.org/italian/news/content/images/size/w600/2025/01/Console-4-1.png 600w, https://www.freecodecamp.org/italian/news/content/images/2025/01/Console-4-1.png 722w" sizes="(min-width: 720px) 720px" width="722" height="71" loading="lazy"></figure><h2 id="conclusione"><strong>Conclusione</strong></h2><p>Un'istruzione <code>switch</code> può essere un'alternativa all'istruzione <code>if else</code>. Un'istruzione <code>switch</code> confronta il valore di un'<code>espressione</code> con diversi casi.</p><p>Le istruzioni <code>switch</code> controllano l'uguaglianza stretta. In questo esempio, poiché <code>"2"!== 2</code>, verrà eseguita la clausola <code>default</code>.</p><pre><code class="language-js">switch (2) {
  case "2":
    console.log("Il numero 2 in una stringa");
    break;
  case "3":
    console.log("Il numero 3 in una stringa");
    break;
  default:
    console.log("Nessun numero presente");
    break;
}
</code></pre><p>Le istruzioni <code>break</code> permettono di uscire da uno <code>switch</code> quando c'è corrispondenza con un <code>case</code>. Se non sono presenti istruzioni <code>break</code>, allora il computer continuerà l'esecuzione dell'istruzione <code>switch</code> anche se viene trovata una corrispondenza.</p><p>Spero che questo articolo sull'istruzione <code>switch</code> ti sia piaciuto.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
