0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<h3>Добавление стилей в HTML-документ</h3>
1
<h3>Добавление стилей в HTML-документ</h3>
2
<p>Помните невидимую "голову" документа? Именно в ней можно указать адрес CSS-файла со стилями:</p>
2
<p>Помните невидимую "голову" документа? Именно в ней можно указать адрес CSS-файла со стилями:</p>
3
<p>Если HTML-файл лежит в одной директории с файлом main.css, то стили из этого CSS-файла будут применены к странице. Если же файл лежит в другом месте, то нужно указать путь к нему. Например, если структура директорий такая:</p>
3
<p>Если HTML-файл лежит в одной директории с файлом main.css, то стили из этого CSS-файла будут применены к странице. Если же файл лежит в другом месте, то нужно указать путь к нему. Например, если структура директорий такая:</p>
4
<p>my_site/ ├── css/ │ ├── main.css ├── html/ │ ├── index.html</p>
4
<p>my_site/ ├── css/ │ ├── main.css ├── html/ │ ├── index.html</p>
5
<p>То в файле index.html путь нужно указать так:</p>
5
<p>То в файле index.html путь нужно указать так:</p>
6
<p>Такой путь называется<em>относительным</em>. Он указывается относительно текущего расположения файла<em>index.html</em>. Чтобы добраться до файла<em>main.css</em>нам было нужно выйти из директории<em>html</em>. Это делается с помощью конструкции<em>../</em>. Далее мы указали директорию<em>css</em>и название нашего CSS файла.</p>
6
<p>Такой путь называется<em>относительным</em>. Он указывается относительно текущего расположения файла<em>index.html</em>. Чтобы добраться до файла<em>main.css</em>нам было нужно выйти из директории<em>html</em>. Это делается с помощью конструкции<em>../</em>. Далее мы указали директорию<em>css</em>и название нашего CSS файла.</p>
7
<p>Существуют также<em>абсолютные</em>пути. Они всегда строятся от корня файловой системы. В таком случае путь всегда начинается со слэша. Если представить, что сайт лежит в корне нашей файловой системы, то путь выглядел бы следующим образом:<em>/css/main.css</em>.</p>
7
<p>Существуют также<em>абсолютные</em>пути. Они всегда строятся от корня файловой системы. В таком случае путь всегда начинается со слэша. Если представить, что сайт лежит в корне нашей файловой системы, то путь выглядел бы следующим образом:<em>/css/main.css</em>.</p>
8
<p>Стили также можно поместить прямо в HTML-файл, не создавая отдельный CSS-файл:</p>
8
<p>Стили также можно поместить прямо в HTML-файл, не создавая отдельный CSS-файл:</p>
9
<p>Такой вариант может быть уместен для минимальных страниц, которые гарантированно не будут разрастаться. В целом, лучше<strong>всегда разделять HTML и CSS на отдельные файлы</strong>. Один CSS-файл можно использовать в нескольких HTML-документах, к тому же разделение представления (presentation - это стили) и содержания (content - это сам HTML) - правильная стратегия при построении информационных систем.</p>
9
<p>Такой вариант может быть уместен для минимальных страниц, которые гарантированно не будут разрастаться. В целом, лучше<strong>всегда разделять HTML и CSS на отдельные файлы</strong>. Один CSS-файл можно использовать в нескольких HTML-документах, к тому же разделение представления (presentation - это стили) и содержания (content - это сам HTML) - правильная стратегия при построении информационных систем.</p>
10
<h3>Каскад</h3>
10
<h3>Каскад</h3>
11
<p>Почему же C в CSS - это<em>cascade</em>? Дело в том, что стили складываются каскадом в единый набор.</p>
11
<p>Почему же C в CSS - это<em>cascade</em>? Дело в том, что стили складываются каскадом в единый набор.</p>
12
<p>В итоге у элемента p цвет текста будет красным, потому что этот стиль был указан в таком же селекторе, но<strong>после</strong>предыдущего. При этом размер шрифта останется 20 пикселей: это значение не заменялось.</p>
12
<p>В итоге у элемента p цвет текста будет красным, потому что этот стиль был указан в таком же селекторе, но<strong>после</strong>предыдущего. При этом размер шрифта останется 20 пикселей: это значение не заменялось.</p>
13
<p>Можно представить, что стили собрались каскадом в такой набор:</p>
13
<p>Можно представить, что стили собрались каскадом в такой набор:</p>
14
<p>Каскад происходит сверху вниз, и работает даже внутри одного селектора. Ниже - странный пример, но результат будет тем же: цвет текста будет красным:</p>
14
<p>Каскад происходит сверху вниз, и работает даже внутри одного селектора. Ниже - странный пример, но результат будет тем же: цвет текста будет красным:</p>
15
<p>Каскадность также заключается в том, что один элемент может попадать под действие нескольких селекторов разного типа. Например:</p>
15
<p>Каскадность также заключается в том, что один элемент может попадать под действие нескольких селекторов разного типа. Например:</p>
16
<p>Такой элемент будет одновременно красным, размером 20 пикселей и курсивом. Но у разных видов селекторов разный приоритет.</p>
16
<p>Такой элемент будет одновременно красным, размером 20 пикселей и курсивом. Но у разных видов селекторов разный приоритет.</p>
17
<p>Порядок таков:</p>
17
<p>Порядок таков:</p>
18
<ol><li>Селектор типа элемента (p)</li>
18
<ol><li>Селектор типа элемента (p)</li>
19
<li>Селектор класса (.important)</li>
19
<li>Селектор класса (.important)</li>
20
<li>Селектор id (#intro)</li>
20
<li>Селектор id (#intro)</li>
21
</ol><p>1 - низкий приоритет, 3 - высокий приоритет.</p>
21
</ol><p>1 - низкий приоритет, 3 - высокий приоритет.</p>
22
<p>Пример:</p>
22
<p>Пример:</p>
23
<p>Текст в этом элементе будет наклонным, полужирным и зелёным, потому что:</p>
23
<p>Текст в этом элементе будет наклонным, полужирным и зелёным, потому что:</p>
24
<ol><li>Селектор типа элемента p:<ul><li>синий цвет</li>
24
<ol><li>Селектор типа элемента p:<ul><li>синий цвет</li>
25
<li><strong>полужирность</strong></li>
25
<li><strong>полужирность</strong></li>
26
</ul></li>
26
</ul></li>
27
<li>Селектор класса p.important:<ul><li>синий цвет<em>заменил</em>на пурпурный цвет</li>
27
<li>Селектор класса p.important:<ul><li>синий цвет<em>заменил</em>на пурпурный цвет</li>
28
<li><em>курсив</em></li>
28
<li><em>курсив</em></li>
29
</ul></li>
29
</ul></li>
30
<li>Селектор идентификатора #intro:<ul><li>пурпурный цвет<em>заменил</em>на зелёный цвет</li>
30
<li>Селектор идентификатора #intro:<ul><li>пурпурный цвет<em>заменил</em>на зелёный цвет</li>
31
</ul></li>
31
</ul></li>
32
</ol><p>Стили сложились каскадом, что-то заменилось, что-то нет, и в итоге получился такой набор:</p>
32
</ol><p>Стили сложились каскадом, что-то заменилось, что-то нет, и в итоге получился такой набор:</p>
33
33