0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Работа с контентом - базовая часть любого проекта. За всеми красивыми анимациями, блоками и картинками скрывается контент. За ним приходит пользователь на сайт или открывает приложение. От того, насколько хорошо выглядит и ощущается контент, зависит настроение пользователя.</p>
1
<p>Работа с контентом - базовая часть любого проекта. За всеми красивыми анимациями, блоками и картинками скрывается контент. За ним приходит пользователь на сайт или открывает приложение. От того, насколько хорошо выглядит и ощущается контент, зависит настроение пользователя.</p>
2
<p>В этом курсе мы изучим базовые возможности при работе с контентом и научимся создавать анимации. Вы изучите:</p>
2
<p>В этом курсе мы изучим базовые возможности при работе с контентом и научимся создавать анимации. Вы изучите:</p>
3
<ul><li>Как создавать стили для шрифтов и списков</li>
3
<ul><li>Как создавать стили для шрифтов и списков</li>
4
<li>Как создавать и стилизовать таблицы</li>
4
<li>Как создавать и стилизовать таблицы</li>
5
<li>Как использовать колонки с помощью свойства columns</li>
5
<li>Как использовать колонки с помощью свойства columns</li>
6
<li>Какие существуют единицы измерения и как с ними работать</li>
6
<li>Какие существуют единицы измерения и как с ними работать</li>
7
<li>Как создавать формы и использовать медиа-элементы</li>
7
<li>Как создавать формы и использовать медиа-элементы</li>
8
<li>Какими базовыми правилами анимации и типографики нужно пользоваться</li>
8
<li>Какими базовыми правилами анимации и типографики нужно пользоваться</li>
9
<li>Как работает доступность</li>
9
<li>Как работает доступность</li>
10
</ul><h2>Практика</h2>
10
</ul><h2>Практика</h2>
11
<p>Многие из уроков в данном курсе будут иметь практики с возможностью перехода в веб-доступ. Старайтесь не просто выполнять задание, а после успешного прохождения также экспериментируйте с кодом и возможностями, которые вы узнали.</p>
11
<p>Многие из уроков в данном курсе будут иметь практики с возможностью перехода в веб-доступ. Старайтесь не просто выполнять задание, а после успешного прохождения также экспериментируйте с кодом и возможностями, которые вы узнали.</p>
12
<p>Практики в этом курсе построены по системе тестирования скриншотов. В отличие от других курсов, здесь идет проверка не по значениям, которые вы указываете, а делается скриншот страницы с вашими стилями и сравнивается со скриншотами решения учителя. Вы можете легко увидеть, как должна выглядеть страница при разных разрешениях<em>viewport</em>.</p>
12
<p>Практики в этом курсе построены по системе тестирования скриншотов. В отличие от других курсов, здесь идет проверка не по значениям, которые вы указываете, а делается скриншот страницы с вашими стилями и сравнивается со скриншотами решения учителя. Вы можете легко увидеть, как должна выглядеть страница при разных разрешениях<em>viewport</em>.</p>
13
<p>Посмотреть скриншоты со стилями из решения учителя вы можете в директории __tests__/__image_snapshots__.</p>
13
<p>Посмотреть скриншоты со стилями из решения учителя вы можете в директории __tests__/__image_snapshots__.</p>
14
<h2>Проверка практики</h2>
14
<h2>Проверка практики</h2>
15
<p>Решения студентов, в основном, проверяются по методу<em>Visual Regression Testing</em>, то есть<em>сравнением скриншотов</em>. Если не вдаваться в технические детали, то тестирование выглядит следующим образом:</p>
15
<p>Решения студентов, в основном, проверяются по методу<em>Visual Regression Testing</em>, то есть<em>сравнением скриншотов</em>. Если не вдаваться в технические детали, то тестирование выглядит следующим образом:</p>
16
<ol><li>В упражнении содержатся эталонные скриншоты, которые были сделаны на основе решения учителя</li>
16
<ol><li>В упражнении содержатся эталонные скриншоты, которые были сделаны на основе решения учителя</li>
17
<li>При нажатии на кнопку "Проверить" решение студента передается в браузер на основе<em>Chromium</em>и с него делается скриншот</li>
17
<li>При нажатии на кнопку "Проверить" решение студента передается в браузер на основе<em>Chromium</em>и с него делается скриншот</li>
18
<li>Скриншот сравнивается с эталонным скриншотом, после чего тесты выдают текстовый результат сравнения</li>
18
<li>Скриншот сравнивается с эталонным скриншотом, после чего тесты выдают текстовый результат сравнения</li>
19
</ol><p>Если во время тестирования были обнаружены различия более чем в 2% от оригинального изображения, то система выдаст одну из двух возможных ошибок:</p>
19
</ol><p>Если во время тестирования были обнаружены различия более чем в 2% от оригинального изображения, то система выдаст одну из двух возможных ошибок:</p>
20
<h3>Разные размеры скриншотов</h3>
20
<h3>Разные размеры скриншотов</h3>
21
<p>Expected an image 370px by 558px, received 370px by 524px. Система говорит, что размеры изображений не совпадают. В этом примере эталонный скриншот имеет размеры 370px x 558px, а для сравнения пришел скриншот с размерами 370px x 524px</p>
21
<p>Expected an image 370px by 558px, received 370px by 524px. Система говорит, что размеры изображений не совпадают. В этом примере эталонный скриншот имеет размеры 370px x 558px, а для сравнения пришел скриншот с размерами 370px x 524px</p>
22
<p>Скорее всего есть проблемы в отступах/высоте или межстрочном интервале. Внимательно проанализируйте скриншоты, в директории __diff_output__. Конкретный путь указан в выводе тестов, а файлы можно найти используя левую область упражнения.</p>
22
<p>Скорее всего есть проблемы в отступах/высоте или межстрочном интервале. Внимательно проанализируйте скриншоты, в директории __diff_output__. Конкретный путь указан в выводе тестов, а файлы можно найти используя левую область упражнения.</p>
23
<p>Вы найдете два файла:</p>
23
<p>Вы найдете два файла:</p>
24
<ul><li><em>название-теста</em>-<em>actual.jpg</em>- Скриншот вашего решения</li>
24
<ul><li><em>название-теста</em>-<em>actual.jpg</em>- Скриншот вашего решения</li>
25
<li><em>название-теста</em>-<em>expected.jpg</em>- Эталонный скриншот</li>
25
<li><em>название-теста</em>-<em>expected.jpg</em>- Эталонный скриншот</li>
26
</ul><h3>Визуальные отличия</h3>
26
</ul><h3>Визуальные отличия</h3>
27
<p>810 pixels (ratio 0.01 of all image pixels) are different. В этом тесте система сообщает, что изображения различаются на 810 пикселей. В этом случае вместо двух файлов генерируются три:</p>
27
<p>810 pixels (ratio 0.01 of all image pixels) are different. В этом тесте система сообщает, что изображения различаются на 810 пикселей. В этом случае вместо двух файлов генерируются три:</p>
28
<ul><li><em>название-теста</em>-<em>actual.jpg</em>- Скриншот вашего решения</li>
28
<ul><li><em>название-теста</em>-<em>actual.jpg</em>- Скриншот вашего решения</li>
29
<li><em>название-теста</em>-<em>expected.jpg</em>- Эталонный скриншот</li>
29
<li><em>название-теста</em>-<em>expected.jpg</em>- Эталонный скриншот</li>
30
<li><em>название-теста</em>-<em>diff.jpg</em>- Скриншот, полученный в результате наложения скриншота студента и эталонного. Именно на нем видны области, которые различаются</li>
30
<li><em>название-теста</em>-<em>diff.jpg</em>- Скриншот, полученный в результате наложения скриншота студента и эталонного. Именно на нем видны области, которые различаются</li>
31
</ul><p>Скриншот с различиями выглядит приблизительно так:</p>
31
</ul><p>Скриншот с различиями выглядит приблизительно так:</p>
32
<p>Красным цветом выделено место, где были найдены отличия. В этом случае можно сравнить полученные скриншоты самостоятельно.</p>
32
<p>Красным цветом выделено место, где были найдены отличия. В этом случае можно сравнить полученные скриншоты самостоятельно.</p>
33
<p><strong>Важно:</strong>исправляйте различия сверху вниз. Часто происходит ситуация, при которой небольшая ошибка в отступе влияет на весь скриншот сразу. Выглядит так, как будто все неправильно, а для исправления достаточно исправить только одно свойство</p>
33
<p><strong>Важно:</strong>исправляйте различия сверху вниз. Часто происходит ситуация, при которой небольшая ошибка в отступе влияет на весь скриншот сразу. Выглядит так, как будто все неправильно, а для исправления достаточно исправить только одно свойство</p>
34
<h2>CodePen</h2>
34
<h2>CodePen</h2>
35
<p>Другая возможность применить навыки, полученные при работе с курсом - использование сервиса<a>CodePen</a>. Вы можете создать свой<strong>pen</strong>, внутри которого экспериментировать со свойствами.</p>
35
<p>Другая возможность применить навыки, полученные при работе с курсом - использование сервиса<a>CodePen</a>. Вы можете создать свой<strong>pen</strong>, внутри которого экспериментировать со свойствами.</p>
36
<p>Также в каждом уроке курса будут представлены примеры, которые подгружаются с<strong>CodePen</strong>. Вы можете изучать их, а также вносить правки в режиме реального времени и следить за результатом. Не упускайте такую возможность.</p>
36
<p>Также в каждом уроке курса будут представлены примеры, которые подгружаются с<strong>CodePen</strong>. Вы можете изучать их, а также вносить правки в режиме реального времени и следить за результатом. Не упускайте такую возможность.</p>
37
<p>Не забывайте постоянно практиковаться. Тогда ваши навыки работы с контентом позволят быстро и грамотно оформлять весь контент страницы или приложения.</p>
37
<p>Не забывайте постоянно практиковаться. Тогда ваши навыки работы с контентом позволят быстро и грамотно оформлять весь контент страницы или приложения.</p>
38
<h2>Как подготовиться к этому курсу</h2>
38
<h2>Как подготовиться к этому курсу</h2>
39
<p>Курс "Основы верстки контента" опирается на базовые знания синтаксиса HTML и CSS. Чтобы комфортно пройти этот курс, нужно знать, как создается разметка в HTML, что такое семантические элементы и какие базовые селекторы используются в CSS.</p>
39
<p>Курс "Основы верстки контента" опирается на базовые знания синтаксиса HTML и CSS. Чтобы комфортно пройти этот курс, нужно знать, как создается разметка в HTML, что такое семантические элементы и какие базовые селекторы используются в CSS.</p>
40
<p>Эти темы разбираются в курсе<a>Основы современной верстки</a>.</p>
40
<p>Эти темы разбираются в курсе<a>Основы современной верстки</a>.</p>