войти зарегистрироваться

Каскадные Таблицы СтилейUnlimited IE one-time CSS expressions

В поддержку дней CSS expressions на хабре

Думаю все, кто сталкивался с решением каких-нибудь проблем в IE<8 знает про CSS expressions и про «одноразовые» CSS expressions, которые применяются к элементу только один раз, тем самым не создавая постоянной нагрузки на процессор. Обычно это решается так:
.my-class {
    behavior: expression(someMagick(), runtimeStyle.behavior = 'none');
}

Каскадные Таблицы СтилейУпорядоченные списки, счётчики и экспрешн для IE

Представьте ситуацию: в макете страницы, которую вам надо сверстать, есть упорядоченный список. Всё бы ничего, да в дизайне стиль текста в списке отличается от стиля цифр, выступающих в роли маркера каждого пункта.

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

Но что, если отличия не только в шрифте? В таком случае, чаще всего, верстальщики забивают на семантику и добавляют в каждый пункт списка элемент с соответствующей цифрой, и уже ему задают необходимые стили. У такого решения есть масса недостатков — это и плевок на семантику, и необходимость реализации со стороны сервера.

Веб-разработкаIE8 не будет поддерживать CSS expressions

Критерии проектирования — соответствие стандартам, производительность, надежность и безопасность — ограничивают как новые, так и существующие возможности браузера. В результате CSS-выражения (CSS expressions) больше не поддерживаются в стандартном режиме IE8. Это изменение уже анонсировалось в блоге IE, но разработчики решили поделиться дополнительными подробностями о своем решении. Они ответили на вопросы о том, что это было, почему от этого отказались и чем это нам грозит.

Internet ExplorerКонец CSS expressions

По информации официального блога разработчиков IE поддержка CSS expressions, многими оспариваемое решение, в восьмой версии будет отключена по умолчанию. В числе причин названы безопасность и высокая затратность в плане производительности.

Однако, поддержка CSS expressions сохранится в режиме совместимости с седьмой версией браузера, для поддержки уже существующих проектов.

Таким образом, Microsoft, похоже, еще раз демонстрирует свое желание придерживаться рекомендаций и стандартов в реализации новой версии браузера.

Клиентская оптимизацияПрактический JS: оптимизируем CSS expressions

Примечание: ниже находится перевод статьи "CSS Expression Optimization", в которой автор немного освещает использование и проблематику динамических свойств в CSS (aka CSS expressions). Также автор предлагает способ их оптимизации (исполнение один-единственный раз вместо постоянного выполнения). Далее приведены несколько тезисов с ClientSide'2007 по заявленной тематике. Мои комментарии даны курсивом.

CSS expressions были впервые представлены в Internet Explorer 5.0, который позволял назначать JavaScript-выражение в качестве CSS-свойства. Например, следующий код позволит разместить элемент в зависимости от того, какого размера окно браузера.

#myDiv {
   position:   absolute;
   width:      100px;
   height:     100px;
   left:       expression(document.body.offsetWidth  - 110 + "px");
   top:        expression(document.body.offsetHeight - 110 + "px");
   background: red;
}

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

читать дальше на webo.in →