diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index 0f052b2d74f..a95911ad15f 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ assert.notEqual(document.querySelector('form')?.action, window?.location?.href); assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index e32488bb058..426ce3d0ec0 100644 --- a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 39ddfc1b493..17a02196a59 100644 --- a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index 1a73e23bd8e..056bfe4bd35 100644 --- a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ assert.notEqual(document.querySelector('form')?.action, window?.location?.href); assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index fa7a472ae10..69a45701e82 100644 --- a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 0edd9ab82d5..0d9e1cc3dd6 100644 --- a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/chinese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/chinese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index 6fb90653425..3cf4b7f469c 100644 --- a/curriculum/challenges/chinese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/chinese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ assert.notEqual(document.querySelector('form')?.action, window?.location?.href); assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index fa7a472ae10..69a45701e82 100644 --- a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index b5985862443..4f6753d9e85 100644 --- a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/espanol/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/espanol/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index cd102dad3d0..bbda1f15a54 100644 --- a/curriculum/challenges/espanol/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/espanol/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ Debes dar al `action` un valor de `https://register-demo.freecodecamp.org`. assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index 95837e6a64e..0d4de1a0ac0 100644 --- a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index bbe7fa3a7a5..a9a30c9c66d 100644 --- a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index ce5e5230b51..20f7dfca2ee 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ Du solltest der `action` einen Wert von `https://register-demo.freecodecamp.org` assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Dein `form`-Element sollte einen schließenden Tag haben ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index 40e42e246ec..3488594d07e 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Füge deiner `.map()`-Methode eine Callback-Funktion hinzu, die jedes Element in # --hints-- -Deine `.map()`-Methode sollte eine Callback-Funktion haben, die einen `el`-Parameter verwendet. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Deine Callback-Funktion sollte den `Number`-Konstruktor verwenden, um `el` in eine Zahl umzuwandeln. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Deine Callback-Funktion sollte das `new`-Schlüsselwort nicht mit dem `Number`-Konstruktor verwenden. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Deine Callback-Funktion sollte das in eine Zahl umgewandelte Element zurückgeben. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index bd6903d317b..471864b1000 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index d58f9e57f16..1e157d279d2 100644 --- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ Dovresti assegnare all'attributo `action` il valore `https://register-demo.freec assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index 6e502d6bb5c..b990c85b16c 100644 --- a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Aggiungi al metodo `.map()` una funzione callback che converte ogni elemento in # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -La funzione callback dovrebbe utilizzare il costruttore `Number` per convertire `el` in un numero. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` La funzione callback non dovrebbe usare la parola chiave `new` con il costruttore `Number`. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); La funzione callback dovrebbe restituire l'elemento convertito in un numero. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 9cafc4b1195..b3bc8f116a1 100644 --- a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/japanese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/japanese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index 03b13041aeb..67e648f3709 100644 --- a/curriculum/challenges/japanese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/japanese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ assert.notEqual(document.querySelector('form')?.action, window?.location?.href); assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index fa7a472ae10..69a45701e82 100644 --- a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 9cafc4b1195..b3bc8f116a1 100644 --- a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/korean/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/korean/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index e2a45a4d87f..38cc7e07571 100644 --- a/curriculum/challenges/korean/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/korean/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ You should give the `action` a value of `https://register-demo.freecodecamp.org` assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index fa7a472ae10..69a45701e82 100644 --- a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 9cafc4b1195..b3bc8f116a1 100644 --- a/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/korean/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index d54fb655b97..14b3975a200 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ Você deve dar ao atributo `action` um valor de `https://register-demo.freecodec assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +O elemento `form` deve ter uma tag de fechamento ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index a40b8c7c554..0e1d08b6c0b 100644 --- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Adicione uma função de callback ao método `.map()` que converte cada elemento # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -A função de callback deve usar o construtor `Number` para converter `el` para um número. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` A função de callback não deve usar a palavra-chave `new` com o construtor `Number`. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); A função de callback deve retornar o elemento convertido em um número. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index bdbfea98c48..488694aa994 100644 --- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 47c4ed5e78b..f9d3d5b6ab6 100644 --- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/swahili/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/swahili/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index 621da984985..ba45943bc49 100644 --- a/curriculum/challenges/swahili/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/swahili/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ Unapaswa kuipa `action` thamani ya `https://register-demo.freecodecamp.org`. assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index 59cfa29b150..0a72e8ba639 100644 --- a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ Add a callback function to your `.map()` method that converts each element to a # --hints-- -Your `.map()` method should have a callback function which takes an `el` parameter. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Your callback function should use the `Number` constructor to convert `el` to a number. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Your callback function should not use the `new` keyword with the `Number` constructor. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Your callback function should return the element converted to a number. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index 2a0f5d60ff7..1482f8906cd 100644 --- a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 3f0a704b0db..b83401be570 100644 --- a/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/swahili/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md index a8380ea14b4..d975f65b9a4 100644 --- a/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md +++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md @@ -30,6 +30,12 @@ assert.notEqual(document.querySelector('form')?.action, window?.location?.href); assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` +Your `form` element should have a closing tag ``. + +```js +assert.match(code, /<\/form\>/); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md index d70fb5de15d..ec256f0bf4d 100644 --- a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md +++ b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507c4b63731437227b0134.md @@ -21,16 +21,16 @@ array.map(el => { # --hints-- -Метод `.map()` повинен мати функцію зворотного виклику, яка приймає параметр `el`. +Your `.map()` method should have a callback function. ```js -assert.match(calculate.toString(), /array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{/) +assert.match(calculate.toString(), /array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{|array\.map\(\s*Number\s*\)/) ``` -Функція зворотного виклику повинна використовувати конструктор `Number`, щоб перетворити `el` у число. +Your callback function should use the `Number` constructor to convert each array element to a number. ```js -assert.match(calculate.toString(), /Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /Number\(\s*\w+\s*\)|Number/); ``` Функція зворотного виклику не повинна використовувати ключове слово `new` з конструктором `Number`. @@ -42,7 +42,7 @@ assert.notMatch(calculate.toString(), /new/); Функція зворотного виклику повинна повернути елемент, перетворений у число. ```js -assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*el\s*\)|el)\s*=>|array\.map\(\s*function\s*\(\s*el\s*\)\s*\{)\s*(return\s+)?Number\(\s*el\s*\)/); +assert.match(calculate.toString(), /(array\.map\(\s*(\(\s*\w+\s*\)|\w+)\s*=>|array\.map\(\s*function\s*\(\s*\w+\s*\)\s*\{)\s*(return\s+)?Number\(\s*\w+\s*\)|array\.map\(\s*Number\s*\)/); ``` # --seed-- diff --git a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md index c219dda22f0..658c26e5d99 100644 --- a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md +++ b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/656472ed8f552d2f2b3f7883.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Add an `else` block to handle the current song's position in the playlist. +Add an `else` block to handle the song's current playback time. This allows you to resume the current song at the point where it was paused. Within the `else` block, set the `currentTime` property of the `audio` object to the value stored in `userData?.songCurrentTime`. diff --git a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md index 1c33bdc7519..3475f668497 100644 --- a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md +++ b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md @@ -17,9 +17,9 @@ The `toggle` method will add the class if it is not present on the element, and element.classList.toggle("class-to-toggle"); ``` -Add an event listener to the `openTaskFormBtn` element and pass in a `click` event for the first argument and an empty callback function for the second argument. +Add an event listener to the `openTaskFormBtn` element and pass in a `"click"` event for the first argument and an anonymous callback function for the second argument. -For the callback function, use the `classList.toggle()` method to toggle the `hidden` class on the `taskForm` element. +Inside the callback function, use the `classList.toggle()` method to toggle the `"hidden"` class on the `taskForm` element. Now you can `click` on the "Add new Task" button and see the form modal. diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-a.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-a.md index 84fa81be0c8..72303c658e4 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-a.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-a.md @@ -1,59 +1,59 @@ --- id: 6571b2fccc1de61d7b4dd37f -title: Introduction to Flexbox Lesson A +title: Вступ до гнучкого контейнера. Урок №1 challengeType: 15 dashedName: introduction-flexbox-lesson-a --- # --description-- -## Before we get started +## Перш ніж почнемо -Flexbox layouts can get a little complicated. In a previous lesson, you learned how to inspect and debug things using your browser’s developer tools. Those tools will be crucial for you in the following lessons. If something isn’t behaving the way you expect, inspecting it in the developer tools should be your first step every time. +Макети гнучкого контейнера можуть бути складними. У попередньому уроці ви дізнались, як провести огляд та налаштування за допомогою інструментів розробника в браузері. Ці інструменти будуть надзвичайно важливими в наступних уроках. Якщо щось працює не так, як ви очікуєте, в першу чергу потрібно провести перевірку в інструментах розробника. -Flexbox isn’t necessarily any more difficult than the other concepts that we’ve covered so far, but it does have a few more moving parts. It is going to be somewhat difficult to make use of any of the things you’re learning in these first lessons until you get to the end and can put it all together. As we go, do yourself a favor and play with all of the code examples. +Гнучкий контейнер не складніший за інші поняття, які ми вже розглянули, але в нього трохи більше складових. На перших уроках буде складно побачити суцільну картину, допоки ви не дійдете до кінця, де поєднаєте все вивчене. Під час проходження уроків бажано звертати увагу на приклади коду. -You will almost definitely need to come back and reference these lessons (or a couple of the resources we share with you) when you get to the assignments at the end of the section, but if you take your time and experiment with all the code examples we provide, you’ll know better where to look when that time comes. +Найімовірніше, вам доведеться повертатися і посилатися на ці уроки (або інші матеріали, які ми надаємо) під час виконання завдань в кінці розділу. Але якщо ви виділите час і експериментуватимете з усіма наданими прикладами коду, ви краще зрозумієте, що робити у певний момент. -## Let’s flex +## Пофлексимо -Flexbox is a way to arrange items into rows or columns. These items will flex (i.e. grow or shrink) based on some simple rules that you can define. To get started, let’s look at a simple demonstration. +Гнучкий контейнер — це спосіб розташувати предмети в рядки та стовпці. Ці предмети будуть гнутись (тобто збільшуватись або зменшуватись) на основі певних простих правил, які можна визначити. Для початку розглянемо простий приклад. -> We’ve embedded a lot of interactive examples in these lessons. Take your time to experiment with them as you go to cement the concepts in your mind! +> Ми впровадили багато інтерактивних прикладів у цих уроках. Настав час поекспериментувати з ними, щоб запам’ятати всі поняття! - + -We’ll get into exactly what’s going on here soon enough. But for now, let’s uncomment the two flex related CSS declarations in the above Codepen by removing the `/*` and `*/` tags surrounding them, then check out the result. +Незабаром розберемося, що тут відбувається. Наразі розкоментуємо два пов’язаних гнучкі оголошення CSS з Codepen вище, видаливши теги `/*` та `*/` навколо них, а потім глянемо на результат. -> Comments prevent the browser from interpreting lines as code, and are wrapped between specific tags. CSS uses `/*` as an opening comment tag and `*/` as a closing comment tag, while HTML and JavaScript have their own syntax. Commented out lines of code can be re-enabled simply by removing the comment tags surrounding the code. +> Коментарі заважають браузеру тлумачити рядки як код і використовуються між певними тегами. CSS використовує `/*` як початковий тег коментаря та `*/` як кінцевий тег коментаря, а HTML та JavaScript мають власний синтаксис. Прокоментовані рядки коду можна знову активувати, просто видаливши теги коментарів навколо коду. -All 3 divs should now be arranged horizontally. If you resize the results frame with the `1x`, `.5x` and `.25x` buttons you’ll also see that the `div` elements will "flex". They will fill the available area and will each have equal width. +Тепер всі три елементи div мають розташовуватись горизонтально. Якщо змінити їхній розмір за допомогою кнопок `1x`, `.5x` та `.25x`, ви побачите, як елементи `div` почнуть «гнутись». Вони заповнять доступну площу та матимуть однакову ширину. -If you add another `div` to the HTML, inside of `.flex-container`, it will show up alongside the others, and everything will flex to fit within the available area. +Якщо до HTML всередині `.flex-container` додати ще один `div`, він з’явиться поруч з іншими елементами та все погнеться, щоб поміститись в межах доступної площі. -> If it’s hard to see what's going on in the small embedded CodePen, feel free to click the "Edit on CodePen" or "Fork on CodePen" button. This will bring the example into a full-sized environment. Some of the later examples might especially benefit from doing this. +> Якщо важко побачити зміни в невеликому вбудованому CodePen, натисніть на кнопку «Edit on CodePen» або «Fork on CodePen». Це покаже приклад у повноекранному середовищі. Це особливо знадобиться для деяких наступних прикладів. # --question-- ## --text-- -What happens when the two flex related CSS declarations in the CodePen are uncommented? +Що відбудеться, якщо розкоментувати два пов’язаних гнучкі оголошення CSS в CodePen? ## --answers-- -The `div` elements become hidden from view, losing their visibility within the container. +Елементи `div` стануть прихованими, втративши видимість всередині контейнера. --- -All 3 `div` elements are arranged horizontally, and they flex to fill the available area with equal width. +Усі три елементи `div` розташуються горизонтально і розтягнуться, щоб заповнити доступну площу однаковою шириною. --- -Each `div` element enlarges and covers the entire container, overlapping each other. +Усі елементи `div` збільшаться і покриють весь контейнер, перекривши один одного. --- -The `div` elements align vertically in a single column, ignoring the flex-related CSS declarations. +Елементи `div` вирівняються вертикально в один стовпець, ігноруючи оголошення CSS. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-f.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-f.md index 4eaf7c90e6a..e77b42f1e7a 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-f.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-f.md @@ -11,7 +11,7 @@ dashedName: introduction-flexbox-lesson-f In the following example the `flex` shorthand has values for `flex-shrink` and `flex-basis` specified with their default values. - + # --question-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-g.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-g.md index ec641fb8038..61e5a3eb1f6 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-g.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-g.md @@ -13,7 +13,7 @@ The default shrink factor is `flex-shrink: 1`, which means all items will shrink Here's an example. If you shrink your browser window you'll notice that `.two` never gets smaller than the given width of `250px`, even though the `flex-grow` rule would otherwise specify that each element should be equally sized. - + An important implication to notice here is that when you specify `flex-grow` or `flex-shrink`, flex items do not necessarily respect your given values for `width`. In the above example, all 3 divs are given a `width` of `250px`, but when their parent is big enough, they grow to fill it. Likewise, when the parent is too small, the default behavior is for them to shrink to fit. This is not a bug, but it could be confusing behavior if you aren’t expecting it. diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-h.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-h.md index 7f370e28917..92d9cf138d5 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-h.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-h.md @@ -11,7 +11,7 @@ No matter which direction you're using, you need to think of your flex-container In other words, in our very first example, you put `display: flex` on a div and it arranged its children horizontally. This is a demonstration of `flex-direction: row`, the default setting. The following example is very similar. If you uncomment the line that says `flex-direction: column`, those divs will stack vertically. - + # --question-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-i.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-i.md index af3b6bc7af9..5b5eccbd977 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-i.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-i.md @@ -7,7 +7,7 @@ dashedName: introduction-flexbox-lesson-i # --description-- - + One thing to note is that in this example, `flex-direction: column` would not work as expected if you used the shorthand `flex: 1`. Try it out now (i.e. go change the flex value on the `flex: 1 1 auto;` line). Can you figure out why it does not work if `flex: 1` is used? The divs collapse, even though they clearly have a height defined there. diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-j.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-j.md index d2ad72a1ea2..c100f536466 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-j.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-j.md @@ -9,7 +9,7 @@ dashedName: introduction-flexbox-lesson-j Let's look at an example. - + You should be able to predict what happens if you put `flex: 1` on the `.item` by now. Give it a shot before you move on! diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-k.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-k.md index d3137b0af56..1f8f6e0d718 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-k.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-introduction-to-flexbox/introduction-flexbox-lesson-k.md @@ -9,7 +9,7 @@ dashedName: introduction-flexbox-lesson-k +allowtransparency="true" class="cp_embed_iframe " frameborder="0" height="400" width="100%" name="cp_embed_1" scrolling="no" src="https://codepen.io/TheOdinProjectExamples/embed/MWoyBzR?height=400&default-tab=html%2Cresult&slug-hash=MWoyBzR&editable=true&user=TheOdinProjectExamples&name=cp_embed_1" title="Вставка CodePen" loading="lazy" id="cp_embed_MWoyBzR"> To change the placement of items along the cross axis use `align-items`. Try getting the boxes to the center of the container by adding `align-items: center` to `.container`. The desired result looks like this: diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-e.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-e.md index 28382318c19..b53521c0d93 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-e.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-e.md @@ -7,7 +7,7 @@ dashedName: learn-arrays-and-loops-lesson-e # --description-- -Now that you have a basic understanding about arrays, let's talk about loops. Loops are used to execute a block of code multiple times. One of those loops is the `while` loop. The `while` loop executes a block of code as long as the condition is true. The syntax of the `while` loop is as follows: +Now that you have a basic understanding about arrays, let's talk about loops. Loops are used to execute a block of code multiple times. One of those loops is the `while` loop. The `while` loop executes a block of code as long as the condition is true. Синтаксис циклу `while` такий: ```javascript while (condition) { diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-f.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-f.md index b5908948394..202f076dd80 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-f.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-f.md @@ -7,7 +7,7 @@ dashedName: learn-arrays-and-loops-lesson-f # --description-- -The `for` loop is another type of loop that is used to execute a block of code multiple times. The `for` loop is used when the number of iterations is known. The syntax of the `for` loop is as follows: +The `for` loop is another type of loop that is used to execute a block of code multiple times. The `for` loop is used when the number of iterations is known. Синтаксис циклу `for` такий: ```javascript for (initialization; condition; increment/decrement) { diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-g.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-g.md index f73a588c036..80447f5149a 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-g.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-g.md @@ -7,7 +7,7 @@ dashedName: learn-arrays-and-loops-lesson-g # --description-- -Now that you know about the most common ways to iterate over values and arrays, there are a few more ways to iterate over arrays. Arrays have a built-in method called `map()`, which is used to create a new array by applying a function to each element of the original array. The `map()` method does not change the original array. The syntax of the `map()` method is as follows: +Now that you know about the most common ways to iterate over values and arrays, there are a few more ways to iterate over arrays. Arrays have a built-in method called `map()`, which is used to create a new array by applying a function to each element of the original array. The `map()` method does not change the original array. Синтаксис методу `map()` такий: ```javascript const array = [1, 2, 3, 4, 5]; diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-h.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-h.md index 9c024e353e5..b833cac5170 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-h.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-arrays-and-loops/learn-arrays-and-loops-lesson-h.md @@ -7,7 +7,7 @@ dashedName: learn-arrays-and-loops-lesson-h # --description-- -One other useful array method is the `filter()` method. The `filter()` method creates a new array with all elements that pass the test implemented by the provided function. The syntax of the `filter()` method is as follows: +One other useful array method is the `filter()` method. The `filter()` method creates a new array with all elements that pass the test implemented by the provided function. Синтаксис методу `filter()` такий: ```javascript const numbers = [2, 5, 6, 1, 9, -1] diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-a.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-a.md index e4e05c6caa9..6eab40b71a4 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-a.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-a.md @@ -1,27 +1,27 @@ --- id: 6570447ce7b02272663824df -title: Learn Block and Inline Lesson A +title: Блокові та рядкові елементи. Урок №1 challengeType: 15 dashedName: learn-block-and-inline-lesson-a --- # --description-- -Most of the elements that you have learned about so far are block elements. In other words, their default style is `display: block`. By default, block elements will appear on the page stacked atop each other, each new element starting on a new line. +Більшість елементів, про які ви вже дізнались, є блоковими елементами. Іншими словами, їхнім стилем за замовчуванням є `display: block`. За замовчуванням блокові елементи з’являються на сторінці один на одному, а кожен новий елемент починається з нового рядка. # --question-- ## --text-- -Which of the following statements about block elements is true? +Яке з тверджень про блокові елементи є правильним? ## --answers-- -Block elements take up only the space necessary for their content. +Блокові елементи займають лише місце, необхідне для свого вмісту. --- -Block elements start on a new line and take up the full width available. +Блокові елементи починаються з нового рядка та займають всю доступну ширину. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-b.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-b.md index 1adf9ce84ff..a17f68fb7b9 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-b.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-b.md @@ -1,39 +1,39 @@ --- id: 6570447de7b02272663824e0 -title: Learn Block and Inline Lesson B +title: Блокові та рядкові елементи. Урок №2 challengeType: 15 dashedName: learn-block-and-inline-lesson-b --- # --description-- -Inline elements, however, do not start on a new line. They appear in line with whatever elements they are placed beside. A clear example of an inline element is a link, or `` tag. If you stick one of these in the middle of a paragraph of text, it will behave like a part of the paragraph. (Like this) The link’s text will sit alongside other words in that paragraph. Additionally, padding and margin behave differently on inline elements. In general, you do not want to try to put extra padding or margin on inline elements. +А ось рядкові елементи не починаються з нового рядка. Вони з’являються в рядку з будь-якими елементами, біля яких їх розташували. Хорошим прикладом рядкового елемента є посилання (тег ``). Якщо розмістити один з таких елементів всередині абзацу тексту, то він поводитиметься як частина абзацу. (Ось так) Текст посилання знаходитиметься між іншими словами абзацу. До того ж відступ та поле рядкових елементів поводяться по-іншому. Загалом, не намагайтесь надати додатковий відступ або поле до рядкових елементів. # --question-- ## --assignment-- -Search the web for a list of `block` elements and a list of `inline` elements. +Знайдіть в інтернеті список блокових та рядкових елементів. ## --text-- -What is the difference between a `block` element and an `inline` element? +Яка різниця між блоковими та рядковими елементами? ## --answers-- -`block` elements are displayed without line breaks, while `inline` elements are displayed with line breaks. +Блокові елементи відтворюються без розірваних рядків, а рядкові елементи відтворюються з розірваними рядками. --- -`block` elements take up the full width available, while `inline` elements only take up the space necessary for their content. +Блокові елементи займають всю доступну ширину, а рядкові елементи займають місце, необхідне для свого вмісту. --- -`block` elements are always positioned horizontally, while `inline` elements are positioned vertically. +Блокові елементи завжди розташовані горизонтально, а рядкові елементи розташовані вертикально. --- -`block` elements are used for small sections of text, while `inline` elements are used for larger chunks of content. +Блокові елементи використовують для малих розділів тексту, а рядкові елементи використовують для великих частин вмісту. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-c.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-c.md index 8d5a6c6a1e7..ca82ac96f43 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-c.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-c.md @@ -1,35 +1,35 @@ --- id: 6570447ee7b02272663824e1 -title: Learn Block and Inline Lesson C +title: Блокові та рядкові елементи. Урок №3 challengeType: 15 dashedName: learn-block-and-inline-lesson-c --- # --description-- -Padding is used to create space around an element's content, inside of any defined borders. With inline elements, padding adds space to the left, right, top, and bottom of the content. However, it's important to note that while padding does affect the space around the content, it does not affect the layout of other elements around the inline element. This means that horizontal padding (left and right) is respected, but vertical padding (top and bottom) does not cause other elements to move away. +Відступ використовують, щоб створити місце навколо вмісту елемента всередині будь-яких визначених кордонів. Відступ в рядкових елементах додає місце зліва, справа, зверху та знизу вмісту. Однак важливо зазначити, що відступ впливає на місце навколо вмісту, але не впливає на макет інших елементів навколо рядкового елемента. Тобто це впливає на горизонтальний відступ (зліва та справа), а вертикальний відступ (зверху та знизу) не змушує інші елементи віддалятись. # --question-- ## --text-- -How does `padding` affect `inline` elements? +Як відступ впливає на рядкові елементи? ## --answers-- -Padding has no effect on `inline` elements. +Відступ не впливає на рядкові елементи. --- -Padding increases the width and height of `inline` elements. +Відступ збільшує ширину та висоту рядкових елементів. --- -Padding only affects the horizontal spacing of `inline` elements. +Відступ впливає лише на горизонтальний інтервал рядкових елементів. --- -Padding only affects the vertical spacing of `inline` elements. +Відступ впливає лише на вертикальний інтервал рядкових елементів. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-d.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-d.md index 8fb0f2e731e..35902c99eea 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-d.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-d.md @@ -1,35 +1,35 @@ --- id: 6570447ee7b02272663824e2 -title: Learn Block and Inline Lesson D +title: Блокові та рядкові елементи. Урок №4 challengeType: 15 dashedName: learn-block-and-inline-lesson-d --- # --description-- -Now that you have a basic understanding on how adding width and height to `inline` elements works, what happens when you add a top margin to an `inline` element? +Тепер у вас є базове розуміння того, як додати ширину та висоту до рядкових елементів. Що ж відбудеться, якщо додати верхнє поле до рядкового елемента? # --question-- ## --text-- -How does `margin-top` affect `inline` elements? +Як `margin-top` впливає на рядкові елементи? ## --answers-- -`margin-top` has no impact on the layout of `inline` elements +`margin-top` не впливає на макет рядкових елементів. --- -`margin-top` increases the height of `inline` elements. +`margin-top` збільшує висоту рядкових елементів. --- -`margin-top` adds space above the `inline` element. +`margin-top` додає місце зверху рядкових елементів. --- -`margin-top` only affects the horizontal spacing of `inline` elements. +`margin-top` впливає лише на горизонтальний інтервал рядкових елементів. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-e.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-e.md index edd07ca1499..da78ae637ff 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-e.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-e.md @@ -1,35 +1,35 @@ --- id: 6570447fe7b02272663824e3 -title: Learn Block and Inline Lesson E +title: Блокові та рядкові елементи. Урок №5 challengeType: 15 dashedName: learn-block-and-inline-lesson-e --- # --description-- -Inline-block elements behave like inline elements, but with block-style padding and margin. `display: inline-block` is a useful tool to know about, but in practice, you'll probably end up reaching for flexbox more often if you're trying to line up a bunch of boxes. Flexbox will be covered in-depth in the next lesson. +Рядково-блокові елементи поводяться як рядкові елементи, але мають відступ та поле блокових елементів. Про `display: inline-block` корисно знати, однак на практиці, швидше за все, ви частіше послуговуватиметесь гнучким контейнером, якщо намагатиметесь вирівняти декілька блоків. У наступному уроці детальніше розглянемо гнучкий контейнер. # --question-- ## --text-- -What is the difference between an `inline` element and an `inline-block` element? +Яка різниця між рядковими та рядково-блоковими елементами? ## --answers-- -`inline` elements are displayed without line breaks, while `inline-block` elements are displayed with line breaks. +Рядкові елементи відтворюються без розірваних рядків, а рядково-блокові елементи відтворюються з розірваними рядками. --- -`inline` elements do not allow setting width and height, while `inline-block` elements allow setting width and height. +Рядкові елементи не дозволяють налаштувати ширину та висоту, а рядково-блокові елементи дозволяють налаштувати ширину та висоту. --- -`inline` elements are always positioned horizontally, while `inline-block` elements are positioned vertically. +Рядкові елементи завжди розташовані горизонтально, а рядково-блокові елементи розташовані вертикально. --- -`inline` elements can contain block-level elements, while `inline-block` elements cannot contain other elements. +Рядкові елементи можуть містити блокові елементи, а рядково-блокові елементи не можуть містити інших елементів. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-f.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-f.md index 1833bdad58b..9de6e905ddb 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-f.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-f.md @@ -1,35 +1,35 @@ --- id: 65704480e7b02272663824e4 -title: Learn Block and Inline Lesson F +title: Блокові та рядкові елементи. Урок №6 challengeType: 15 dashedName: learn-block-and-inline-lesson-f --- # --description-- -The concept of “Normal flow” is implied in the box-model resources, but isn’t laid out very specifically. Read Normal Flow from MDN to make sure you understand how elements lay themselves out by default. +Поняття «нормального потоку» (англ. Normal flow) використовується в матеріалах блокової моделі, однак не викладене конкретно. Див. Normal Flow від MDN (англійською мовою), щоб підтвердити своє розуміння того, як елементи розташовуються за замовчуванням. # --question-- ## --text-- -What is the "Normal flow" in CSS layouts? +Що таке «нормальний потік» в макетах CSS? ## --answers-- -Normal flow refers to the process of animating elements in a CSS layout. +Нормальний потік стосується процесу анімації елементів на макеті CSS. --- -Normal flow is a CSS property used to control the visibility of elements in a layout. +Нормальний потік — це властивість CSS, яку використовують для контролю видимості елементів на макеті. --- -Normal flow is a CSS rule that defines the order of media queries for responsive design. +Нормальний потік — це правило CSS, яке визначає порядок медіазапитів для адаптивного дизайну. --- -Normal flow in CSS layouts refers to the default positioning of elements on a webpage. +Нормальний потік в макетах CSS стосується розташування елементів на вебсторінці за замовчуванням. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-g.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-g.md index cdd4d5aa872..112efe5871a 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-g.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-g.md @@ -1,35 +1,35 @@ --- id: 65704482e7b02272663824e5 -title: Learn Block and Inline Lesson G +title: Блокові та рядкові елементи. Урок №7 challengeType: 15 dashedName: learn-block-and-inline-lesson-g --- # --description-- -Now that you have some basic understanding of `block` and inline `elements`, pull up your list of `block` and `inline` elements from a couple questions ago and see if you can identify which of the following elements are `block` elements and which are `inline` elements. +Тепер у вас є базове розуміння блокових та рядкових елементів. Поверніться до списку блокових та рядкових елементів з попереднього завдання та перевірте, чи зможете ідентифікувати блокові та рядкові елементи. # --question-- ## --text-- -Which of the following is NOT an `inline` element? +Що з переліченого НЕ є рядковим елементом? ## --answers-- -form element +Елемент form --- -anchor element +Елемент anchor --- -image element +Елемент image --- -span element +Елемент span ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-h.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-h.md index a5880579050..d45eb6c6e23 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-h.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-h.md @@ -1,35 +1,35 @@ --- id: 65704483e7b02272663824e6 -title: Learn Block and Inline Lesson H +title: Блокові та рядкові елементи. Урок №8 challengeType: 15 dashedName: learn-block-and-inline-lesson-h --- # --description-- -Now that you have some basic understanding of `block` and inline elements, pull up your list of `block` and `inline` elements from a couple questions ago and see if you can identify which of the following elements are `block` elements and which are `inline` elements. +Тепер у вас є базове розуміння блокових та рядкових елементів. Поверніться до списку блокових та рядкових елементів з попереднього завдання та перевірте, чи зможете ідентифікувати блокові та рядкові елементи. # --question-- ## --text-- -Which of the following is NOT a `block` level element? +Що з переліченого НЕ є блоковим елементом? ## --answers-- -paragraph element +Елемент paragraph --- -image element +Елемент image --- -unordered list element +Елемент unordered list --- -footer element +Елемент footer ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-i.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-i.md index 9a9b79ea930..af862db1ad4 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-i.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-i.md @@ -1,31 +1,31 @@ --- id: 65704484e7b02272663824e7 -title: Learn Block and Inline Lesson I +title: Блокові та рядкові елементи. Урок №9 challengeType: 15 dashedName: learn-block-and-inline-lesson-i --- # --description-- -You can't talk about `block` and `inline` elements without discussing `div`s and `span`s. All the other HTML elements you have encountered so far give meaning to their content. For example, paragraph elements tell the browser to display the text it contains as a paragraph. Strong elements tell the browser which texts within are important and so on. Yet, `div`s and `span`s give no particular meaning to their content. They are just generic boxes that can contain anything. +Про блокові та рядкові елементи неможливо говорити, не згадавши елементи `div` та `span`. Всі інші елементи HTML, з якими ви стикались, надають значення своєму вмісту. Наприклад, елементи `paragraph` повідомляють браузеру відтворювати текст у вигляді абзацу. Елементи `strong` повідомляють браузеру який текст важливий і так далі. А ось елементи `div` та `span` не надають певного значення своєму вмісту. Вони є звичайними блоками, які містять що завгодно. # --question-- ## --text-- -What is the primary difference of `span` and `div` elements from other elements? +Яка основна різниця елементів `span` та `div` від інших елементів? ## --answers-- -Unlike specific HTML elements that carry inherent meanings, `span` and `div` elements are versatile and are primarily used for styling and layout purposes. +На відміну від певних елементів HTML, які містять властиве значення, елементи `span` та `div` є гнучкими та здебільшого використовуються з метою стилізації та макетування. --- -`span` and `div` elements do not impart any specific semantic meaning to the content they contain, unlike other HTML elements such as paragraphs or headings. +Елементи `span` та `div` не передають семантичного значення вмісту на відміну від інших елементів HTML, як-от абзаци та заголовки. --- -`span` and `div` elements are generic containers that allow developers to apply CSS styles and structure content without any particular semantic significance. +Елементи `span` та `div` є загальними контейнерами, які дозволяють розробникам застосувати стилі CSS та структурувати вміст без будь-якого семантичного значення. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-j.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-j.md index 5f6cd8f9636..2758501de50 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-j.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-j.md @@ -1,35 +1,35 @@ --- id: 65704485e7b02272663824e8 -title: Learn Block and Inline Lesson J +title: Блокові та рядкові елементи. Урок №10 challengeType: 15 dashedName: learn-block-and-inline-lesson-j --- # --description-- -Now that you have a basic understanding on how adding width and height to `inline` elements works, what happens when you add a top padding of 10 pixels to a `span` element? +Тепер у вас є базове розуміння того, як додати ширину та висоту до рядкових елементів. Що ж відбудеться, якщо додати верхній відступ зі значенням 10 пікселів до елемента `span`? # --question-- ## --text-- -What happens when you add `padding-top: 10px;` to a `span` element? +Що відбудеться, якщо додати `padding-top: 10px;` до елемента `span`? ## --answers-- -The `span` element's content will shift downward by 10 pixels. +Вміст елемента `span` переміститься вниз на 10 пікселів. --- -The `span` element will gain additional space above its content. +Елемент `span` отримає додаткове місце зверху свого вмісту. --- -The `span` element's width will increase by 10 pixels. +Ширина елемента `span` збільшиться на 10 пікселів. --- -Padding has no effect on the layout of a `span` element. +Відступ не впливає на макет елемента `span`. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-k.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-k.md index 8a395de16e6..31c1ec3f11b 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-k.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-block-and-inline/learn-block-and-inline-lesson-k.md @@ -1,35 +1,35 @@ --- id: 65704486e7b02272663824e9 -title: Learn Block and Inline Lesson K +title: Блокові та рядкові елементи. Урок №11 challengeType: 15 dashedName: learn-block-and-inline-lesson-k --- # --description-- -Now that you have a basic understanding on how adding width and height to `inline` elements works. +Тепер ви знаєте, як додавати ширину та висоту до рядкових елементів. # --question-- ## --text-- -What happens when you add a bottom padding of 15 pixels to a `span` element with display set to `inline-block`? +Що відбудеться, якщо додати нижній відступ зі значенням 15 пікселів до елемента `span` з властивістю `display` зі значенням `inline-block`? ## --answers-- -The `span` element's content will shift upward by 15 pixels. +Вміст елемента `span` переміститься вгору на 15 пікселів. --- -The `span` element's width will increase by 15 pixels. +Ширина елемента `span` збільшиться на 15 пікселів. --- -The `span` element will gain additional space below its content. +Елемент `span` отримає додаткове місце знизу свого вмісту. --- -Padding has no effect on the layout of an `inline-block` `span` element. +Відступ не впливає на макет `inline-block` елемента `span`. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-a.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-a.md index 30d70604443..891bb08fe69 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-a.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-a.md @@ -1,14 +1,14 @@ --- id: 63ee351d0d8d4841c3a7091a videoId: LGQuIIv2RVA -title: CSS Foundations Lesson A +title: Основи CSS. Урок №1 challengeType: 15 dashedName: css-foundations-lesson-a --- # --description-- -A type selector (or element selector) will select all elements of the given element type, and the syntax is just the name of the element: +Селектор типу (або селектор елемента) обирає всі елементи наданого типу, а синтаксисом є назва елемента: ```html @@ -27,25 +27,25 @@ div { } ``` -Here, all three `
` element wouldn’t be. +У цьому прикладі будуть обрані всі три елементи `
` — ні. # --question-- ## --text-- -Which of the following best describes the CSS code given above? +Що з переліченого найкраще описує код CSS, поданий вище? ## --answers-- -The code applies a `white` color to all elements in the HTML file. +Код надає колір зі значенням `white` всім елементам у файлі HTML. --- -The code applies a `white` color to all `div` elements in the HTML file. +Код надає колір зі значенням `white` всім елементам `div` у файлі HTML. --- -The code applies a `white` color to all `p` elements in the HTML file. +Код надає колір зі значенням `white` всім елементам `p` у файлі HTML. ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-b.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-b.md index 4431d278eef..d547ffbda62 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-b.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-b.md @@ -1,14 +1,14 @@ --- id: 63ee35240d8d4841c3a7091b videoId: LGQuIIv2RVA -title: CSS Foundations Lesson B +title: Основи CSS. Урок №2 challengeType: 15 dashedName: css-foundations-lesson-b --- # --description-- -Class selectors will select all elements with the given `class`, which is just an attribute you place on an HTML element. Here’s how you add a class to an HTML tag and select it in CSS: +Селектори класу обирають всі елементи з наданим `class`, що є звичайним атрибутом, розміщеним в елементі HTML. Ось так ви додаєте клас до тегу HTML та обираєте його в CSS: ```html @@ -26,12 +26,12 @@ Class selectors will select all elements with the given `class`, which is just a } ``` -Note the syntax for `class` selectors: a period immediately followed by the case-sensitive value of the class attribute. Classes aren’t required to be unique, so you can use the same `class` on as many elements as you want. +Примітка щодо синтаксису для селекторів `class`: після крапки пишеться значення атрибуту класу, яке чутливе до регістру. Класи не повинні бути унікальними, тому ви можете використовувати однаковий `class` для декількох елементів. -Another thing you can do with the `class` attribute is to add multiple classes to a single element as a space-separated list, such as `class="alert-text severe-alert"`. Since whitespace is used to separate `class` names like this, you should never use spaces for multi-worded names and should use a hyphen instead. +Завдяки атрибуту `class` також можна додати декілька класів до одного елемента, розділивши їх пробілом, як-от `class="alert-text severe-alert"`. Оскільки пробіл використовують, щоб розділити назви `class`, не використовуйте пробіли у назвах з декількома словами (натомість використовуйте дефіси). -## ID Selectors -ID selectors are similar to `class` selectors. They select an element with the given `id`, which is another attribute you place on an HTML element: +## Селектори ID +Селектори ID схожі до селекторів `class`. Вони обирають елемент з наданим `id`, що є ще одним атрибутом елемента HTML: ```html @@ -47,27 +47,27 @@ ID selectors are similar to `class` selectors. They select an element with the g } ``` -Instead of a period, you use a hashtag immediately followed by the case-sensitive value of the `id` attribute. A common pitfall is people overusing the `id` attribute when they don’t necessarily need to, and when classes will suffice. While there are cases where using an `id` makes sense or is needed, such as taking advantage of specificity or having links redirect to a section on the current page, you should use `id`s sparingly (if at all). +Замість коми потрібно використовувати знак решітки, після якого пишеться значення атрибута `id`, чутливе до регістру. Люди часто помиляються, використовуючи атрибут `id` там, де немає потреби і можна було використати класи. Хоча є випадки, коли логічніше використовувати `id` (наприклад, щоб використати переваги специфічності чи перенаправити до розділу поточної сторінки). -The major difference between classes and IDs is that an element can only have one `id`. An `id` cannot be repeated on a single page, and the `id` attribute should not contain any whitespace at all. +Головною відмінністю між класами та ID є те, що елемент може мати лише один `id`. `id` не може повторюватись на сторінці, а атрибут `id` не повинен містити пробілів. # --question-- ## --text-- -What is the syntax for class and ID selectors? +Який синтаксис для селекторів класу та ID? ## --answers-- -To select a `class` you use `$` and to select an `id` you use `#` +Щоб обрати `class`, використовують `$`; щоб обрати `id`, використовують `#` --- -To select a `class` you use `.` and to select an `id` you use `*` +Щоб обрати `class`, використовують `.`; щоб обрати `id`, використовують `*` --- -To select a `class` you use `.` and to select an `id` you use `#` +Щоб обрати `class`, використовують `.`; щоб обрати `id`, використовують `#` ## --video-solution-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-c.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-c.md index 03f093145ff..e0979d05e5d 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-c.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-c.md @@ -1,14 +1,14 @@ --- id: 63ee352b0d8d4841c3a7091c videoId: LGQuIIv2RVA -title: CSS Foundations Lesson C +title: Основи CSS. Урок №3 challengeType: 15 dashedName: css-foundations-lesson-c --- # --description-- -What if you have two groups of elements that share some of their style declarations? +Що робити, якщо у вас є дві групи елементів, які мають спільні оголошення стилів? ```css .read { @@ -24,7 +24,7 @@ What if you have two groups of elements that share some of their style declarati } ``` -Both our `.read` and `.unread` selectors share the `color: white;` and `background-color: black;` declarations, but otherwise have several of their own unique declarations. To cut down on the repetition, you can group these two selectors together as a comma-separated list: +Обидва селектори (`.read` та `.unread`) мають спільні оголошення `color: white;` та `background-color: black;`, але окрім них вони мають декілька власних унікальних оголошень. Щоб зменшити повторення, ви можете згрупувати ці два селектори разом у вигляді списку, розділеного комами: ```css .read, @@ -42,13 +42,13 @@ Both our `.read` and `.unread` selectors share the `color: white;` and `backgrou } ``` -Both of the examples above (with and without grouping) will have the same result, but the second example reduces the repetition of declarations and makes it easier to edit either the `color` or `background-color` for both classes at once. +Обидва наведені вище приклади (з групуванням і без нього) матимуть однаковий результат, але другий приклад зменшує повтори оголошень та полегшує одночасне редагування `color` чи `background-color` для обох класів. # --question-- ## --text-- -How would you apply a single rule to two different selectors, `.red-box` and `.yellow-box`? +Як би ви застосували одне правило до двох різних селекторів: `.red-box` та `.yellow-box`? ## --answers-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-d.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-d.md index 9dc6044c89b..2844f14df5b 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-d.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-css-foundations/css-foundations-lesson-d.md @@ -1,14 +1,14 @@ --- id: 63ee35300d8d4841c3a7091d videoId: LGQuIIv2RVA -title: CSS Foundations Lesson D +title: Основи CSS. Урок №4 challengeType: 15 dashedName: css-foundations-lesson-d --- # --description-- -Another way to use selectors is to chain them as a list without any separation. Let’s say you had the following HTML: +Ще один спосіб використовувати селектори — об’єднати їх у списку без відокремлень. Скажімо, ви маєте такий HTML: ```html
`. +Початкові теги повідомляють браузеру про початок елемента HTML. Вони складаються з ключового слова в кутових дужках `<>`. Наприклад, початковий тег абзацу буде таким: `
`. -Closing tags tell the browser where an element ends. They are almost the same as opening tags; the only difference is that they have a forward slash before the keyword. For example, a closing paragraph tag looks like this: `
`. +Кінцеві теги повідомляють браузеру про кінець елемента. Вони майже такі самі, як і початкові теги. Єдина відмінність полягає в тому, що вони мають скісну риску перед ключовим словом. Наприклад, кінцевий тег абзацу буде таким: ``. -A full paragraph element looks like this: +Повний елемент абзацу виглядає так: -
+
# --assignment--
-Watch Kevin Powell’s Introduction to HTML video
+Перегляньте відео Кевіна Павелла про вступ до HTML.
# --question--
## --text--
-What are HTML tags?
+Що таке теги у HTML?
## --answers--
-HTML tags tell the browser what content an element contains.
+Теги у HTML повідомляють браузеру про вміст елемента.
---
-HTML tags tell the browser when to load its content.
+Теги у HTML повідомляють браузеру коли завантажувати вміст.
---
-HTML tags tell the browser what content the next element contains.
+Теги у HTML повідомляють браузеру про вміст наступного елемента.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-html-foundations/html-foundations-lesson-b.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-html-foundations/html-foundations-lesson-b.md
index cbf924480fc..70496db84ea 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-html-foundations/html-foundations-lesson-b.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-learn-html-foundations/html-foundations-lesson-b.md
@@ -1,37 +1,37 @@
---
id: 637f4e1672c65bc8e73dfe1f
-title: HTML Foundations Lesson B
+title: Основи HTML. Урок №2
challengeType: 15
dashedName: html-foundations-lesson-b
---
# --description--
-You can think of elements as containers for content. The opening and closing tags tell the browser what content the element contains. The browser can then use that information to determine how it should interpret and format the content.
+Елементи можна вважати контейнерами, в яких зберігається вміст. Початкові та кінцеві теги повідомляють браузеру вміст, який містить елемент. Браузер використовує цю інформацію, щоб знати як інтерпретувати та форматувати вміст.
-There are some HTML elements that do not have a closing tag. These elements often look like this: `
```
-To break this down:
+Розіб’ємо на частини:
-- First, you are going to the parent directory of the pages directory which is `odin-links-and-images`.
+- спочатку перейдіть до батьківського каталогу сторінок, тобто `odin-links-and-images`;
-- Then, from the parent directory, you can go into the `images` directory.
+- потім ви можете перейти до каталогу `images` з батьківського каталогу;
-- Finally, you can access the `dog.jpg` file.
+- нарешті ви можете отримати доступ до файлу `dog.jpg`.
-Using the metaphor we used earlier, using `../` in a filepath is kind of like stepping out from the room you are currently in to the main hallway so you can go to another room.
+Використаємо метафору: `../` у шляху нагадує вихід з кімнати до коридору, щоб перейти до іншої кімнати.
-## `Alt` attribute
+## Атрибут `alt`
-Besides the `src` attribute, every image element should also have an `alt` (alternative text) attribute.
+Окрім атрибута `src`, кожному елементу зображення потрібний атрибут `alt` (alternative text).
-The `alt` attribute is used to describe an image. It will be used in place of the image if it cannot be loaded. It is also used with screen readers to describe what the image is to visually impaired users.
+Атрибут `alt` використовують, щоб описати зображення. Він буде використаний на місці зображення, яке не завантажується. Його також використовують читачі екрана, щоб описати зображення для користувачів з порушенням зору.
-This is how the The Odin Project logo example you used earlier looks with an `alt` attribute included:
-
+Ось так виглядає логотип The Odin Project з атрибутом `alt`:
+
# --assignment--
-Watch Kevin Powell’s HTML Images Video above.
+Перегляньте відео Кевіна Павелла про зображення у HTML (розміщене вище).
# --question--
## --text--
-Which tag is used to display an image?
+За допомогою якого тега відтворюють зображення?
## --answers--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-f.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-f.md
index 5ea069897aa..7bcc72e3d7b 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-f.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-f.md
@@ -1,31 +1,31 @@
---
id: 637f701c72c65bc8e73dfe31
-title: Links and Images Lesson F
+title: Посилання та зображення. Урок №6
challengeType: 15
dashedName: links-and-images-lesson-f
---
# --description--
-Websites would be fairly boring if they could only display text. Luckily HTML provides a wide variety of elements for displaying all sorts of different media. The most widely used of these is the image element.
+Вебсайти були б нудними, якби показувати лише текст. На щастя, HTML надає широкий вибір елементів для відтворення різних видів медіа. Найчастіше використовують елемент зображення.
-To display an image in HTML you use the `
```
-To break this down:
+Розіб’ємо на частини:
-- First, you are going to the parent directory of the pages directory which is `odin-links-and-images`.
+- спочатку перейдіть до батьківського каталогу сторінок, тобто `odin-links-and-images`;
-- Then, from the parent directory, you can go into the `images` directory.
+- потім ви можете перейти до каталогу `images` з батьківського каталогу;
-- Finally, you can access the `dog.jpg` file.
+- нарешті ви можете отримати доступ до файлу `dog.jpg`.
-Using the metaphor we used earlier, using `../` in a filepath is kind of like stepping out from the room you are currently in to the main hallway so you can go to another room.
+Використаємо метафору: `../` у шляху нагадує вихід з кімнати до коридору, щоб перейти до іншої кімнати.
-## Alt attribute
+## Атрибут alt
-Besides the `src` attribute, every image element should also have an `alt` (alternative text) attribute.
+Окрім атрибута `src`, кожному елементу зображення потрібний атрибут `alt` (alternative text).
-The `alt` attribute is used to describe an image. It will be used in place of the image if it cannot be loaded. It is also used with screen readers to describe what the image is to visually impaired users.
+Атрибут `alt` використовують, щоб описати зображення. Він буде використаний на місці зображення, яке не завантажується. Його також використовують читачі екрана, щоб описати зображення для користувачів з порушенням зору.
-This is how the The Odin Project logo example you used earlier looks with an alt attribute included:
-
+Ось так виглядає логотип The Odin Project з атрибутом alt:
+
# --question--
## --text--
-What two attributes do images always need to have?
+Які атрибути повинні мати зображення?
## --answers--
-`href` and `alt`
+`href` та `alt`
---
-`name` and `href`
+`name` та `href`
---
-`alt` and `src`
+`alt` та `src`
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-g.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-g.md
index 71bdf4add9b..42c4cc0450d 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-g.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-g.md
@@ -1,31 +1,31 @@
---
id: 637f701572c65bc8e73dfe30
-title: Links and Images Lesson G
+title: Посилання та зображення. Урок №7
challengeType: 15
dashedName: links-and-images-lesson-g
---
# --description--
-Websites would be fairly boring if they could only display text. Luckily HTML provides a wide variety of elements for displaying all sorts of different media. The most widely used of these is the image element.
+Вебсайти були б нудними, якби показувати лише текст. На щастя, HTML надає широкий вибір елементів для відтворення різних видів медіа. Найчастіше використовують елемент зображення.
-To display an image in HTML you use the `
```
-To break this down:
+Розіб’ємо на частини:
-- First, you are going to the parent directory of the pages directory which is `odin-links-and-images`.
+- спочатку перейдіть до батьківського каталогу сторінок, тобто `odin-links-and-images`;
-- Then, from the parent directory, you can go into the `images` directory.
+- потім ви можете перейти до каталогу `images` з батьківського каталогу;
-- Finally, you can access the `dog.jpg` file.
+- нарешті ви можете отримати доступ до файлу `dog.jpg`.
-Using the metaphor we used earlier, using `../` in a filepath is kind of like stepping out from the room you are currently in to the main hallway so you can go to another room.
+Використаємо метафору: `../` у шляху нагадує вихід з кімнати до коридору, щоб перейти до іншої кімнати.
-## Alt attribute
+## Атрибут alt
-Besides the `src` attribute, every image element should also have an `alt` (alternative text) attribute.
+Окрім атрибута `src`, кожному елементу зображення потрібний атрибут `alt` (alternative text).
-The `alt` attribute is used to describe an image. It will be used in place of the image if it cannot be loaded. It is also used with screen readers to describe what the image is to visually impaired users.
+Атрибут `alt` використовують, щоб описати зображення. Він буде використаний на місці зображення, яке не завантажується. Його також використовують читачі екрана, щоб описати зображення для користувачів з порушенням зору.
-This is how the The Odin Project logo example you used earlier looks with an alt attribute included:
-
+Ось так виглядає логотип The Odin Project з атрибутом alt:
+
# --question--
## --text--
-How do you access a parent directory in a filepath?
+Як отримати доступ до батьківського каталогу у шляху до файлу?
## --answers--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-h.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-h.md
index 2f78b640e8f..8b4ddec910b 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-h.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-links-and-images/links-and-images-lesson-h.md
@@ -1,31 +1,31 @@
---
id: 637f700b72c65bc8e73dfe2f
-title: Links and Images Lesson H
+title: Посилання та зображення. Урок №8
challengeType: 15
dashedName: links-and-images-lesson-h
---
# --description--
-Websites would be fairly boring if they could only display text. Luckily HTML provides a wide variety of elements for displaying all sorts of different media. The most widely used of these is the image element.
+Вебсайти були б нудними, якби показувати лише текст. На щастя, HTML надає широкий вибір елементів для відтворення різних видів медіа. Найчастіше використовують елемент зображення.
-To display an image in HTML you use the `
```
-To break this down:
+Розіб’ємо на частини:
-- First, you are going to the parent directory of the pages directory which is `odin-links-and-images`.
+- спочатку перейдіть до батьківського каталогу сторінок, тобто `odin-links-and-images`;
-- Then, from the parent directory, you can go into the `images` directory.
+- потім ви можете перейти до каталогу `images` з батьківського каталогу;
-- Finally, you can access the `dog.jpg` file.
+- нарешті ви можете отримати доступ до файлу `dog.jpg`.
-Using the metaphor we used earlier, using `../` in a filepath is kind of like stepping out from the room you are currently in to the main hallway so you can go to another room.
+Використаємо метафору: `../` у шляху нагадує вихід з кімнати до коридору, щоб перейти до іншої кімнати.
-## Alt attribute
+## Атрибут alt
-Besides the `src` attribute, every image element should also have an `alt` (alternative text) attribute.
+Окрім атрибута `src`, кожному елементу зображення потрібний атрибут `alt` (alternative text).
-The `alt` attribute is used to describe an image. It will be used in place of the image if it cannot be loaded. It is also used with screen readers to describe what the image is to visually impaired users.
+Атрибут `alt` використовують, щоб описати зображення. Він буде використаний на місці зображення, яке не завантажується. Його також використовують читачі екрана, щоб описати зображення для користувачів з порушенням зору.
-This is how the The Odin Project logo example you used earlier looks with an alt attribute included:
-
+Ось так виглядає логотип The Odin Project з атрибутом alt:
+
# --assignment--
-Read about the four main image formats that can be used on the web.
+Прочитайте про чотири основні формати зображень, які можна використовувати у вебмережі (англійською мовою).
# --question--
## --text--
-What are the four main image formats that you can use for images on the web?
+Які чотири основні формати зображення можна використовувати у вебмережі?
## --answers--
-MOV, GIF, PNG, and SVG.
+MOV, GIF, PNG та SVG.
---
-JPG, PNG, GIF, and SVG.
+JPG, PNG, GIF та SVG.
---
-JPG, PDF, SVG, and GIF.
+JPG, PDF, SVG та GIF.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-a.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-a.md
index a5b1babdd77..b95ba785124 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-a.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-a.md
@@ -1,43 +1,43 @@
---
id: 64a5529c02815a7d323aab88
-title: The Box Model Lesson A
+title: Блокова модель. Урок №1
challengeType: 15
dashedName: the-box-model-lesson-a
---
# --description--
-Being able to inspect and debug your HTML and CSS is critical to frontend development. This lesson will take us through the Chrome Dev Tools, which allow you to see detailed information about your elements and CSS rules, as well as assist you in finding and fixing problems in your code.
+Для фронтенду важливо вміти оглядати та налагоджувати HTML й CSS. У цьому уроці ми пройдемось по інструментах веброзробника Chrome, які дозволяють отримати детальну інформацію про елементи та правила CSS, а також допомагають зі знаходженням та налагодженням помилок у коді.
-To open up the inspector, you can right-click on any element of a webpage and click “Inspect” or press F12. Go ahead and do that right now to see the HTML and CSS used on this page.
+Щоб відкрити інспектора, натисніть правою кнопкою миші на будь-якому елементі вебсторінки та оберіть «Перевірити» або натисніть F12. Зробіть так прямо зараз, щоб дізнатись застосовані до цієї сторінки HTML та CSS.
-Don’t get overwhelmed with all the tools you’re now seeing! For this lesson, we want to focus on the Elements and Styles panes.
+Не лякайтесь всіх побачених інструментів! У цьому уроці ми фокусуватимемось на панелях «Елементи» та «Стилі».
# --assignment--
-Play around with Chrome Dev Tools and see if you can answer the following question.
+Розгляньте інструменти веброзробника Chrome та дізнайтесь, чи зможете відповісти на запитання.
# --question--
## --text--
-Which panes should you focus on in the Chrome Dev Tools for inspecting and debugging HTML and CSS?
+На яких панелях в інструментах веброзробника Chrome варто фокусуватись при огляді та налагодженні HTML й CSS?
## --answers--
-Console and Network
+«Консоль» та «Мережа»
---
-Elements and Styles
+«Елементи» та «Стилі»
---
-Sources and Application
+«Джерела» та «Додаток»
---
-Performance and Memory
+«Ефективність» та «Пам’ять»
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-b.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-b.md
index 802fed2ac2f..8a9e8c0d2db 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-b.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-b.md
@@ -1,41 +1,41 @@
---
id: 64a553ed02815a7d323aab89
-title: The Box Model Lesson B
+title: Блокова модель. Урок №2
challengeType: 15
dashedName: the-box-model-lesson-b
---
# --description--
-In the Elements pane, you can see the entire HTML structure of your page. You can click on any of the elements in this pane to select that specific element. Alternatively, you can click the blue-highlighted icon shown below on the left, and hover over any element on the page.
+На панелі «Елементи» можна побачити повну структуру HTML. Ви можете натиснути на будь-який елемент панелі, щоб обрати певний елемент. Або ж ви можете натиснути на голубий значок зліва (показано нижче) та навести на будь-який елемент сторінки.
-
+
# --question--
## --text--
-When inspecting an element in the Chrome Dev Tools, if a style property is shown with a strikethrough, what does it indicate?
+Припустимо, ви оглядаєте елемент в інструментах веброзробника Chrome. Що означає закреслена властивість стилю?
## --answers--
-The style property is currently disabled and not applied to the element.
+Наразі властивість стилю пошкоджена та не застосовується до елемента.
---
-The style property is overridden by a more specific CSS rule.
+Властивість стилю замінена специфічнішим правилом CSS.
---
-The style property is deprecated and should not be used.
+Властивість стилю нерекомендована та її бажано не використовувати.
---
-The style property is experimental and may not be supported by all browsers
+Властивість стилю експериментальна та може підтримуватись не всіма браузерами.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-c.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-c.md
index 76ff0d4c362..558502cda47 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-c.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-c.md
@@ -1,44 +1,44 @@
---
id: 64a5551d02815a7d323aab8a
-title: The Box Model Lesson C
+title: Блокова модель. Урок №3
challengeType: 15
dashedName: the-box-model-lesson-c
---
# --description--
-In the Elements pane, you can see the entire HTML structure of your page. You can click on any of the elements in this pane to select that specific element. Alternatively, you can click the blue-highlighted icon shown below on the left, and hover over any element on the page.
+На панелі «Елементи» можна побачити повну структуру HTML. Ви можете натиснути на будь-який елемент панелі, щоб обрати певний елемент. Або ж ви можете натиснути на голубий значок зліва (показано нижче) та навести на будь-який елемент сторінки.
-
+
# --assignment--
-Play around with Chrome Dev Tools and see if you can answer the following question.
+Розгляньте інструменти веброзробника Chrome та дізнайтесь, чи зможете відповісти на запитання.
# --question--
## --text--
-Which feature in the Elements pane allows you to select any element on a webpage by hovering over it?
+Яка функція панелі елементів дозволяє вибрати будь-який елемент сторінки, навівши на нього?
## --answers--
-Blue-highlighted icon
+Голубий значок
---
-Styles tab
+Вкладка «Стилі»
---
-Inspector tab
+Вкладка «Інспектор»
---
-HTML structure view
+Вигляд структури HTML
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-d.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-d.md
index c22f53661be..d304ca86bc9 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-d.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-d.md
@@ -1,43 +1,43 @@
---
id: 64a55a6102815a7d323aab8b
-title: The Box Model Lesson D
+title: Блокова модель. Урок №4
challengeType: 15
dashedName: the-box-model-lesson-d
---
# --description--
-In the Elements pane, you can see the entire HTML structure of your page. You can click on any of the elements in this pane to select that specific element. Alternatively, you can click the blue-highlighted icon shown below on the left, and hover over any element on the page.
+На панелі «Елементи» можна побачити повну структуру HTML. Ви можете натиснути на будь-який елемент панелі, щоб обрати певний елемент. Або ж ви можете натиснути на голубий значок зліва (показано нижче) та навести на будь-який елемент сторінки.
-
+
# --assignment--
-Play around with Chrome Dev Tools and see if you can answer the following question.
+Розгляньте інструменти веброзробника Chrome та дізнайтесь, чи зможете відповісти на запитання.
# --question--
## --text--
-In the Styles pane, what information can you view about an element when it is selected?
+Яку інформацію щодо наведеного елемента можна переглянути на панелі «Стилі»?
## --answers--
-HTML structure and CSS rules
+Структуру HTML та правила CSS
---
-Styles tab
+Вкладку «Стилі»
---
-Inspector tab
+Вкладку «Інспектор»
---
-Applied styles and overwritten styles.
+Застосовані та змінені стилі
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-e.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-e.md
index e2b9e44febc..43360ef1bb3 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-e.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-e.md
@@ -1,36 +1,36 @@
---
id: 64a669f77a7d00f97013ed0c
-title: The Box Model Lesson E
+title: Блокова модель. Урок №5
challengeType: 15
dashedName: the-box-model-lesson-e
---
# --description--
-Now that you understand the basic syntax of HTML and CSS, we’re going to get serious. The most important skills you need to master with CSS are positioning and layout. Changing fonts and colors is a crucial skill, but being able to put things exactly where you want them on a webpage is even more crucial. After all, how many webpages can you find where absolutely every element is just stacked one on top of another?
+Тепер ви розумієте базовий синтаксис HTML та CSS, тому перейдемо до серйознішого. Найважливіші навички CSS, які потрібно опанувати — це позиціювання та макет сторінки. Вміти змінювати шрифт та колір теж важливо, але вміти розміщувати елементи на вебсторінці важливіше. Зрештою, на скількох вебсторінках всі елементи наліплені один на одного?
-Learning to position elements on a webpage is not that difficult once you understand just a few key concepts. Unfortunately, many learners race through learning HTML and CSS to get to JavaScript and end up missing these fundamental concepts. This leads to frustration, pain, (and funny gifs) because all the JavaScript skills in the world are meaningless if you can’t stick your elements on the page where you need them to be. So with that in mind, let’s get started.
+Навчитись розміщувати елементи на вебсторінці не так вже і важко, якщо розібратись з ключовими поняттями. На жаль, багато учнів проскакують вивчення HTML та CSS, переходять до JavaScript та не знають цих основних понять. Це призводить до розчарування, болю (та смішних гіфок), оскільки знання JavaScript стає непотрібним, якщо ви не можете розмістити елементи на потрібному місці. Маючи це на увазі, розпочнемо.
# --question--
## --text--
-Why is it important to have a solid understanding of CSS in web development?
+Чому у веброзробці важливо розуміти CSS?
## --answers--
-It allows you to create complex animations and interactive effects.
+CSS дозволяє створити складні анімації та інтерактивні ефекти.
---
-It allows you to create complex animations and interactive effects.
+CSS дозволяє створити складні анімації та інтерактивні ефекти.
---
-It helps in optimizing database queries for improved performance.
+CSS допомагає оптимізувати запити бази даних для покращення роботи.
---
-It enables you to style and design webpages with precision and control.
+CSS дозволяє точно та контрольовано стилізувати і проєктувати вебсторінки.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-f.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-f.md
index 4cbbaec8343..25da98856dc 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-f.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-f.md
@@ -1,14 +1,14 @@
---
id: 64a66c917a7d00f97013ed0d
-title: The Box Model Lesson F
+title: Блокова модель. Урок №6
challengeType: 15
dashedName: the-box-model-lesson-f
---
# --description--
-The first important concept that you need to understand to be successful in CSS is the box model. It isn’t complicated, but skipping over it now will cause you much frustration down the line.
+Щоб бути успішним у CSS, для початку потрібно знати про блокову модель. Це не складно, але якщо пропустити це поняття — пізніше буде складніше.
-Every single thing on a webpage is a rectangular box. These boxes can have other boxes in them and can sit alongside one another. You can get a rough idea of how this works by sticking a border on every item on the page like this:
+Будь-що на вебсторінці є прямокутним блоком. Ці блоки можуть містити інші блоки, а також можуть знаходитись поруч. Щоб краще розібратись з цим, додайте кордон до кожного елемента вебсторінки:
```css
* {
@@ -18,29 +18,29 @@ Every single thing on a webpage is a rectangular box. These boxes can have other
# --assignment--
-Add a border to every element on the page and see how the boxes are laid out.
+Додайте кордон до кожного елемента на сторінці та подивіться, як розміщені блоки.
# --question--
## --text--
-What is the fundamental concept in CSS that helps you understand the structure of elements as rectangular boxes?
+Яке основне поняття у CSS дозволяє зрозуміти структуру елементів як прямокутних блоків?
## --answers--
-Box-sizing
+Розмір блоку
---
-Box-shadow
+Тінь блоку
---
-Box model
+Блокова модель
---
-Border-box
+Кордон блоку
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-g.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-g.md
index ab042ee7f3b..a6abd4dbed8 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-g.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-g.md
@@ -1,50 +1,50 @@
---
id: 64a6702e7a7d00f97013ed0e
-title: The Box Model Lesson G
+title: Блокова модель. Урок №7
challengeType: 15
dashedName: the-box-model-lesson-g
---
# --description--
-
+
-OK, so there might be some circles in the above image… but when it comes to layout, they fit together like rectangular boxes and not circles. In the end, laying out a webpage and positioning all its elements is deciding how you are going to nest and stack these boxes.
+На зображені вище є пару кружечків… Але коли мова йде про макети, все сходиться як прямокутні блоки, а не кружечки. Зрештою, розміщення всіх елементів на вебсторінці вирішує, як ви вкладатимете та складатимете ці блоки.
-The only real complication here is that there are many ways to manipulate the size of these boxes, and the space between them, using padding, margin, and border. But to sum it up briefly:
+Єдине ускладнення в тому, що існує багато способів маніпулювати розмірами блоків та простором між ними за допомогою відступів, полів і кордонів. Якщо коротко підсумувати:
-- `padding` increases the space between the border of a box and the content of the box.
-- `margin` increases the space between the borders of a box and the borders of adjacent boxes.
-- `border` adds space (even if it’s only a pixel or two) between the margin and the padding.
+- `padding` (відступ) збільшує простір між кордоном та вмістом блоку;
+- `margin` (поле) збільшує простір між кордонами суміжних блоків;
+- `border` (кордон) додає простір між відступом та полем, навіть якщо це лише один піксель.
-Be sure to study the diagrams carefully.
+Обов’язково розглядайте схеми.
-
+
# --assignment--
-Add a border to every element on the page and see how the boxes are laid out.
+Додайте кордон до кожного елемента на сторінці та подивіться, як розміщені блоки.
# --question--
## --text--
-From inside to outside, what is the order of box-model properties?
+Який порядок властивостей блокової моделі від середини до зовні?
## --answers--
-Content, Margin, Padding, Border
+Вміст, поле, відступ, кордон
---
-Margin, Padding, Content, Border
+Поле, відступ, вміст, кордон
---
-Content, Padding, Border, Margin
+Вміст, відступ, кордон, поле
---
-Padding, Content, Border, Margin
+Відступ, вміст, кордон, поле
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-h.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-h.md
index 5423c67fb5c..0be9da8d0e4 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-h.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-h.md
@@ -1,35 +1,35 @@
---
id: 64a674937a7d00f97013ed0f
videoId: rIO5326FgPE
-title: The Box Model Lesson H
+title: Блокова модель. Урок №8
challengeType: 15
dashedName: the-box-model-lesson-h
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-What does the box-sizing CSS property do?
+Що робить властивість box-sizing у CSS?
## --answers--
-It determines the order of the box-model properties.
+Визначає порядок властивостей блокової моделі.
---
-It specifies the position of an element on the webpage.
+Вказує розташування елемента на вебсторінці.
---
-It controls how the total width and height of an element are calculated.
+Контролює обчислення ширини та висоти елемента.
---
-It sets the background color of an element.
+Налаштовує колір фону елемента.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-i.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-i.md
index 0f70fbcec65..959fe5ce5a6 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-i.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-i.md
@@ -1,35 +1,35 @@
---
id: 64a6749a7a7d00f97013ed10
videoId: rIO5326FgPE
-title: The Box Model Lesson I
+title: Блокова модель. Урок №9
challengeType: 15
dashedName: the-box-model-lesson-i
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-What is the difference between the standard and alternative box model?
+Яка різниця між стандартною та альтернативною блоковими моделями?
## --answers--
-The standard box model calculates the width and height of an element based on the content alone, while the alternative box model calculates based on the content plus padding and border.
+Стандартна блокова модель обчислює ширину та висоту елементу на основі вмісту, а альтернативна блокова модель — на основі вмісту, доданого до відступу та кордону.
---
-The standard box model includes content, padding, and border, while the alternative box model includes only the content.
+Стандартна блокова модель містить вміст, відступ та кордон, а альтернативна блокова модель — лише вміст.
---
-The standard box model and the alternative box model are the same and have no differences.
+Стандартна й альтернативна блокові моделі одинакові та не мають жодних відмінностей.
---
-The standard box model includes only the content, while the alternative box model includes content, padding, and border.
+Стандартна блокова модель містить лише вміст, а альтернативна блокова модель — вміст, відступ та кордон.
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-j.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-j.md
index 1b311df62dd..ac2295992b2 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-j.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-j.md
@@ -1,35 +1,35 @@
---
id: 64a674a47a7d00f97013ed11
videoId: rIO5326FgPE
-title: The Box Model Lesson J
+title: Блокова модель. Урок №10
challengeType: 15
dashedName: the-box-model-lesson-j
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-Would you use margin or padding to create more space between 2 elements?
+Що б ви використали, щоб створити більше простору між двома елементами: поле чи відступ?
## --answers--
-Padding
+Відступ
---
-Both margin and padding can be used interchangeably
+Поле та відступ можна використовувати один замість одного
---
-Neither margin nor padding can be used to create more space between elements
+Ні поле, ні відступ не використовують для створення простору між елементами
---
-Margin
+Поле
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-k.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-k.md
index b782f8bb4f9..c446bcd2e4b 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-k.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-k.md
@@ -1,19 +1,19 @@
---
id: 64a674ac7a7d00f97013ed12
videoId: rIO5326FgPE
-title: The Box Model Lesson K
+title: Блокова модель. Урок №11
challengeType: 15
dashedName: the-box-model-lesson-k
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-Which CSS property would you use to create more space between the contents of an element and its border?
+Яку властивість CSS ви б використали, щоб створити більше простору між вмістом елемента та його кордоном?
## --answers--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-l.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-l.md
index e86aa50c732..62307dea741 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-l.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-l.md
@@ -1,27 +1,27 @@
---
id: 64a674b97a7d00f97013ed13
videoId: rIO5326FgPE
-title: The Box Model Lesson L
+title: Блокова модель. Урок №12
challengeType: 15
dashedName: the-box-model-lesson-l
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-Would you use margin or padding if you wanted two elements to overlap each other?
+Що б ви використали, щоб два елементи перекривали один одного: поле чи відступ?
## --answers--
-Padding
+Відступ
---
-Margin
+Поле
## --video-solution--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-m.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-m.md
index d7296f95901..2c70ee80a7d 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-m.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-the-box-model/the-box-model-lesson-m.md
@@ -1,19 +1,19 @@
---
id: 64a674c27a7d00f97013ed14
videoId: rIO5326FgPE
-title: The Box Model Lesson M
+title: Блокова модель. Урок №13
challengeType: 15
dashedName: the-box-model-lesson-m
---
# --description--
-Because the box model concept is so incredibly fundamental, let’s dig a bit deeper with this lesson from MDN. It covers the same material as the video above and will introduce you to inline boxes that we will explore in the next lesson. Pay close attention to the examples and take the time to experiment with their in-browser editor!
+Оскільки поняття блокової моделі є основним, розглянемо його детальніше у цьому уроці від MDN (англійською мовою). Він охоплює той самий матеріал, що й відео вище та ознайомить вас з вбудованими блоками, які ми розглянемо в наступному уроці. Зверніть увагу на приклади та приділіть деякий час, щоб поекспериментувати з редактором у браузері!
# --question--
## --text--
-How do you set the alternative box model for all of your elements?
+Як налаштувати альтернативну блокову модель для всіх елементів?
## --answers--
diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-a.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-a.md
index e44f4fa7533..08191ec0f6f 100644
--- a/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-a.md
+++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-a.md
@@ -1,14 +1,14 @@
---
id: 637f4e5872c65bc8e73dfe27
videoId: yqcd-XkxZNM
-title: Working With Text Lesson A
+title: Робота з текстом. Урок №1
challengeType: 15
dashedName: working-with-text-lesson-a
---
# --description--
-What would you expect the following text to output on an HTML page?
+Які вихідні дані ви очікуєте від цього тексту на HTML-сторінці?
```html
@@ -20,27 +20,27 @@ What would you expect the following text to output on an HTML page?
```
-It looks like two paragraphs of text, and so you might expect it to display in that way. However that is not the case, as you can see in the output below:
+Текст виглядає як два абзаци, і ви можете очікувати, що він відтвориться так само. Але не в цьому випадку, як можете побачити нижче:
-
+
-When the browser encounters new lines like this in your HTML, it will compress them down into one single space. The result of this compression is that all of the text is clumped together into one long line.
+Коли браузер стикається з подібними рядками в HTML, він об’єднує їх. У результаті такого об’єднання весь текст групується в один довгий рядок.
-If you want to create paragraphs in HTML, you need to use the paragraph element, which will add a newline after each of your paragraphs. A paragraph element is defined by wrapping text content with a `` tag. +Якщо ви хочете створити абзаци в HTML, потрібно використати елемент абзацу, який додає новий рядок після кожного абзацу. Щоб створити елемент абзацу, напишіть текст в межах тегу `
`. -Changing our example from before to use paragraph elements fixes the issue: +Попередня проблема зникне, якщо ми використаємо елементи абзаців: - + # --assignment-- -Watch and follow along to Kevin Powell’s HTML Paragraph and Headings Video above. +Перегляньте відео Кевіна Павелла про абзаци та заголовки у HTML (розміщене вище). # --question-- ## --text-- -How do you create a paragraph in HTML? +Як створити абзац в HTML? ## --answers-- diff --git a/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-b.md b/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-b.md index 390147c9623..adcdb62532c 100644 --- a/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-b.md +++ b/curriculum/challenges/ukrainian/16-the-odin-project/top-working-with-text/working-with-text-lesson-b.md @@ -1,38 +1,38 @@ --- id: 637f4e5f72c65bc8e73dfe28 -title: Working With Text Lesson B +title: Робота з текстом. Урок №2 challengeType: 15 dashedName: working-with-text-lesson-b --- # --description-- -Headings are different from other HTML text elements: they are displayed larger and bolder than other text to signify that they are headings. +Заголовки відрізняються від інших текстових елементів у HTML: вони більші і жирніші за інший текст, що вказує на те, що вони є заголовками. -There are 6 different levels of headings starting from `