Нестандартным синтаксисам (помимо необходимости использования дополнительной серверной программной прослойки) не хватает широкой поддержки со стороны редакторов кода.
background-position-x/y — чтобы задать общее для нескольких элементов правило с единым фоновым изображением, а затем переопределить для каждого из элементов только одну координату без необходимости дублирования другой координаты, одинаковой для всех элементов из набора.
А я надеюсь, что в рабочую группу CSS на помощь теоретикам придут, наконец, практики, которые будут понимать, зачем веб-разработчикам необходимы такие вещи, как background-position-x/y, возможность переопределения отдельного слоя при использовании множественных фоновых изображений, наследование классов, объединение селекторов без необходимости бесконечного дублирования при перечислении селекторов через запятую и проч.
У меня, например, Opera 11 загружает страницы со сторого раза. В первый раз ввёл адрес, нажал Enter, ничего не происходит. Снова установил курсор в адресную строку, снова нажал Enter, страница загрузилась. Напрягает даже при редком использовании Оперы лишь для проверки внешнего вида сайтов при разработке.
Я уж не говорю про баги типа обманного свойства maxLength у элемента TEXTAREA, в действительности атрибут maxlength не поддерживающего даже на уровне валидации при отправке формы.
Для браузеров и IE8+ (более 90% браузеров) — список, для IE6/7 — нерезиновое меню при помощи float либо динамическая генерация таблицы из списка средствами JS. Правильным браузерам — правильное решение, остальным — приемлемое. ;-)
Разные решения применяются в разных нишах (ценовых, качественных и проч.), это нормально.
А следуя парадигме «одно решение для всех браузеров», недолго дойти и до того, чтобы, например, для всех браузеров использовать таблицу вместо списка для резинового меню шириной 100%, когда {display: table} в действительности не поддерживается лишь менее чем 10% браузеров (IE 6/7). Graceful degradation, progressive enhancement. ;-)
Если на первом месте не потребительские качества сайта, а простота его сопровождения для разработчика, тогда единое решение, конечно, может иметь преимущество.
Способ, работающий без JavaScript, всегда зачастую (при прочих равных) предпочтительнее способа, работающего с помощью JavaScript. И если в большинстве браузеров можно обойтись без JS, то применять JS имеет смысл только в оставшихся.
Это и понятно — синтаксис нестандартный.
background-position-x/y— чтобы задать общее для нескольких элементов правило с единым фоновым изображением, а затем переопределить для каждого из элементов только одну координату без необходимости дублирования другой координаты, одинаковой для всех элементов из набора.Например:
.example LI {background: url(example.png) 5px 0 no-repeat; }.example LI.lorem {background-position-y: -20px; } /* background-position: 5px -20px */
.example LI.ipsum {background-position-y: -40px; } /* background-position: 5px -40px */
Другие примеры см. в баг-репорте на bugzilla.mozilla.org.
background-position-x/y, возможность переопределения отдельного слоя при использовании множественных фоновых изображений, наследование классов, объединение селекторов без необходимости бесконечного дублирования при перечислении селекторов через запятую и проч.Я уж не говорю про баги типа обманного свойства maxLength у элемента TEXTAREA, в действительности атрибут maxlength не поддерживающего даже на уровне валидации при отправке формы.
floatлибо динамическая генерация таблицы из списка средствами JS. Правильным браузерам — правильное решение, остальным — приемлемое. ;-)А следуя парадигме «одно решение для всех браузеров», недолго дойти и до того, чтобы, например, для всех браузеров использовать таблицу вместо списка для резинового меню шириной 100%, когда
{display: table}в действительности не поддерживается лишь менее чем 10% браузеров (IE 6/7). Graceful degradation, progressive enhancement. ;-)всегдазачастую (при прочих равных) предпочтительнее способа, работающего с помощью JavaScript. И если в большинстве браузеров можно обойтись без JS, то применять JS имеет смысл только в оставшихся.Firefox 4 уже умеет удалять Flash Cookie вместе с остальными cookies.