CSS не, поскольку я знаю, полный по Тьюрингу. Но мои знания CSS очень ограничены.
CSS не является языком программирования, поэтому вопрос о полноте по Тьюрингу не имеет смысла. Если в CSS добавляются программные расширения, как это было в IE6, то новый синтез - совсем другое дело.
CSS - это просто описание стилей; в нем нет никакой логики, и его структура плоская.
Согласно этой статье, это не так. В статье также утверждается, что не стоит делать его таковым.
Цитирую один из комментариев:
Итак, я не верю, что CSS является завершенным по Тьюрингу. Не существует возможности определить функцию в CSS. Для того, чтобы система была полной по Тьюрингу, необходимо, чтобы была возможность написать интерпретатор: функцию которая интерпретирует выражения, которые обозначающие программы для выполнения. CSS не имеет переменных, доступных непосредственно пользователю; поэтому вы не можете даже смоделировать структуру, которая представляет программу для интерпретации в CSS.