DOM CSS Cross Browser Library - PullRequest
       2

DOM CSS Cross Browser Library

0 голосов
/ 03 августа 2010

Я обычно работаю с jQuery, который снимает большую часть межбраузерной боли (хотя, к сожалению, не все).Тем не менее, похоже, что он не поддерживает манипуляции с CSS DOM, и это все еще похоже на минное поле - QuirksMode содержит некоторую информацию.

Наше приложение позволяетпользователи могут расширять темы своего сайта, создавая таблицу стилей CSS с выбранными цветами.Это довольно просто, но я бы хотел, чтобы они «просмотрели» его, применив изменения непосредственно к CSS DOM, прежде чем они сохранят его обратно в базу данных и сгенерируют файл CSS.

Кто-нибудь знаетбиблиотеки, которая облегчит кросс-браузерную манипуляцию CSS DOM?Просто для ясности, я не пытаюсь изменить правила CSS для элемента или набора элементов (например, с помощью $ .css ()) или добавить / удалить классы.Я хотел бы изменить таблицы стилей напрямую.

Ответы [ 4 ]

1 голос
/ 03 августа 2010

Я настоятельно рекомендую утилиту YUI для таблиц стилей .Я не видел никаких других библиотек с таким большим количеством функций или таким чистым интерфейсом.

0 голосов
/ 03 августа 2010

Лучший и самый простой способ - это создать файл .jsp .php или любой другой, который вы используете, который принимает параметры цвета, что, в свою очередь, обеспечивает вывод .css с заменой цветов.

Используйте JavaScript, чтобы сделать запрос с параметрами цвета и добавить скрипт css на страницу.

Возможно сделать это непосредственно на объекте styleSheet, хотя это займет больше времени и создаст больше обслуживания. Каждый раз, когда вы хотите изменить свою пользовательскую таблицу стилей, которую вы фактически используете для производства, вы также должны будете изменить предварительную версию. Ergo расхождения будут возникать.

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

0 голосов
/ 03 августа 2010

Может быть, вы должны попробовать что-то вроде:

document.styleSheets[0].disabled = true;

Это отключило первую таблицу стилей текущей страницы. Возможно, если вы поиграете с этим, вы сможете решить свою проблему.

0 голосов
/ 03 августа 2010

Не могли бы вы просто добавить или заменить элемент <style> в DOM основного документа и заполнить его сгенерированным CSS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...