diff --git a/curriculum/challenges/italian/01-responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic.md b/curriculum/challenges/italian/01-responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic.md
index d6707780107..f4d88dd5070 100644
--- a/curriculum/challenges/italian/01-responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic.md
+++ b/curriculum/challenges/italian/01-responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic.md
@@ -21,7 +21,7 @@ Ricorda che tutte le funzioni `cubic-bezier` iniziano con `p0` a (0, 0) e termin
# --instructions--
-Per vedere l'effetto di questa curva di Bezier in azione, cambia la `animation-timing-function` dell'elemento con id `red` in una funzione `cubic-bezier` con valori x1, y1, x2, y2 fissati rispettivamente a 0, 0, 0.58, 1. Questo farà progredire entrambi gli elementi attraverso l'animazione in modo simile.
+Per vedere l'effetto di questa curva di Bezier in azione, cambia la `animation-timing-function` dell'elemento con id `red` in una funzione `cubic-bezier` con valori x1, y1, x2, y2 fissati rispettivamente a `0, 0, 0.58, 1`. Questo farà progredire entrambi gli elementi attraverso l'animazione in modo simile.
# --hints--
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
index c934e87807c..3a380565092 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
@@ -25,6 +25,19 @@ NON includere virgolette (singole o doppie) nell'output.
# --hints--
+La tua funzione dovrebbe restituire un valore per count e del testo (`Bet` o `Hold`) con uno spazio tra di loro.
+
+```js
+assert(//
+ (function () {
+ count = 0;
+ let out = cc(10);
+ const hasSpace = /-?\d+ (Bet|Hold)/.test('' + out);
+ return hasSpace;
+ })()
+);
+```
+
La sequenza di carte 2, 3, 4, 5, 6 dovrebbe restituire la stringa `5 Bet`
```js
diff --git a/curriculum/challenges/italian/03-front-end-development-libraries/redux/create-a-redux-store.md b/curriculum/challenges/italian/03-front-end-development-libraries/redux/create-a-redux-store.md
index 334b0668f34..ab343d5a8ae 100644
--- a/curriculum/challenges/italian/03-front-end-development-libraries/redux/create-a-redux-store.md
+++ b/curriculum/challenges/italian/03-front-end-development-libraries/redux/create-a-redux-store.md
@@ -20,7 +20,7 @@ Lo `store` di Redux è un oggetto che detiene e gestisce lo `state` dell'applica
Dichiara una variabile `store` e assegnala al metodo `createStore()`, passando il `reducer` come argomento.
-**Nota:** Il codice nell'editor utilizza la sintassi predefinita degli argomenti ES6 per inizializzare questo stato in modo da contenere un valore di `5`. Se non hai familiarità con gli argomenti predefiniti, puoi fare riferimento alla sezione ES6 nel Curriculum che copre questo argomento.
+**Nota:** Il codice nell'editor utilizza la sintassi predefinita degli argomenti ES6 per inizializzare questo stato in modo da contenere un valore di `5`. Se non hai familiarità con gli argomenti predefiniti, puoi fare riferimento alla sezione ES6 nel Curriculum che tratta questo argomento.
# --hints--
diff --git a/curriculum/challenges/italian/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md b/curriculum/challenges/italian/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md
index fadd0955b84..e7d2d714d35 100644
--- a/curriculum/challenges/italian/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md
+++ b/curriculum/challenges/italian/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md
@@ -34,14 +34,19 @@ mongoose.connect(, { useNewUrlParser: true, useUnifiedTopology: true }
# --hints--
-La dipendenza "mongodb" dovrebbe essere specificata in package.json
+La dipendenza "mongodb version ~3.6.0" dovrebbe essere in package.json
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/file/package.json').then(
(data) => {
var packJson = JSON.parse(data);
- assert.property(packJson.dependencies, 'mongodb');
+ assert.property(packJson.dependencies, 'mongodb')
+ assert.match(
+ packJson.dependencies.mongodb,
+ /^\~3\.6\.0/,
+ 'Wrong version of "mongodb". It should be ~3.6.0'
+ );
},
(xhr) => {
throw new Error(xhr.responseText);
@@ -49,7 +54,7 @@ La dipendenza "mongodb" dovrebbe essere specificata in package.json
);
```
-La dipendenza "mongoose" dovrebbe essere specificata in package.json
+La dipendenza "mongoose version ~5.4.0" dovrebbe essere in package.json
```js
(getUserInput) =>
@@ -57,6 +62,11 @@ La dipendenza "mongoose" dovrebbe essere specificata in package.json
(data) => {
var packJson = JSON.parse(data);
assert.property(packJson.dependencies, 'mongoose');
+ assert.match(
+ packJson.dependencies.mongoose,
+ /^\~5\.4\.0/,
+ 'Wrong version of "mongoose". It should be ~5.4.0'
+ );
},
(xhr) => {
throw new Error(xhr.responseText);
diff --git a/curriculum/challenges/italian/06-quality-assurance/quality-assurance-projects/sudoku-solver.md b/curriculum/challenges/italian/06-quality-assurance/quality-assurance-projects/sudoku-solver.md
index 895b4d77e3f..50dc4dbf258 100644
--- a/curriculum/challenges/italian/06-quality-assurance/quality-assurance-projects/sudoku-solver.md
+++ b/curriculum/challenges/italian/06-quality-assurance/quality-assurance-projects/sudoku-solver.md
@@ -270,7 +270,7 @@ async (getUserInput) => {
};
```
-Se all'oggetto sottoposto a `/api/check` manca `puzzle`, `coordinate` o `value`, il valore restituito sarà `{ error: Required field(s) missing }`
+Se all'oggetto sottoposto a `/api/check` manca `puzzle`, `coordinate` o `value`, il valore restituito sarà `{ error: 'Required field(s) missing' }`
```js
async (getUserInput) => {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md
index 8a80466b5ce..1a9cbe7718f 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md
@@ -15,7 +15,7 @@ selector1, selector2 {
}
```
-Usa una lista di selettori per centrare allo stesso tempo gli elementi `h1`, `h2` e `p`.
+Elimina i tre selettori di tipo esistenti e sostituiscili con una lista di selettori che centra il testo degli elementi `h1`, `h2` e `p`.
# --hints--
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md
index 7996e838510..062b1f9da83 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md
@@ -24,10 +24,11 @@ Non dovresti cambiare l'elemento `head` esistente. Assicurati di non aver elimin
assert($('head').length === 1);
```
-L'elemento `link` dovrebbe essere un elemento autoconcludente.
+Dovresti avere un elemento `link` auto-concludente.
```js
-assert(code.match(//i));
+const link = document.querySelectorAll('link');
+assert(link.length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md
index 7c814b56d00..fd7edb48d94 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md
@@ -11,7 +11,7 @@ Adesso aggiungi la classe `bottom-line` al secondo elemento `hr` in modo da appl
# --hints--
-Dovresti applicare la proprietà `class="bottom-line"`.
+Dovresti aggiungere l'attributo `class` con un valore di `bottom-line`.
```js
assert(code.match(/class=('|")bottom-line\1/i));
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c7e645d8e905819f1dd4.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c7e645d8e905819f1dd4.md
index 7dea1937709..473ca04a89d 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c7e645d8e905819f1dd4.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c7e645d8e905819f1dd4.md
@@ -39,10 +39,10 @@ Dovresti chiudere la dichiarazione `DOCTYPE` con un carattere `>`.
assert(code.match(//gi));
```
-L'elemento `html` dovrebbe avere un tag di apertura.
+L'elemento `html` dovrebbe avere una tag di apertura con un attributo `lang` di `en`.
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
@@ -139,28 +139,31 @@ Il codice dovrebbe avere un elemento `link`.
assert.match(code, //i));
+assert(document.querySelectorAll('link').length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
```js
-assert(code.match(/[\w\W\s]*[\w\W\s]*<\/head>/i))
+assert.exists(document.querySelector('head > link'));
```
L'elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
```js
-assert.match(code, /`.
assert(code.match(//gi));
```
-L'elemento `html` dovrebbe avere un tag di apertura.
+L'elemento `html` dovrebbe avere una tag di apertura con un attributo `lang` di `en`.
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61696ef7ac756c829f9e4048.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61696ef7ac756c829f9e4048.md
index 7265e591c92..c2a81e2482b 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61696ef7ac756c829f9e4048.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61696ef7ac756c829f9e4048.md
@@ -13,35 +13,31 @@ Annida un elemento `link` all'interno dell'elemento `head`. Dagli un attributo `
# --hints--
-Il codice dovrebbe avere un elemento `link`.
+Dovresti avere un elemento `link` auto-concludente.
```js
-assert(code.match(//i) === null);
+assert(document.querySelectorAll('link').length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
```js
-const head = code.match(/(.|\r|\n)*<\/head>/i)?.[0];
-assert(head.match(/ link'));
```
-Il tuo elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
+L'elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
```js
-assert(code.match(/`.
assert(code.match(//gi));
```
-L'elemento `html` dovrebbe avere un tag di apertura.
+Dovresti avere un tag `` di apertura con un attributo `lang` con il valore `en`.
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614385513d91ae5c251c2052.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614385513d91ae5c251c2052.md
index 9d2d51fbb12..28317670b09 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614385513d91ae5c251c2052.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614385513d91ae5c251c2052.md
@@ -7,55 +7,49 @@ dashedName: step-2
# --description--
-Aggiungi un elemento `title` con il testo `Magazine`, un elemento `link` per il foglio di stile dei caratteri `https://fonts.googleapis.com/css?family=Anton|Baskervville|Raleway&display=swap`, un `link` per il foglio di stile FontAwesome `https://use.fontawesome.com/releases/v5.8.2/css/all.css` e un `link` per il foglio di stile `./styles.css`.
+Aggiungi un elemento `title` con il testo `Magazine`, un elemento `link` per il foglio di stile dei caratteri `https://fonts.googleapis.com/css?family=Anton%7CBaskervville%7CRaleway&display=swap`, un `link` per il foglio di stile FontAwesome `https://use.fontawesome.com/releases/v5.8.2/css/all.css` e un `link` per il foglio di stile `./styles.css`.
Il foglio di stile dei caratteri caricherà tre caratteri separati: `Anton`, `Baskervville` e `Raleway`.
# --hints--
-Il codice dovrebbe avere tre elementi `link`.
+Il tuo codice dovrebbe avere tre elementi `link` auto-concludenti.
```js
-assert(code.match(//i) === null);
-```
-
-Gli elementi `link` dovrebbero trovarsi all'interno dell'elemento `head`.
-
-```js
-const head = code.match(/(.|\r|\n)*<\/head>/i)?.[0];
-assert(head.match(/ link').length === 3);
```
I tre elementi `link` dovrebbero avere un attributo `rel` con il valore `stylesheet`.
```js
-assert(code.match(/ link.getAttribute('rel') === 'stylesheet'));
```
-Uno dei tuoi elementi link dovrebbe avere un `href` impostato su `https://fonts.googleapis.com/css?family=Anton|Baskervville|Raleway&display=swap`.
+Uno degli elementi link dovrebbe avere un `href` impostato su `https://fonts.googleapis.com/css?family=Anton%7CBaskervville%7CRaleway&display=swap`.
```js
const links = [...document.querySelectorAll('link')];
-assert(links.find(link => link.getAttribute('href') === 'https://fonts.googleapis.com/css?family=Anton|Baskervville|Raleway&display=swap'));
+assert(links.find(link => link.getAttribute('href') === 'https://fonts.googleapis.com/css?family=Anton%7CBaskervville%7CRaleway&display=swap'));
```
-Uno dei tuoi elementi link dovrebbe avere un `href` impostato su `https://use.fontawesome.com/releases/v5.8.2/css/all.css`.
+Uno degli elementi link dovrebbe avere un `href` impostato su `https://use.fontawesome.com/releases/v5.8.2/css/all.css`.
```js
const links = [...document.querySelectorAll('link')];
assert(links.find(link => link.getAttribute('href') === 'https://use.fontawesome.com/releases/v5.8.2/css/all.css'));
```
-Uno dei tuoi elementi `link` dovrebbe avere un attributo `href` con il valore `styles.css`.
+Uno degli elementi `link` dovrebbe avere un attributo `href` con il valore `styles.css`.
```js
-assert.match(code, /
-
+
--fcc-editable-region--
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
index 9030250a536..3a2c3f2b11e 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
@@ -47,13 +47,13 @@ assert(document.querySelector('section')?.classList?.contains('heading'));
```html
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
h4?.classList?.contains('list-subtitle')));
```html
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
/gi));
+```
+
+L'elemento `html` dovrebbe avere un tag di chiusura.
+
+```js
+assert(code.match(/<\/html\s*>/gi));
+```
+
Il codice dovrebbe avere un elemento `head` all'interno dell'elemento `html`.
```js
@@ -80,13 +92,13 @@ const title = document.querySelector('title');
assert.isAtLeast(title?.textContent?.length, 1);
```
-Dovrebbe esserci un elemento `link`.
+Il codice dovrebbe avere un elemento `link`.
```js
assert(/[\w\W\s]*[\w\W\s]*<\/head>/i))
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md
index f773947f9bb..e598c98ad41 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md
@@ -7,7 +7,7 @@ dashedName: step-2
# --description--
-Aggiungi i tag di apertura e chiusura `html` sotto `DOCTYPE` in modo da avere un posto dove iniziare a inserire del codice.
+Aggiungi i tag di apertura e chiusura `html` sotto `DOCTYPE` in modo da avere un posto dove iniziare a inserire del codice. Assicurati di impostare la lingua.
# --hints--
@@ -17,10 +17,10 @@ La dichiarazione `DOCTYPE` dovrebbe essere all'inizio dell'HTML.
assert(__helpers.removeHtmlComments(code).match(/^\s*/i));
```
-L'elemento `html` dove avere un tag di apertura.
+L'elemento `html` dovrebbe avere una tag di apertura con un attributo `lang` di `en`.
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
@@ -32,7 +32,7 @@ assert(code.match(/<\/html\s*>/));
I tag `html` dovrebbero essere nell'ordine corretto.
```js
-assert(code.match(/\s*<\/html\s*>/));
+assert(code.match(/\s*<\/html\s*>/));
```
Dovresti avere un solo elemento `html`.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cc.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cc.md
index 3df9c5aa522..d0343ca5528 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cc.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cc.md
@@ -7,10 +7,22 @@ dashedName: step-4
# --description--
-Aggiungi un elemento `title` a `head` e dai al progetto il titolo `City Skyline`. Inoltre, annida un elemento `link` autoconcludente nell'elemento `head`. Dagli un attributo `rel` con valore di `stylesheet` e un attributo `href` con valore di `styles.css`.
+Dentro `head`, annida un elemento `meta` con un `charset` di `UTF-8`, un elemento `title` con il titolo `City Skyline` e un elemento `link` che linka il tuo file `styles.css`.
# --hints--
+Dovresti creare un elemento `meta` dentro l'elemento `head`.
+
+```js
+assert.exists(document.querySelector('head > meta'));
+```
+
+Dovresti assegnare al tag `meta` un attributo `charset` con il valore `UTF-8`.
+
+```js
+assert.equal(document.querySelector('head > meta')?.getAttribute('charset')?.toLowerCase(), 'utf-8');
+```
+
Il codice dovrebbe avere un elemento `title`.
```js
@@ -51,28 +63,31 @@ const heads = document.querySelectorAll('head');
assert.equal(heads?.length, 1);
```
-L'elemento `link` dovrebbe essere un elemento autoconcludente.
+Dovresti avere un elemento `link` auto-concludente.
```js
-assert(code.match(//i));
+assert(document.querySelectorAll('link').length === 1);
```
-L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
+L'elemento `link` dovrebbe trovarsi all'interno dell'elemento `head`.
```js
-assert(code.match(/[\w\W\s]*[\w\W\s]*<\/head>/i))
+assert.exists(document.querySelector('head > link'));
```
L'elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
```js
-assert.match(code, /
-
+
--fcc-editable-region--
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cd.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cd.md
index fc84fe8b19e..216d4a32ef8 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cd.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cd.md
@@ -7,7 +7,7 @@ dashedName: step-5
# --description--
-In CSS, è possibile selezionare tutto con un asterisco. Aggiungi un bordo a tutto il contenuto della pagina usando il selettore `*` e impostando `border` su `1px solid black`. Questo è un trucco che mi piace usare per visualizzare meglio la posizione degli elementi e la loro dimensione. Lo rimuoverai più tardi.
+In CSS, è possibile selezionare tutto con un asterisco. Aggiungi un bordo a tutto il contenuto della pagina usando il selettore `*` e impostando `border` su `1px solid black`. Questo è un trucco che aiuta a visualizzare la posizione degli elementi e la loro dimensione. Lo rimuoverai più tardi.
# --hints--
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md
index 2ca0f036c82..29d860d4d04 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md
@@ -7,16 +7,16 @@ dashedName: step-6
# --description--
-Nello step precedente, hai annidato l'elemento `h2`, il commento e l'elemento `p` all'interno dell'elemento `main`. Un elemento annidato è il figlio del suo elemento genitore. Per migliorare la leggibilità, dovrebbe essere indentato di due spazi rispetto all'elemento genitore, in questo modo:
+Nello step precedente, hai annidato l'elemento `h2`, il commento e l'elemento `p` all'interno dell'elemento `main`. Indentare gli elementi annidati di due spazi in più rispetto all'elemento genitore migliora la leggibilità:
```html
-
Child Element 1
-
Child Element 2
+
This `li` element indented
+
This `li` element is also indented
```
-Aggiungi due spazi davanti a ognuno dei tre elementi figli di `main` per rendere l'HTML più leggibile.
+Aggiungi due spazi in più davanti all'elemento `h1`, al commento, e all'elemento `p` così da rendere il tuo HTML più leggibile.
# --hints--
@@ -30,6 +30,14 @@ assert(
);
```
+Non dovresti aggiungere gli elementi `ul` o `li` dell'esempio.
+
+```js
+assert(
+ !document.querySelector('ul') && !document.querySelector('li')
+);
+```
+
L'elemento `h2` dovrebbe essere sotto il tag di apertura dell'elemento `main` e il suo tag di apertura dovrebbe iniziare dopo 6 spazi dall'inizio della riga.
```js
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md
index 5aab4c10095..1168e339226 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md
@@ -7,7 +7,7 @@ dashedName: step-12
# --description--
-Trasforma le parole `cat photos` all'interno dell'elemento `p` in un link usando lo stesso valore dell'attributo `href` al di sotto dell'elemento `p`. L'elemento `p` dovrebbe mostrare lo stesso testo nel browser, ma adesso le parole `cat photos` dovrebbero essere un link. Assicurati di rimuovere l'elemento `a` con il testo `cat photos` sulla riga sotto l'elemento `p`.
+Adesso puoi vedere le parole `cat photos` sottolineate vicino all'immagine nella preview. Questo è il tuo link, prova a cliccarlo. Nel testo dell'elemento `p`, trasforma le parole `cat photos` in un link a `https://freecatphotoapp.com`. Quando hai finito, rimuovi il vecchio elemento ancora e il testo sotto il paragrafo.
# --hints--
@@ -23,13 +23,21 @@ L'elemento di ancoraggio (`a`) dovrebbe essere annidato all'interno dell'element
assert($('p > a').length);
```
+Il valore dell'attributo `href` del link dovrebbe essere `https://freecatphotoapp.com`. Hai omesso il valore di href o hai un refuso.
+
+```js
+const nestedAnchor = $('p > a')[0];
+assert(
+ nestedAnchor.getAttribute('href') === 'https://freecatphotoapp.com'
+);
+```
+
Il testo del link dovrebbe essere `cat photos`. Hai omesso il testo o hai un refuso.
```js
const nestedAnchor = $('p > a')[0];
assert(
- nestedAnchor.getAttribute('href') === 'https://freecatphotoapp.com' &&
- nestedAnchor.innerText.toLowerCase().replace(/\s+/g, ' ') === 'cat photos'
+ nestedAnchor.innerText.toLowerCase().replace(/\s+/g, ' ') === 'cat photos'
);
```
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ee.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ee.md
index d43440808d3..f4f90ded535 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ee.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ee.md
@@ -9,7 +9,7 @@ dashedName: step-67
Tutte le pagine dovrebbero iniziare con ``. Questa stringa speciale viene detta dichiarazione e garantisce che il browser cerchi di soddisfare le specifiche del settore.
-Per completare questo progetto, aggiungi questa dichiarazione come prima riga del codice.
+Aggiungi questa dichiarazione come prima riga del codice.
# --hints--
@@ -97,70 +97,3 @@ assert(noSpaces.match(/^\<\!DOCTYPEhtml\>\
```
-# --solutions--
-
-```html
-
-
-
- CatPhotoApp
-
-
-
+
+
+
+
+
+
+```
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f0286404aefb0562a4fdf9.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f0286404aefb0562a4fdf9.md
index 8fedab3208b..e7e277dc3cb 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f0286404aefb0562a4fdf9.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f0286404aefb0562a4fdf9.md
@@ -51,10 +51,10 @@ const heads = document.querySelectorAll('head');
assert.equal(heads?.length, 1);
```
-L'elemento `link` dovrebbe essere un elemento autoconcludente.
+Dovresti avere un elemento `link` auto-concludente.
```js
-assert(code.match(//i));
+assert(document.querySelectorAll('link').length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md
index dad19a2f769..625e00107b8 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md
@@ -26,25 +26,25 @@ assert.equal(document.querySelectorAll('label input')?.length, 4);
Dovresti aggiungere il primo `input` il testo `Enter Your First Name:` dell'elemento `label` e includere uno spazio dopo i due punti.
```js
-assert.equal(document.querySelectorAll('label')?.[0]?.innerHTML, 'Enter Your First Name: ');
+assert.equal(document.querySelectorAll('label')?.[0]?.innerHTML.trim(), 'Enter Your First Name: ');
```
Dovresti aggiungere il secondo `input` dopo il testo `Enter Your Last Name:` dell'elemento `label` e includere uno spazio dopo i due punti.
```js
-assert.equal(document.querySelectorAll('label')?.[1]?.innerHTML, 'Enter Your Last Name: ');
+assert.equal(document.querySelectorAll('label')?.[1]?.innerHTML.trim(), 'Enter Your Last Name: ');
```
Dovresti aggiungere il terzo `input` dopo il testo `Enter Your Email:` dell'elemento `label` e includere uno spazio dopo i due punti.
```js
-assert.equal(document.querySelectorAll('label')?.[2]?.innerHTML, 'Enter Your Email: ');
+assert.equal(document.querySelectorAll('label')?.[2]?.innerHTML.trim(), 'Enter Your Email: ');
```
Dovresti aggiungere il quarto `input` dopo il testo `Create a New Password:` dell'elemento `label` e includere uno spazio dopo i due punti.
```js
-assert.equal(document.querySelectorAll('label')?.[3]?.innerHTML, 'Create a New Password: ');
+assert.equal(document.querySelectorAll('label')?.[3]?.innerHTML.trim(), 'Create a New Password: ');
```
# --seed--
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadce90f85c50d0bb0dd4f.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadce90f85c50d0bb0dd4f.md
index 10689eac916..229c70eac15 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadce90f85c50d0bb0dd4f.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadce90f85c50d0bb0dd4f.md
@@ -7,20 +7,14 @@ dashedName: step-41
# --description--
-Per dare agli elementi `fieldset` un po' di separazione, seleziona tutti gli elementi `fieldset` tranne l'ultimo e assegna loro una proprietà `border-bottom` con il valore `3px solid #3b3b4f`.
+Per dare agli elementi `fieldset` un po' di separazione, selezionali e dai loro un `border-bottom` di `3px solid #3b3b4f`.
# --hints--
-Puoi usare la pseudo-classe `:not(:last-of-type)` per selezionare tutti gli elemento tranne l'ultimo.
-
-```js
-assert.exists(new __helpers.CSSHelp(document).getStyle('fieldset:not(:last-of-type)'));
-```
-
Dovresti assegnare agli elementi `fieldset` una proprietà `border-bottom` con il valore `3px solid #3b3b4f`.
```js
-assert.equal(new __helpers.CSSHelp(document).getStyle('fieldset:not(:last-of-type)')?.borderBottom, '3px solid rgb(59, 59, 79)');
+assert.equal(new __helpers.CSSHelp(document).getStyle('fieldset')?.borderBottom, '3px solid rgb(59, 59, 79)');
```
# --seed--
@@ -97,13 +91,11 @@ form {
margin: 0 auto;
}
+--fcc-editable-region--
fieldset {
border: none;
padding: 2rem 0;
}
-
---fcc-editable-region--
-
--fcc-editable-region--
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadd972e6ffe0d6858fa2d.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadd972e6ffe0d6858fa2d.md
index 5c2449c3a7a..09c7e8beeb9 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadd972e6ffe0d6858fa2d.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadd972e6ffe0d6858fa2d.md
@@ -1,8 +1,8 @@
---
id: 60fadd972e6ffe0d6858fa2d
-title: Step 42
+title: Step 43
challengeType: 0
-dashedName: step-42
+dashedName: step-43
---
# --description--
@@ -132,11 +132,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadfa2b540b70dcfa8b771.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadfa2b540b70dcfa8b771.md
index ebe3cb97292..0e97b988960 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadfa2b540b70dcfa8b771.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadfa2b540b70dcfa8b771.md
@@ -1,8 +1,8 @@
---
id: 60fadfa2b540b70dcfa8b771
-title: Step 43
+title: Step 44
challengeType: 0
-dashedName: step-43
+dashedName: step-44
---
# --description--
@@ -109,11 +109,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md
index 3f5760f6a03..681803bf9da 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md
@@ -1,8 +1,8 @@
---
id: 60fc219d333e37046f474a6e
-title: Step 44
+title: Step 45
challengeType: 0
-dashedName: step-44
+dashedName: step-45
---
# --description--
@@ -99,11 +99,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md
index 9c5916aed9c..87917473ee9 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md
@@ -1,8 +1,8 @@
---
id: 60fc22d1e64d1b04cdd4e602
-title: Step 45
+title: Step 46
challengeType: 0
-dashedName: step-45
+dashedName: step-46
---
# --description--
@@ -11,6 +11,12 @@ Aggiungi un po' di spazio tra gli elementi `.inline` e il testo dei `label` usan
# --hints--
+Dovresti assegnare agli elementi `.inline` una proprietà `margin-top` di `0`.
+
+```js
+assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginTop, '0px');
+```
+
Dovresti assegnare agli elementi `.inline` una proprietà `margin-right` di `0.5em`.
```js
@@ -23,12 +29,6 @@ Dovresti assegnare agli elementi `.inline` una proprietà `margin-bottom` di `0`
assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginBottom, '0px');
```
-Dovresti assegnare agli elementi `.inline` una proprietà `margin-top` di `0`.
-
-```js
-assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginTop, '0px');
-```
-
Dovresti assegnare agli elementi `.inline` una proprietà `margin-left` di `0`.
```js
@@ -111,11 +111,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc236dc04532052926fdac.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc236dc04532052926fdac.md
index cabab72e4d1..7b0b872f0ee 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc236dc04532052926fdac.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc236dc04532052926fdac.md
@@ -1,8 +1,8 @@
---
id: 60fc236dc04532052926fdac
-title: Step 46
+title: Step 47
challengeType: 0
-dashedName: step-46
+dashedName: step-47
---
# --description--
@@ -95,11 +95,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md
index 7a6f0e060e8..167a71a1a35 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md
@@ -1,8 +1,8 @@
---
id: 60ffe1bc30415f042faea936
-title: Step 47
+title: Step 48
challengeType: 0
-dashedName: step-47
+dashedName: step-48
---
# --description--
@@ -110,11 +110,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md
index ff5366d384a..5af0bf79431 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md
@@ -1,8 +1,8 @@
---
id: 60ffe3936796ac04959285a9
-title: Step 48
+title: Step 49
challengeType: 0
-dashedName: step-48
+dashedName: step-49
---
# --description--
@@ -103,11 +103,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe4f4ec18cd04dc470c56.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe4f4ec18cd04dc470c56.md
index 1b8dec7908b..05686cef858 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe4f4ec18cd04dc470c56.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe4f4ec18cd04dc470c56.md
@@ -1,8 +1,8 @@
---
id: 60ffe4f4ec18cd04dc470c56
-title: Step 49
+title: Step 50
challengeType: 0
-dashedName: step-49
+dashedName: step-50
---
# --description--
@@ -108,11 +108,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe69ee377c6055e192a46.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe69ee377c6055e192a46.md
index be58633362d..c1cea5f66a8 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe69ee377c6055e192a46.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe69ee377c6055e192a46.md
@@ -1,8 +1,8 @@
---
id: 60ffe69ee377c6055e192a46
-title: Step 50
+title: Step 51
challengeType: 0
-dashedName: step-50
+dashedName: step-51
---
# --description--
@@ -113,11 +113,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe7d8aae62c05bcc9e7eb.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe7d8aae62c05bcc9e7eb.md
index 1c0ba772824..151980796cc 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe7d8aae62c05bcc9e7eb.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe7d8aae62c05bcc9e7eb.md
@@ -1,8 +1,8 @@
---
id: 60ffe7d8aae62c05bcc9e7eb
-title: Step 51
+title: Step 52
challengeType: 0
-dashedName: step-51
+dashedName: step-52
---
# --description--
@@ -102,11 +102,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe8a5ceb0e90618db06d9.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe8a5ceb0e90618db06d9.md
index c8664f35a00..13fe6d9ecb2 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe8a5ceb0e90618db06d9.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe8a5ceb0e90618db06d9.md
@@ -1,8 +1,8 @@
---
id: 60ffe8a5ceb0e90618db06d9
-title: Step 52
+title: Step 53
challengeType: 0
-dashedName: step-52
+dashedName: step-53
---
# --description--
@@ -99,11 +99,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe947a868ec068f7850f6.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe947a868ec068f7850f6.md
index fbe04712c64..3e0255951fe 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe947a868ec068f7850f6.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe947a868ec068f7850f6.md
@@ -1,8 +1,8 @@
---
id: 60ffe947a868ec068f7850f6
-title: Step 53
+title: Passo 54
challengeType: 0
-dashedName: step-53
+dashedName: step-54
---
# --description--
@@ -99,11 +99,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe9cb47809106eda2f2c9.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe9cb47809106eda2f2c9.md
index 382cd018c04..c25a9da17f5 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe9cb47809106eda2f2c9.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe9cb47809106eda2f2c9.md
@@ -1,8 +1,8 @@
---
id: 60ffe9cb47809106eda2f2c9
-title: Step 54
+title: Step 55
challengeType: 0
-dashedName: step-54
+dashedName: step-55
---
# --description--
@@ -102,11 +102,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffec2825da1007509ddd06.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffec2825da1007509ddd06.md
index d5507f08f34..51aecb5dada 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffec2825da1007509ddd06.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffec2825da1007509ddd06.md
@@ -1,8 +1,8 @@
---
id: 60ffec2825da1007509ddd06
-title: Step 55
+title: Step 56
challengeType: 0
-dashedName: step-55
+dashedName: step-56
---
# --description--
@@ -101,11 +101,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffecefac971607ae73c60f.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffecefac971607ae73c60f.md
index ae15674b91f..a2163bb552e 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffecefac971607ae73c60f.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffecefac971607ae73c60f.md
@@ -1,8 +1,8 @@
---
id: 60ffecefac971607ae73c60f
-title: Step 56
+title: Step 57
challengeType: 0
-dashedName: step-56
+dashedName: step-57
---
# --description--
@@ -102,11 +102,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md
index 839e77166fa..bc91c73791d 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md
@@ -1,8 +1,8 @@
---
id: 60ffefd6479a3d084fb77cbc
-title: Step 57
+title: Step 58
challengeType: 0
-dashedName: step-57
+dashedName: step-58
---
# --description--
@@ -102,11 +102,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
@@ -230,11 +231,12 @@ form {
fieldset {
border: none;
- padding: 2rem 0;
+ padding: 2rem 0;
+ border-bottom: 3px solid #3b3b4f;
}
-fieldset:not(:last-of-type) {
- border-bottom: 3px solid #3b3b4f;
+fieldset:last-of-type {
+ border-bottom: none;
}
label {
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md
new file mode 100644
index 00000000000..571f8e3ef0b
--- /dev/null
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md
@@ -0,0 +1,122 @@
+---
+id: 62b30924c5e4ef0daba23b5e
+title: Step 42
+challengeType: 0
+dashedName: step-42
+---
+
+# --description--
+
+Il bordo dell'ultimo elemento `fieldset` sembra un po' fuori luogo. Puoi selezionare l'ultimo elemento di un certo tipo usando la pseudo-classe CSS `last-of-type`, in questo modo:
+
+```css
+p:last-of-type { }
+```
+
+Questo selezionerà l'ultimo elemento `p`. Crea un nuovo selettore che seleziona l'ultimo elemento `fieldset` e imposta la sua proprietà `border-bottom` su `none`.
+
+# --hints--
+
+Puoi usare la pseudoclasse `:last-of-type` per selezionare solo l'ultimo elemento di un certo tipo.
+
+```js
+assert.exists(new __helpers.CSSHelp(document).getStyle('fieldset:last-of-type'));
+```
+
+L'elemento `fieldset:last-of-type` dovrebbe avere un `border-bottom` con il valore `none`.
+
+```js
+const borderBottom = new __helpers.CSSHelp(document).getStyle('fieldset:last-of-type')?.borderBottom;
+assert(borderBottom === 'none' || borderBottom === 'medium none');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+ Registration Form
+
+
+
+
Registration Form
+
Please fill out this form with the required information
+
+
+
+```
+
+```css
+body {
+ width: 100%;
+ height: 100vh;
+ margin: 0;
+ background-color: #1b1b32;
+ color: #f5f6f7;
+ font-family: Tahoma;
+ font-size: 16px;
+}
+
+h1, p {
+ margin: 1em auto;
+ text-align: center;
+}
+
+form {
+ width: 60vw;
+ max-width: 500px;
+ min-width: 300px;
+ margin: 0 auto;
+}
+
+fieldset {
+ border: none;
+ padding: 2rem 0;
+ border-bottom: 3px solid rgb(59, 59, 79);
+}
+
+--fcc-editable-region--
+
+--fcc-editable-region--
+
+label {
+ display: block;
+ margin: 0.5rem 0;
+}
+
+```
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51578.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51578.md
index 7003c2e4aa2..6e55c1cca40 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51578.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51578.md
@@ -7,7 +7,7 @@ dashedName: step-1
# --description--
-Inizia impostando la struttura HTML di base. Aggiungi una dichiarazione `` e un elemento `html`. All'interno dell'elemento `html`, aggiungi un elemento `head` e un elemento `body`.
+Inizia impostando la struttura HTML di base. Aggiungi una dichiarazione `` e un elemento `html` con un attributo `lang` con valore di `en`. All'interno dell'elemento `html`, aggiungi un elemento `head` e un elemento `body`.
# --hints--
@@ -41,10 +41,10 @@ La dichiarazione `DOCTYPE` dovrebbe essere all'inizio dell'HTML.
assert(__helpers.removeHtmlComments(code).match(/^\s*/i));
```
-L'elemento `html` dovrebbe avere un tag di apertura.
+L'elemento `html` dovrebbe avere un attributo `lang` con valore di `en`
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157a.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157a.md
index 3e00fa7db65..3cc4cbf86f9 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157a.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157a.md
@@ -13,7 +13,7 @@ Aggiungi un elemento `link` con un `rel` di `stylesheet` e un `href` con il valo
# --hints--
-Dovresti aggiungere un altro elemento `link`.
+Dovresti avere due elementi `link`.
```js
assert(document.querySelectorAll('link').length === 2);
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b80da8676fb3227967a731.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b80da8676fb3227967a731.md
index 2b39b677744..a65edecf101 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b80da8676fb3227967a731.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b80da8676fb3227967a731.md
@@ -20,28 +20,31 @@ Il codice dovrebbe avere un elemento `link`.
assert.match(code, //i));
+assert(document.querySelectorAll('link').length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
```js
-assert(code.match(/[\w\W\s]*[\w\W\s]*<\/head>/i))
+assert.exists(document.querySelector('head > link'));
```
L'elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
```js
-assert.match(code, //gi));
+```
+
+L'elemento `html` dovrebbe avere un tag di chiusura.
+
+```js
+assert(code.match(/<\/html\s*>/));
+```
+
Il codice dovrebbe avere un elemento `head` all'interno dell'elemento `html`.
```js
@@ -48,7 +60,7 @@ const meta = document.querySelectorAll('meta');
assert.equal(meta?.length, 2);
```
-Un elemento `meta` dovrebbe avere un `name` impostato su `viewport` e un `content` impostato su `width=device-width, initial-scale=1.0`.
+Un elemento `meta` dovrebbe avere un attributo `name` impostato su `viewport` e un attributo `content` impostato su `width=device-width, initial-scale=1.0`.
```js
const meta = [...document.querySelectorAll('meta')];
@@ -84,7 +96,7 @@ Il codice dovrebbe avere un elemento `link`.
assert(/[\w\W\s]*[\w\W\s]*<\/head>/i))
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e6afc009b450a437940a1.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e6afc009b450a437940a1.md
index 6b1d5ec25b3..c02a54e110f 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e6afc009b450a437940a1.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e6afc009b450a437940a1.md
@@ -35,10 +35,10 @@ Dovresti chiudere la dichiarazione `DOCTYPE` con un carattere `>`.
assert(code.match(//gi));
```
-L'elemento `html` dovrebbe avere un tag di apertura.
+L'elemento `html` dovrebbe avere una tag di apertura con un attributo `lang` di `en`.
```js
-assert(code.match(//gi));
+assert(code.match(//gi));
```
L'elemento `html` dovrebbe avere un tag di chiusura.
diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e83ec2eca1e370f830511.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e83ec2eca1e370f830511.md
index 29f0c2c1926..4aae5660285 100644
--- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e83ec2eca1e370f830511.md
+++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e83ec2eca1e370f830511.md
@@ -24,28 +24,31 @@ const heads = document.querySelectorAll('head');
assert.equal(heads?.length, 1);
```
-L'elemento `link` dovrebbe essere un elemento autoconcludente.
+Dovresti avere un elemento `link` auto-concludente.
```js
-assert(code.match(//i));
+assert(document.querySelectorAll('link').length === 1);
```
L'elemento `link` dovrebbe essere all'interno dell'elemento `head`.
```js
-assert(code.match(/[\w\W\s]*[\w\W\s]*<\/head>/i))
+assert.exists(document.querySelector('head > link'));
```
L'elemento `link` dovrebbe avere un attributo `rel` con il valore `stylesheet`.
```js
-assert.match(code, / link.getAttribute('rel') === 'stylesheet'));
```
Uno degli elementi `link` dovrebbe avere un attributo `href` con il valore `./styles.css`.
```js
-assert(code.match(/ à seção sobre ES6 do currículo que aborda este tópico.
+**Observação:** o código no editor usa a sintaxe de argumento padrão ES6 para inicializar este estado para ter um valor de `5`. Se você não está familiarizado com os argumentos padrão, você pode se referir à seção sobre ES6 do currículo que aborda este tópico.
# --hints--
diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
index 5a34aa54e10..e22cc5ecc62 100644
--- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
+++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md
@@ -47,13 +47,13 @@ assert(document.querySelector('section')?.classList?.contains('heading'));
```html
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
h4?.classList?.contains('list-subtitle')));
```html
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
-
+
Magazine
');
+assert.equal(document.querySelectorAll('label')?.[0]?.innerHTML.trim(), 'Enter Your First Name: ');
```
Você deve adicionar o segundo `input` após o texto `Enter Your Last Name:` do elemento `label` e incluir um espaço depois dos dois-pontos.
```js
-assert.equal(document.querySelectorAll('label')?.[1]?.innerHTML, 'Enter Your Last Name: ');
+assert.equal(document.querySelectorAll('label')?.[1]?.innerHTML.trim(), 'Enter Your Last Name: ');
```
Você deve adicionar o terceiro `input` após o texto `Enter Your Email:` do elemento `label` e incluir um espaço depois dos dois-pontos.
```js
-assert.equal(document.querySelectorAll('label')?.[2]?.innerHTML, 'Enter Your Email: ');
+assert.equal(document.querySelectorAll('label')?.[2]?.innerHTML.trim(), 'Enter Your Email: ');
```
Você deve adicionar o quarto `input` após o texto `Create a New Password:` do elemento `label` e incluir um espaço depois dos dois-pontos.
```js
-assert.equal(document.querySelectorAll('label')?.[3]?.innerHTML, 'Create a New Password: ');
+assert.equal(document.querySelectorAll('label')?.[3]?.innerHTML.trim(), 'Create a New Password: ');
```
# --seed--