html и css рядом с примерами кода, чтобы не запутаться в языках.<p>Текст.</p><p> — открывающий тег. p — один из возможных типов HTML-элементов, обозначающий параграф. Подробнее о типах можно узнать на сайтах-справочниках (читать не нужно).Текст. — содержимое элемента.</p> — закрывающий тег. Должен содержать слеш перед типом элемента.селектор {
свойство: значение;
свойство: значение;
}<p>Текст.</p>, в CSS мы бы указали в селекторе его тип. Такой селектор называется селектором типа:p {
color: red;
}Данное правило будет применяться ко всем элементам <p> на странице. Оно изменит цвет текста (color) в них на красный.class:<p class="b-anime_description">Текст.</p>class — это название атрибута. Оно должно быть отделено пробелом от типа элемента или других атрибутов. Названия атрибутов и их назначение могут быть найдены в справочнике атрибутов (читать не нужно).b-anime_description — это значение атрибута. Оно должно быть записано через знак равно от названия атрибута в кавычках. Значений у атрибута class может быть несколько, все они должны разделены пробелами..b-anime_description {
color: red;
}Селекторы типа и селекторы класса подсвечиваются по-разному для наглядности. class будет соответствовать b-anime_description. Пример:<p class="b-anime_description">Красный текст</p>
<div class="b-anime_description m-0">Красный текст</div>
<p class="m-0">Черный текст по умолчанию</p>b-anime_description и определённого типа, необходимо указать селектор типа, а затем дополнить его селектором класса:div.b-anime_description {
color: red;
}Селектор типа всегда пишется в начале составного селектора, а селектор класса и другие селекторы всегда пишутся после. Обратите внимание, что никаких пробелов между селекторами нет. Если такое правило применить к html-примеру выше, то красным цветом будет обладать только второй элемент <div class="b-anime_description m-0"></div>.[class="b-anime_description"] {
color: red;
}Селекторы атрибута записываются в квадратных скобках. В начале указывается название атрибута (к примеру, class), затем, как в этом примере, может использоваться значение атрибута, записанное в кавычках через знак равно. [class] будет работать для всех элементов, у которых есть атрибут class.[class~="b-anime_description"] со знаком тильды перед знаком равно будет искать в наборе значений атрибута class точное соответствие одного из значений, т.е. будет полностью соответствовать обычной записи селектора класса — .b-anime_description.<input> с разными назначениями. К примеру:input[type="text"] {
/* Стили для текстового поля */
}
input[type="submit"] {
/* Стили для кнопок отправки форм */
}В этих правилах используются селекторы типа и селекторы атрибута одновременно, чтобы точнее определить необходимые для стилизации элементы, т.к. подобные атрибуты могут быть и у других типов HTML-элементов (к примеру, у отдельного элемента кнопки <button>).id) и имеет сокращённую запись — значение атрибута id записывается через знак решетки:#profiles_show {
color: red;
}В отличие от атрибута class, в этом атрибуте может быть только одно значение, а сам элемент с таким идентификатором должен быть только один в веб-документе.<div class="b-comment">
<span class="icon icon-flag"></span>
</div>
<div class="b-form">
<span class="icon icon-flag"></span>
</div>Два элемента одинакового типа с разными значениями атрибута class содержат по одному идентичному элементу. .b-comment .icon-flag {
color: red;
}Когда селекторы комбинируются, они должны читаться справа налево: самый крайний селектор справа, непосредственно перед открытой скобкой, известен как ключевой селектор. Он определяет, к каким именно элементам будут применяться стили. Селекторы слева — уточняющие — определяют искомое положение элементов в структуре страницы..b-comment .icon-flag) будет работать для всех элементов, у которых атрибут class содержит icon-flag, а сами они вложены в элемент с атрибутом class, содержащим b-comment, причём находится эти элементы-потомки могут на любом уровне вложенности..b-comment>.icon-flag {
color: red;
}id), которыми обладают почти все страницы сайта. Используя знания о селекторах идентификаторов и комбинаторах потомков, вы можете написать правила для отдельных страниц Шикимори, имеющих такие идентификаторы. Сам идентификатор можно найти у элемента <body>, который представляет собой контейнер для содержимого HTML-документа — этот элемент является родительским для большинства элементов сайта. Пример главной страницы профиля:<html>
<head>…</head>
<body id="profiles_show" class="p-profiles p-profiles-show">
<header class="l-top_menu-v2">…</header>
<section class="l-page">…</section>
<div class="b-to-top">…</div>
</body>
</head>id необходимой страницы, вы сужаете действие соответствующих правил до одной единственной страницы. Например, чтобы изменить цвет подзаголовков блоков вы можете использовать общий код для всего сайта:.subheadline {
color: red;
}А можете использовать уточняющий селектор идентификатора #profiles_show и комбинатор потомков, определив таким образом правила только для тех подзаголовков, которые находятся на главной странице профиля:#profiles_show .subheadline {
color: red;
}Такое правило будет работать только для элементов, у которых значение атрибута class содержит subheadline, а сами они являются потомками элемента с атрибутом id равным profiles_show.


