Вопрос по css – Что означает «каскадирование» в CSS?

78

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

Если вы похожи на меня, то это «Каскад». относится к каскадному количеству времени, которое вы потратите на настройку ширины div с шагом в два пикселя, чтобы все выглядело "правильно", " вместо того, чтобы сосредоточиться на вашей основной бизнес-логике. (Я, вероятно, получу несколько негативов за этот ответ, но это так верно) JohnMetta

Ваш Ответ

12   ответов
99

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

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

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

46

я всегда говорю студентам, что «каскадные таблицы стилей» означает что-то вроде & quot;fighting таблицы стилей & quot ;.

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

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

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

5

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

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

14

kon Wium Lie (cо-создатель CSS) определяет "каскад" в своей докторской диссертации по CSS как & quot; Процесс объединения нескольких таблиц стилей и разрешения конфликтов между ними & quot;https://www.wiumlie.no/2006/phd/

4

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

Error: User Rate Limit Exceeded
-2
CSS doc    
p{font-size: 12pt;}
p{font-size: 14pt;}

<p>My Headline<p>

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

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

user agent declarations user normal declarations author normal declarations author important declarations user important declarations

Смотрите больше вспекуляция

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

initialize the value array; apply the values from 1st origin; apply the values from 2st origin, override if the value exists; ... apply the values from Nth origin, override if the values exists;

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

0

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

1

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

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

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

body {
    background:blue;
}

body {
    background:green;
}

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

0

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

Похожие вопросы