В чем смысл "каскадирования" в CSS?

Какое точное значение термина "Каскадирование" в CSS? У меня разные взгляды, поэтому я прошу здесь. Пример поможет.

Ответ 1

"Каскадирование" в этом контексте означает, что, поскольку более чем одно правило таблицы стилей может применяться к определенному фрагменту HTML, должен быть известный способ определения, какое конкретное правило таблицы стилей применяется к какому фрагменту HTML.

Используемое правило выбирается путем каскадирования от более общих правил до требуемого конкретного правила. Выбирается наиболее конкретное правило.

Ответ 2

Когда я преподаю CSS, я всегда говорю студентам, что "каскадные таблицы стилей" означают что-то вроде "боевых таблиц стилей".

Одно правило говорит, что ваш тег H3 будет красным, другое - зеленым - правила противоречат друг другу, кто победит !? Схватка таблиц стилей!

ОК, может быть, это небольшое преувеличение, но это гораздо более поддается не кодирующим, не программирующим людям, которые только начинают, чем любое представление о каскаде или наследовании.

Конечно же, я должен сказать им, что для таблиц стилей не проблема сражаться друг с другом, а то, как был разработан язык.

Ответ 3

Хокон Вьюм Ли (со-создатель CSS) определяет "каскад" в своей докторской диссертации по CSS как "Процесс объединения нескольких таблиц стилей и разрешения конфликтов между ними" https://www.wiumlie.no/2006/phd/

Ответ 4

В следующей статье вы прекрасно отвечаете на свой вопрос.

Это порядок, в котором свойства применяются к определенному элементу (элементам).

http://www.blooberry.com/indexdot/css/topics/cascade.htm

Ответ 5

Вы должны думать об этом со стороны. Если у вас есть правило, которое находится на теге тела, оно будет "каскадироваться" через каждый дочерний тег. Если вы поместите правило на любой тег внутри тела, оно примет это правило и т.д. Таким образом, правило каскадирует все содержимое, если оно не прерывается правилом из встроенного тега.

Ответ 6

Вы можете обрабатывать обработку CSS, поскольку водопад содержит несколько каскадов. Вот эти каскады сверху вниз, чтобы: (Нижний может переопределить одно и то же свойство в более высоком.)

  • объявления пользовательских агентов
  • пользовательские декларации пользователя
  • авторские нормальные объявления
  • автор важные декларации
  • важные объявления пользователя

Подробнее в spec

каскадный должен выбрать правильное значение из нескольких источников. Но это отличается от сортировки. Только нам не нужно сортировать. Но в CSS эти корни имеют фиксированный приоритет. И, следовательно, псевдокод может выглядеть следующим образом:

  • инициализировать массив значений;
  • применить значения от 1-го начала;
  • применить значения из 2-го начала, переопределить, если это значение существует;
  • ...
  • применить значения из N-го начала, переопределить, если значения существуют;

Из псевдокода вы можете видеть, что он выглядит как водопад из нескольких каскадов.

Ответ 7

Одно пояснение, которое может помочь. Если вы включаете две таблицы стилей и там правило с той же специфичностью в каждом, то последний включал в себя последние победы. И.Е. последнее в каскаде имеет наибольшее влияние.

(Это всего лишь вариация наличия двух правил на одном листе - последняя побеждает, если все остальные вещи равны.)

Например, учитывая

body {
    background:blue;
}

body {
    background:green;
}

тогда фон будет зеленым.

Ответ 8

Это процесс, который используется для разрешения конфликтов в спецификации таблицы стилей.

Это процесс разрешения конфликтов, выполняемый в соответствии с упоминанием приоритета в CSS.

Ответ 9

CSS - это каскадная таблица стилей. По своей природе стили далее по каскадной таблице стилей переопределяют эквивалентные стили выше (если только стили выше не являются более конкретными). Поэтому мы можем установить базовые стили в начале таблицы стилей, применимые ко всем версиям нашего дизайна, а затем переопределить соответствующие разделы с медиа-запросами далее в документе.

Ответ 10

Каскадирование означает выливание поэтапно или добавление шагов. Таблицы стилей содержат коды для стилизации элемента html. И способ, которым коды написаны в таблице стилей, находится в каскадном режиме. Или просто, обратные коды в слоях для каждого элемента html html-страницы в таблице стилей составляют каскадную таблицу стилей.

Ответ 11

Каскадирование - это алгоритм, который присваивает вес каждому правилу стиля. Когда применяется несколько правил, приоритет имеет тот, у кого наибольший вес.

Ответ 12

Когда один или несколько стилей применяются к одному и тому же элементу. CSS выполняет набор правил, называемых каскадированием, который оценивает силу специфичности двух примененных стилей и определяет победителя, т.е. выигрывает правило стиля, которое имеет больший вес. Если два правила имеют тот же вес, что и правило, применяемое для последних побед.

Ответ 13

CSS doc    
p{font-size: 12pt;}
p{font-size: 14pt;}

<p>My Headline<p>

будет отображать p при 14pt шрифте, потому что он "ближе" к фактическому элементу (внешние таблицы стилей загружаются из верхней части файла в конец файла). Если вы используете связанную таблицу стилей, а затем добавьте некоторый CSS в начало вашего документа после ссылки на внешний документ CSS, объявление "в голове" выиграет, потому что оно еще ближе к определенному элементу. Это справедливо только для взвешенных селекторов. Проверьте http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html для хорошего описания веса данного селектора.

Все сказанное, вы могли бы считать "наследование" частью каскада также - для всех практических целей. Вещи "каскад" вниз от содержащихся элементов.