color: red;. В этой части рассмотрим важные особенности CSS — каскад, специфичность и наследование, а также соответствующие особенности пользовательских стилей на Шикимори.p {
color: red;
font-size: 16px;
}
p {
color: green;
}К элементам p на странице будет применяться значение color из последнего правила, а значение font-size — из первого.style. Пример:<p class="text" style="color: green;">Текст.</p>Такие стили не получится изменить с помощью механизмов каскада.*, различные комбинаторы, а также отрицающий псевдокласс :not() не влияют на специфичность. Если специфичность одинакова, то используются значения свойств и последнего правила в каскаде.#club_pages_show a {
color: green;
}
.p-club_pages .l-content .subheadline>a {
color: red;
font-size: 12px;
}
.l-content[class] .subheadline>a {
color: blue;
font-size: 16px;
}В правилах указаны одинаковые свойства, но с разными значениями. Чтобы понять какие свойства и с какими значениями будут применены к элементу a, посчитаем специфичность, указывая категории баллов в скобках:1, 0, 10, 3, 10, 3, 1color из первого правила, так как первая категория — самая важная и её баллы «перевешивают» баллы из других категорий. У второго и третьего правила одинаковая специфичность, поэтому по правилу каскада значение свойства font-size будет взято из последнего правила. В итоге ссылка будет иметь зеленый цвет и крупный шрифт.!important. Он указывается после значения свойства, чтобы это значение получило наивысший приоритет при вычислении положения в каскаде и специфичности. Если к элементу применимы два взаимоисключающих стиля с модификатором !important, то применён будет стиль с большей специфичностью.style.<p class="text" style="color: green;">Текст.</p>.text {
color: red !important;
}.p-profiles .profile-head .c-history .entry .misc {
color: #7b8084 !important;
}
.p-profiles .profile-head .c-history .entry .misc.date {
color: #9da2a8 !important;
}color и font. Обычно они указываются в стилях один раз для корневого элемента html или контейнера видимых элементов body. Если у вложенных элементов не будет отдельных свойств, определяющих цвет и шрифт, то они будут наследовать эти свойства. Эта особенность позволяет разработчикам писать меньше CSS-правил.position значением по умолчанию является значение static. Если у родительского элемента указано значение relative, у элементов-потомков значение не будет унаследовано и останется равным static.inherit, используемое как значение свойства, позволяет явно задать наследование. Это работает и на наследуемых, и на ненаследуемых свойствах.initial, позволяет указывать для элемента его первоначальное значение. Хороший пример использования можно увидеть на сайте MDN: developer.mozilla.org@media и вёрстке, вы сможете лучше понимать адаптацию под мобильные устройства, а также смело отключить ещё одну важную особенность пользовательских стилей на Шикимори — использование медиа-запроса, в который оборачивается ваш стиль по умолчанию — не боясь сломать макет страницы. Отменяется это поведение добавлением любого медиа-запроса (даже пустого):@media all { /* Пустой медиа-запрос */ }:.gif)





