0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>CSS - это каскадные таблицы стилей, которые используют для оформления веб-страниц. Это базовый навык для фронтендера, наряду с HTML и JavaScript. Расскажем о нем подробнее.</strong></p>
1
<p><strong>CSS - это каскадные таблицы стилей, которые используют для оформления веб-страниц. Это базовый навык для фронтендера, наряду с HTML и JavaScript. Расскажем о нем подробнее.</strong></p>
2
<h2>Содержание</h2>
2
<h2>Содержание</h2>
3
<ul><li><a>Для чего нужен CSS</a></li>
3
<ul><li><a>Для чего нужен CSS</a></li>
4
<li><a>Подключение стилей CSS</a></li>
4
<li><a>Подключение стилей CSS</a></li>
5
<li><a>Как устроены таблицы стилей</a></li>
5
<li><a>Как устроены таблицы стилей</a></li>
6
<li><a>Методология CSS</a></li>
6
<li><a>Методология CSS</a></li>
7
<li><a>Кто и как работает с CSS-кодом</a></li>
7
<li><a>Кто и как работает с CSS-кодом</a></li>
8
</ul><h2>Для чего нужен CSS</h2>
8
</ul><h2>Для чего нужен CSS</h2>
9
<p>На заре интернета сайты были максимально простыми и лаконичными. Многие из вас учились создавать их на основе HTML на уроках информатики. А потом появился CSS (аббревиатура от английского Cascading Style Sheets - каскадные таблицы стилей). Так у веб-страниц появилось оформление: отдельные блоки, шрифты, цвета и т.д.</p>
9
<p>На заре интернета сайты были максимально простыми и лаконичными. Многие из вас учились создавать их на основе HTML на уроках информатики. А потом появился CSS (аббревиатура от английского Cascading Style Sheets - каскадные таблицы стилей). Так у веб-страниц появилось оформление: отдельные блоки, шрифты, цвета и т.д.</p>
10
<p>Современные сайты состоят из фронтенда - пользовательского интерфейса, и бэкенда - внутренней логики. Чтобы написать фронтенд разработчики используют три основных инструмента:</p>
10
<p>Современные сайты состоят из фронтенда - пользовательского интерфейса, и бэкенда - внутренней логики. Чтобы написать фронтенд разработчики используют три основных инструмента:</p>
11
<ol><li>HTML - язык разметки. Это своеобразный "чертеж" страницы. На HTML прописывают структуру: заголовки, ссылки, текст;</li>
11
<ol><li>HTML - язык разметки. Это своеобразный "чертеж" страницы. На HTML прописывают структуру: заголовки, ссылки, текст;</li>
12
<li>CSS - код, отвечающий за визуальную часть страницы. Он нужен для того, чтобы на сайте были удобные кнопки, разные цвета и графика, а не только голый текст. Частично такие задачи можно решить и через HTML, но это будет очень долго и неудобно;</li>
12
<li>CSS - код, отвечающий за визуальную часть страницы. Он нужен для того, чтобы на сайте были удобные кнопки, разные цвета и графика, а не только голый текст. Частично такие задачи можно решить и через HTML, но это будет очень долго и неудобно;</li>
13
<li>JavaScript - язык программирования, на основе которого работают интерактивные элементы. Например, всплывающие формы, автозапуск видео или аудио, графика и т.д.</li>
13
<li>JavaScript - язык программирования, на основе которого работают интерактивные элементы. Например, всплывающие формы, автозапуск видео или аудио, графика и т.д.</li>
14
</ol><blockquote><p>А если вы хотите стать разработчиком, то приходите на<a>подготовительные курсы Хекслета</a>. В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою полноценную программу.</p>
14
</ol><blockquote><p>А если вы хотите стать разработчиком, то приходите на<a>подготовительные курсы Хекслета</a>. В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою полноценную программу.</p>
15
</blockquote><h3>История CSS</h3>
15
</blockquote><h3>История CSS</h3>
16
<p>Первые сайты в интернете создавали на основе HTML. Они принципиально не отличались от того, что делают дети на информатике. Этот язык разметки был универсальным, но позволял делать сугубо утилитарные веб-страницы.</p>
16
<p>Первые сайты в интернете создавали на основе HTML. Они принципиально не отличались от того, что делают дети на информатике. Этот язык разметки был универсальным, но позволял делать сугубо утилитарные веб-страницы.</p>
17
<p>Уже в середине 90-х его функционал был исчерпан. К тому же на рынке появилось несколько браузеров, у каждого из которых были свои стили, что создавало проблемы для верстки. Не все они одинаково отображали одни и те же тэги.</p>
17
<p>Уже в середине 90-х его функционал был исчерпан. К тому же на рынке появилось несколько браузеров, у каждого из которых были свои стили, что создавало проблемы для верстки. Не все они одинаково отображали одни и те же тэги.</p>
18
<p>Тогда появился новый стандарт CSS. Первоначально он мог только выравнивать текст и устанавливать цвет. Но в 1998 году выпустили стандарт CSS2 и это стало сенсацией.</p>
18
<p>Тогда появился новый стандарт CSS. Первоначально он мог только выравнивать текст и устанавливать цвет. Но в 1998 году выпустили стандарт CSS2 и это стало сенсацией.</p>
19
<p>Он поддерживал блочную верстку, механизм селекторов, указатели, а также давал возможность задать свой стиль для каждого устройства. То есть сделать так, чтобы внешний вид сайта подстраивался под размер монитора посетителя.</p>
19
<p>Он поддерживал блочную верстку, механизм селекторов, указатели, а также давал возможность задать свой стиль для каждого устройства. То есть сделать так, чтобы внешний вид сайта подстраивался под размер монитора посетителя.</p>
20
<p>Именно CSS позволил создавать полноценную верстку веб-страниц и компоновать сайт на основе заданных элементов. Название этому процессу дали по аналогии с версткой газетных страниц.</p>
20
<p>Именно CSS позволил создавать полноценную верстку веб-страниц и компоновать сайт на основе заданных элементов. Название этому процессу дали по аналогии с версткой газетных страниц.</p>
21
<p>А теперь разберем подробнее, как работает CSS.</p>
21
<p>А теперь разберем подробнее, как работает CSS.</p>
22
<h2>Подключение стилей CSS</h2>
22
<h2>Подключение стилей CSS</h2>
23
<p>Каркас веб-страницы - HTML-документ, его код задает основные элементы. А CSS позволяет их оформить.</p>
23
<p>Каркас веб-страницы - HTML-документ, его код задает основные элементы. А CSS позволяет их оформить.</p>
24
<p>Это делают тремя способами:</p>
24
<p>Это делают тремя способами:</p>
25
<ol><li>Прописывают в тэге style. Это удобно, когда речь идет о небольшой странице. Если же файл HTML много весит, то с таким подходом страница будет загружаться очень долго. А самое главное, это мешает масштабированию. Разработчику нужно будет прописывать содержимое тэга на каждой странице сайта;</li>
25
<ol><li>Прописывают в тэге style. Это удобно, когда речь идет о небольшой странице. Если же файл HTML много весит, то с таким подходом страница будет загружаться очень долго. А самое главное, это мешает масштабированию. Разработчику нужно будет прописывать содержимое тэга на каждой странице сайта;</li>
26
<li>Создать отдельный файл .css, на который ставят ссылку в HTML-документе. Преимущества такого способа в универсальности. Файл создают один раз, а потом применяют ко всем страницам. К тому же он сохраняет себя в кэше, поэтому при повторном посещении страницы она загружается гораздо быстрее;</li>
26
<li>Создать отдельный файл .css, на который ставят ссылку в HTML-документе. Преимущества такого способа в универсальности. Файл создают один раз, а потом применяют ко всем страницам. К тому же он сохраняет себя в кэше, поэтому при повторном посещении страницы она загружается гораздо быстрее;</li>
27
<li>Использовать инлайн-стили, добавляя к отдельным элементам атрибут style. Они имеют максимальный приоритет, но об этом мы расскажем ниже.</li>
27
<li>Использовать инлайн-стили, добавляя к отдельным элементам атрибут style. Они имеют максимальный приоритет, но об этом мы расскажем ниже.</li>
28
</ol><h2>Как устроены таблицы стилей</h2>
28
</ol><h2>Как устроены таблицы стилей</h2>
29
<p>CSS называют каскадными таблицами стилей. Из названия следуют и правила, по которым пишут код разметки.</p>
29
<p>CSS называют каскадными таблицами стилей. Из названия следуют и правила, по которым пишут код разметки.</p>
30
<p>Основой CSS считают стили, то есть визуальное оформление. К ним относятся цвет фона, цвет текста, шрифты, оформление иллюстраций и т.д. У современных сайтов могут быть тысячи страниц, а визуальное оформление на всех одинаковое.</p>
30
<p>Основой CSS считают стили, то есть визуальное оформление. К ним относятся цвет фона, цвет текста, шрифты, оформление иллюстраций и т.д. У современных сайтов могут быть тысячи страниц, а визуальное оформление на всех одинаковое.</p>
31
<p>Стили или параметры оформления. Их еще называют “правила”. Стиль состоит из:</p>
31
<p>Стили или параметры оформления. Их еще называют “правила”. Стиль состоит из:</p>
32
<ul><li>Селектора - специальной метки, которая помогает браузеру понять, где именно в документе применять тот или иной параметр.</li>
32
<ul><li>Селектора - специальной метки, которая помогает браузеру понять, где именно в документе применять тот или иной параметр.</li>
33
<li>Свойства - говорят, что конкретно нужно изменить. Например, свойство color - это цвет.</li>
33
<li>Свойства - говорят, что конкретно нужно изменить. Например, свойство color - это цвет.</li>
34
<li>Значения - само изменение. Например, название цвета или размер шрифта.</li>
34
<li>Значения - само изменение. Например, название цвета или размер шрифта.</li>
35
</ul><p>Например, если мы хотим, чтобы текст заголовков был зеленым, нам потребуется:</p>
35
</ul><p>Например, если мы хотим, чтобы текст заголовков был зеленым, нам потребуется:</p>
36
<ul><li>Селектор - заголовок Н1.</li>
36
<ul><li>Селектор - заголовок Н1.</li>
37
<li>Свойство - color.</li>
37
<li>Свойство - color.</li>
38
<li>Значение - конкретный цвет, зеленый в нашем случае - #008000.</li>
38
<li>Значение - конкретный цвет, зеленый в нашем случае - #008000.</li>
39
</ul><p>Для этого нужно написать такой код:</p>
39
</ul><p>Для этого нужно написать такой код:</p>
40
<p>H1 { color: #008000; }</p>
40
<p>H1 { color: #008000; }</p>
41
<h3>Иерархия</h3>
41
<h3>Иерархия</h3>
42
<p>Код в CSS оформляют в виде каскада. Это ключевое правило сортировки, о котором важно помнить. Оно необходимо, чтобы браузер мог верно интерпретировать код, а пользователь увидел на экране именно то, что хотел разработчик.</p>
42
<p>Код в CSS оформляют в виде каскада. Это ключевое правило сортировки, о котором важно помнить. Оно необходимо, чтобы браузер мог верно интерпретировать код, а пользователь увидел на экране именно то, что хотел разработчик.</p>
43
<p>В таблицах CSS приоритет отдают правилам, написанным ниже. То есть, если сверху мы написали, что заголовки должны быть зелеными, то ниже можно прописать, что они должны быть красными. И тогда браузер исполнит второе, но не первое.</p>
43
<p>В таблицах CSS приоритет отдают правилам, написанным ниже. То есть, если сверху мы написали, что заголовки должны быть зелеными, то ниже можно прописать, что они должны быть красными. И тогда браузер исполнит второе, но не первое.</p>
44
<p>Этот принцип можно обойти, если прописывать стили не в отдельном документе, а в самом коде страницы при помощи inline. Но его использование считают сомнительной практикой, так как это мешает поддержке продукта.</p>
44
<p>Этот принцип можно обойти, если прописывать стили не в отдельном документе, а в самом коде страницы при помощи inline. Но его использование считают сомнительной практикой, так как это мешает поддержке продукта.</p>
45
<p>В целом приоритеты в CSS выглядят так:</p>
45
<p>В целом приоритеты в CSS выглядят так:</p>
46
<ol><li>Свойства с пометкой "!important" - имеют абсолютный приоритет, но считается плохой практикой и используется в редких случаях;</li>
46
<ol><li>Свойства с пометкой "!important" - имеют абсолютный приоритет, но считается плохой практикой и используется в редких случаях;</li>
47
<li>Заданные через инлайн;</li>
47
<li>Заданные через инлайн;</li>
48
<li>Стили в тэге style в документе;</li>
48
<li>Стили в тэге style в документе;</li>
49
<li>Стили, подключенные через внешний файл с расширением .css.</li>
49
<li>Стили, подключенные через внешний файл с расширением .css.</li>
50
</ol><p>Еще один уровень сложности - специфические требования браузеров. Не все из них одинаково отображают код CSS. Таких разночтений немного, но о них нужно помнить.</p>
50
</ol><p>Еще один уровень сложности - специфические требования браузеров. Не все из них одинаково отображают код CSS. Таких разночтений немного, но о них нужно помнить.</p>
51
<h3>Layout</h3>
51
<h3>Layout</h3>
52
<p>Одна из важнейших тем в CSS - позиционирование. С его помощью можно располагать разные элементы на веб-странице в заданном порядке. Layout позволяет не делать это вручную, а размечать рабочую область при помощи сетки.</p>
52
<p>Одна из важнейших тем в CSS - позиционирование. С его помощью можно располагать разные элементы на веб-странице в заданном порядке. Layout позволяет не делать это вручную, а размечать рабочую область при помощи сетки.</p>
53
<p>Фактически это набор определенных свойств, который помогает задавать расположение элементов в ячейке и расстояние между этими ячейками.</p>
53
<p>Фактически это набор определенных свойств, который помогает задавать расположение элементов в ячейке и расстояние между этими ячейками.</p>
54
<h3>Bootstrap</h3>
54
<h3>Bootstrap</h3>
55
<p>Это фреймворк для CSS. То есть набор готовых решений, в который входит модульная сетка и набор стилей. Bootstrap дает возможность не изобретать велосипед на каждом проекте, а использовать заготовку.</p>
55
<p>Это фреймворк для CSS. То есть набор готовых решений, в который входит модульная сетка и набор стилей. Bootstrap дает возможность не изобретать велосипед на каждом проекте, а использовать заготовку.</p>
56
<p>Bootstrap - это набор компонентов, на основе которых можно собрать внешний вид любого, даже самого сложного сайта. К его достоинствам стоит отнести адаптивность. Он позволяет с легкостью подстраивать верстку под разные устройства и размеры экрана.</p>
56
<p>Bootstrap - это набор компонентов, на основе которых можно собрать внешний вид любого, даже самого сложного сайта. К его достоинствам стоит отнести адаптивность. Он позволяет с легкостью подстраивать верстку под разные устройства и размеры экрана.</p>
57
<h2>Методология CSS</h2>
57
<h2>Методология CSS</h2>
58
<p>Методология - это набор стандартов и правил, по которым разработчики пишут каскадные таблицы стилей. Они необходимы для того, чтобы создавать производительные, масштабируемые и поддерживаемые приложения.</p>
58
<p>Методология - это набор стандартов и правил, по которым разработчики пишут каскадные таблицы стилей. Они необходимы для того, чтобы создавать производительные, масштабируемые и поддерживаемые приложения.</p>
59
<p>Верстать страницы с CSS без методологии чревато тем, что код будет громоздким, нелогичным и плохо читаемым. А попытки внести в него изменения со стороны приведут к непредсказуемым последствиям.</p>
59
<p>Верстать страницы с CSS без методологии чревато тем, что код будет громоздким, нелогичным и плохо читаемым. А попытки внести в него изменения со стороны приведут к непредсказуемым последствиям.</p>
60
<p>Одной общей методологии CSS не существуют. Есть несколько конкурирующих стандартов: какие-то из них используют редко, считая устаревшими, а какие-то - часто.</p>
60
<p>Одной общей методологии CSS не существуют. Есть несколько конкурирующих стандартов: какие-то из них используют редко, считая устаревшими, а какие-то - часто.</p>
61
<h3>Atomic CSS</h3>
61
<h3>Atomic CSS</h3>
62
<p>На сегодня это одна из самых популярных методологий. В ее основе лежит принцип создания набора классов. Это специальные инструменты, которые используют для унификации правил.</p>
62
<p>На сегодня это одна из самых популярных методологий. В ее основе лежит принцип создания набора классов. Это специальные инструменты, которые используют для унификации правил.</p>
63
<p>Согласно Atomic CSS, классы нужно комбинировать в самом блоке HTML. За счет этого верстать становится проще, так как разработчик использует универсальные коллекции стилей.</p>
63
<p>Согласно Atomic CSS, классы нужно комбинировать в самом блоке HTML. За счет этого верстать становится проще, так как разработчик использует универсальные коллекции стилей.</p>
64
<p>Atomic CSS уменьшает объем кода, делает его более читабельным и позволяет повторно использовать уже написанные участки. Таким образом, разработка занимает меньше времени. По сути, эта методология диктует создание не одного отдельного интерфейса, а дизайнерской системы.</p>
64
<p>Atomic CSS уменьшает объем кода, делает его более читабельным и позволяет повторно использовать уже написанные участки. Таким образом, разработка занимает меньше времени. По сути, эта методология диктует создание не одного отдельного интерфейса, а дизайнерской системы.</p>
65
<p>Принципы Atomic CSS используют в нескольких фреймворках. Например, в Bootstrap и Tailwind.</p>
65
<p>Принципы Atomic CSS используют в нескольких фреймворках. Например, в Bootstrap и Tailwind.</p>
66
<h3>SMACSS</h3>
66
<h3>SMACSS</h3>
67
<p>Эта модульная и масштабируемая методология основана на последовательном подходе к разработке. Чтобы применять ее, нужно разделить правила на категории.</p>
67
<p>Эта модульная и масштабируемая методология основана на последовательном подходе к разработке. Чтобы применять ее, нужно разделить правила на категории.</p>
68
<p>А на базе категорий необходимо разрабатывать шаблоны - наборы готовых элементов в дизайне. Их используют для того, чтобы создать на проекте единые правила разработки CSS-стилей.</p>
68
<p>А на базе категорий необходимо разрабатывать шаблоны - наборы готовых элементов в дизайне. Их используют для того, чтобы создать на проекте единые правила разработки CSS-стилей.</p>
69
<p>В этой методологии есть несколько категорий:</p>
69
<p>В этой методологии есть несколько категорий:</p>
70
<ol><li>Base - отвечает за внешний вид элементов по умолчанию. К ней относятся смежные селекторы, а также псевдоклассы или атрибуты;</li>
70
<ol><li>Base - отвечает за внешний вид элементов по умолчанию. К ней относятся смежные селекторы, а также псевдоклассы или атрибуты;</li>
71
<li>Module - модуль или повторные части оформления. Например, блок поиска, меню, всплывающие окна;</li>
71
<li>Module - модуль или повторные части оформления. Например, блок поиска, меню, всплывающие окна;</li>
72
<li>Theme - стиль модуля и макета;</li>
72
<li>Theme - стиль модуля и макета;</li>
73
<li>Layout - стиль, применяющийся для разделения веб-документа на секции;</li>
73
<li>Layout - стиль, применяющийся для разделения веб-документа на секции;</li>
74
<li>State - стиль внешнего вида в определенном состоянии. Например, домашняя страница, видимый, скрытый или раскрытый вид страницы.</li>
74
<li>State - стиль внешнего вида в определенном состоянии. Например, домашняя страница, видимый, скрытый или раскрытый вид страницы.</li>
75
</ol><p>Методология определяет, как правильно давать имена всем этим категориям. Например, модулям надо давать имена компонентов, категориям State - имена с префиксом "is-", категориям Layout - с префиксом "layout-" и т.д.</p>
75
</ol><p>Методология определяет, как правильно давать имена всем этим категориям. Например, модулям надо давать имена компонентов, категориям State - имена с префиксом "is-", категориям Layout - с префиксом "layout-" и т.д.</p>
76
<p>При этом строгих правил об именовании в этой методологии нет. Их нужно создавать индивидуально на проекте, тщательно документировать, а потом придерживаться.</p>
76
<p>При этом строгих правил об именовании в этой методологии нет. Их нужно создавать индивидуально на проекте, тщательно документировать, а потом придерживаться.</p>
77
<p>Методологию SMACSS считают достаточно гибкой, простой для понимания и внедрения - ей легко обучить новых сотрудников.</p>
77
<p>Методологию SMACSS считают достаточно гибкой, простой для понимания и внедрения - ей легко обучить новых сотрудников.</p>
78
<h3>OOCSS</h3>
78
<h3>OOCSS</h3>
79
<p>Эта методология называется “объектно-ориентированный CSS”. В ее основе лежит принцип разделения оформления элемента и его структуры.</p>
79
<p>Эта методология называется “объектно-ориентированный CSS”. В ее основе лежит принцип разделения оформления элемента и его структуры.</p>
80
<p>Она была разработана как ответ на две основные проблемы, которые возникают при создании стилей в CSS: повторение и разный подход к наименованию. Чем больше людей работают над одним проектов, тем больше там появляется разных классов для одинаковых элементов.</p>
80
<p>Она была разработана как ответ на две основные проблемы, которые возникают при создании стилей в CSS: повторение и разный подход к наименованию. Чем больше людей работают над одним проектов, тем больше там появляется разных классов для одинаковых элементов.</p>
81
<p>В OOCSS есть две основные сущности:</p>
81
<p>В OOCSS есть две основные сущности:</p>
82
<ol><li>Стили структуры - все, что относится к размещению контента на странице. Например, отступы, высота, ширина и т.д. Структура - это то, что влияет на расположение.</li>
82
<ol><li>Стили структуры - все, что относится к размещению контента на странице. Например, отступы, высота, ширина и т.д. Структура - это то, что влияет на расположение.</li>
83
<li>Стили оформления - шрифты, фон, границы. В общем все, что видят пользователи, когда приходят на страницу. Оформление влияет на то, как выглядят элементы.</li>
83
<li>Стили оформления - шрифты, фон, границы. В общем все, что видят пользователи, когда приходят на страницу. Оформление влияет на то, как выглядят элементы.</li>
84
</ol><p>На основе этого создают отдельные классы. Например, для изменения структуры кнопок нужно использовать один класс, а для изменения оформления - другой.</p>
84
</ol><p>На основе этого создают отдельные классы. Например, для изменения структуры кнопок нужно использовать один класс, а для изменения оформления - другой.</p>
85
<p>Это улучшает стандартизацию, позволяя быстро вносить изменения.</p>
85
<p>Это улучшает стандартизацию, позволяя быстро вносить изменения.</p>
86
<p>OOCSS предназначен, по большей части, для крупных проектов. При его использовании классы не привязывают к отдельному элементу, поэтому их легко комбинировать. За счет этого повышается универсальность кода.</p>
86
<p>OOCSS предназначен, по большей части, для крупных проектов. При его использовании классы не привязывают к отдельному элементу, поэтому их легко комбинировать. За счет этого повышается универсальность кода.</p>
87
<h3>CSS-in-JS</h3>
87
<h3>CSS-in-JS</h3>
88
<p>Эта методология основана на использовании языка программирования JavaScript. Его применяют для разметки в тех случаях, когда стили должны измениться при взаимодействии с пользователем. Например, он может нажать на кнопку и на сайте появится новый блок.</p>
88
<p>Эта методология основана на использовании языка программирования JavaScript. Его применяют для разметки в тех случаях, когда стили должны измениться при взаимодействии с пользователем. Например, он может нажать на кнопку и на сайте появится новый блок.</p>
89
<p>Методология CSS в JS предполагает, что стили нужно прописывать в скриптовых файлах, а не в документах с расширением .css.</p>
89
<p>Методология CSS в JS предполагает, что стили нужно прописывать в скриптовых файлах, а не в документах с расширением .css.</p>
90
<p>Но дело не только в файлах. Сами стили прописывают при помощи JavaScript. На основе этой методологии работают многие популярные фреймворки. Самый простой пример - React. В нем стили задаются через styled-components.</p>
90
<p>Но дело не только в файлах. Сами стили прописывают при помощи JavaScript. На основе этой методологии работают многие популярные фреймворки. Самый простой пример - React. В нем стили задаются через styled-components.</p>
91
<p>Одно из главных достоинств этой методологии - компонентный подход. При разработке обычных стилей в CSS для многих элементов создают отдельные файлы или один общий, но в нем бывает сложно ориентироваться.</p>
91
<p>Одно из главных достоинств этой методологии - компонентный подход. При разработке обычных стилей в CSS для многих элементов создают отдельные файлы или один общий, но в нем бывает сложно ориентироваться.</p>
92
<p>CSS-in-JS позволяет создавать отдельные модули, поэтому структура становится проще. При таком раскладе их гораздо легче тестировать, так как модули проверяются отдельно друг от друга.</p>
92
<p>CSS-in-JS позволяет создавать отдельные модули, поэтому структура становится проще. При таком раскладе их гораздо легче тестировать, так как модули проверяются отдельно друг от друга.</p>
93
<h3>БЭМ</h3>
93
<h3>БЭМ</h3>
94
<p>Ее создали в "Яндексе" для упрощения процесса веб-разработки. БЭM основан на трех сущностях:</p>
94
<p>Ее создали в "Яндексе" для упрощения процесса веб-разработки. БЭM основан на трех сущностях:</p>
95
<ul><li>Блок - независимый компонент, чья задача описывать отображение элементов. Один блок может содержать в себе другие блоки. Например, блоком будет футер или хэдер сайта. Его название должно описывать значение, а не состояние.</li>
95
<ul><li>Блок - независимый компонент, чья задача описывать отображение элементов. Один блок может содержать в себе другие блоки. Например, блоком будет футер или хэдер сайта. Его название должно описывать значение, а не состояние.</li>
96
<li>Элемент - сущность, используемая только внутри блока, его составная часть. Он может быть вложенным и не принадлежащим другим элементам. Название элемента описывает значение, а не внешний вид.</li>
96
<li>Элемент - сущность, используемая только внутри блока, его составная часть. Он может быть вложенным и не принадлежащим другим элементам. Название элемента описывает значение, а не внешний вид.</li>
97
<li>Модификатор - используют для описания атрибута элемента или блока. Он отвечает за поведение, положение или состояние.</li>
97
<li>Модификатор - используют для описания атрибута элемента или блока. Он отвечает за поведение, положение или состояние.</li>
98
</ul><p>В рамках этой методологии используют единообразную систему наименований. За счет этого новым разработчикам гораздо проще понять все связи, которые используют в разметке проекта.</p>
98
</ul><p>В рамках этой методологии используют единообразную систему наименований. За счет этого новым разработчикам гораздо проще понять все связи, которые используют в разметке проекта.</p>
99
<h2>Кто и как работает с CSS-кодом</h2>
99
<h2>Кто и как работает с CSS-кодом</h2>
100
<p>Умение писать и читать код на CSS - базовый навык любого фронтенд-разработчика. В нулевых, когда сайты были простыми, существовала профессия верстальщика. Это специалист, который при помощи HTML и CSS создавал интерфейсы.</p>
100
<p>Умение писать и читать код на CSS - базовый навык любого фронтенд-разработчика. В нулевых, когда сайты были простыми, существовала профессия верстальщика. Это специалист, который при помощи HTML и CSS создавал интерфейсы.</p>
101
<p>Сейчас же простые сайты разрабатывают по готовым шаблонам, а более сложные почти всегда требуют знаний JavaScript. Но CSS никуда не исчез, он остался базой для фронтенда большинства проектов. Просто одного его разработчикам уже недостаточно.</p>
101
<p>Сейчас же простые сайты разрабатывают по готовым шаблонам, а более сложные почти всегда требуют знаний JavaScript. Но CSS никуда не исчез, он остался базой для фронтенда большинства проектов. Просто одного его разработчикам уже недостаточно.</p>
102
<p>Современный фронтендер должен знать HTML и CSS, уметь писать код на JavaScript и освоить хотя бы один из популярных фреймворков этого языка программирования.</p>
102
<p>Современный фронтендер должен знать HTML и CSS, уметь писать код на JavaScript и освоить хотя бы один из популярных фреймворков этого языка программирования.</p>
103
<blockquote><p>А если вы хотите стать разработчиком, то приходите на<a>подготовительные курсы Хекслета</a>. В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою полноценную программу.</p>
103
<blockquote><p>А если вы хотите стать разработчиком, то приходите на<a>подготовительные курсы Хекслета</a>. В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою полноценную программу.</p>
104
</blockquote>
104
</blockquote>