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

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

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

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

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

Одно правило говорит, что ваш тег H3 краснеет, другое правило говорит, что оно зеленое – правила противоречат друг другу, кто победит !? Смерть!

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

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

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

Следующая статья прекрасно отвечает на ваш вопрос.

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

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

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

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

  1. объявления пользовательских агентов
  2. пользовательские декларации
  3. авторские декларации
  4. автор важные декларации
  5. важные пользовательские декларации

См. Больше в спецификации

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

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

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

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

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

Например, данный

body { background:blue; } body { background:green; } 

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

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

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

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

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

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

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

My Headline

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

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

  • Что такое null в Java?
  • Что такое «время выполнения»?
  • Как объяснить обратные вызовы на простом английском языке? Как они отличаются от вызова одной функции от другой функции?
  • В чем разница между «методом classа» и «статическим методом»?
  • Различия между инициализацией, определением, объявлением переменной
  • Не является ли доступ к члену «закрытый пакет» синонимом доступа по умолчанию (без модификатора)?
  • Что представляет собой складку для других типов, кроме списка?
  • Разница между прокси-сервером и обратным прокси-сервером
  • NULL разрешено в основном ключе - почему и в какой СУБД?
  • API против Webservice
  • Что такое lambda?
  • Interesting Posts

    Android Spinner: избегать onItemВыбранные вызовы во время инициализации

    Как обмениваться Интернетом (по беспроводной сети) через сеть LAN в Windows 7?

    Кнопка «Отправить форму» работает только после перезагрузки

    Firefox 30 не распознает шрифт

    Антибликовый фильтр для глянцевого экрана ноутбука?

    Любой способ заставить DataContractJsonSerializer правильно сериализовать словари?

    Обнаружение из браузера, если определенное приложение установлено на Android

    Обновление Force GUI из UI Thread

    Безопасное исправление: javax.net.ssl.SSLPeerUnverifiedException: нет однорангового сертификата

    Можно ли загружать Windows 8.1 без собственного загрузчика?

    Измените разрешение экрана, чтобы превысить максимальное значение в Windows 7

    Каков самый быстрый способ объединить два xml-файла в один

    VBA Macro для сравнения всех ячеек двух файлов Excel

    Изменить фон списка ListView – странное поведение

    achartengine – не может понять, как использовать даты в качестве оси x – файл, который я сохраняю, пуст

    Давайте будем гением компьютера.