Прежде чем углубляться в мой вопрос, я должен сначала дать краткий обзор того, с какой стороны я подхожу: для большей части моей работы по веб-разработке (примерно год назад) я почти полностью сосредоточился на внутренней разработке , Поэтому большая часть моих последних месяцев была потрачена на то, чтобы быстро освоить JavaScript, инструменты AJAX, библиотеки JS, манипулирование DOM и, конечно, каскадные таблицы стилей. Я нашел способ адаптировать и использовать свой способ мышления практически ко всем этим аспектам веб-разработки и делать по-настоящему изящные вещи , но CSS по-прежнему остается труднодостижимым для меня , Почти каждый веб-ресурс, с которым я сталкивался, объясняет, как использовать CSS, описывает эту технологию очень просто. До сих пор я не вижу ничего, кроме бесконечного списка примеров макетов и стилей, которые делают их возможным. И, конечно, что еще хуже: часто есть несколько способов достичь одной и той же цели, а также множество фрагментированных «ошибок» для устранения несоответствий в браузере.
Для меня: CSS не полностью функциональный язык программирования (то есть не Тьюринг завершен). Следовательно, изучение CSS похоже на попытку взломать сложный XML-файл, не имея четкого представления о том, как программное обеспечение, использующее указанный файл, будет его интерпретировать. Я ищу алгоритмическое описание точно того, как CSS интерпретируется каждым из основных браузеров (IE, Chrome и FireFox). Для меня это было бы гораздо предпочтительнее чем подход грубой силы, который я был вынужден использовать до сих пор.