2014-02-15 2 views
0

Я создаю webapp, который другие могут вставлять на свой веб-сайт. Часть этого Webapp создает диалоги, которые имеют свои собственные таблицы стилей. Проблема может возникнуть, если, например, мой контейнер диалога находится в классе .container, а на веб-сайте, на котором установлено приложение, также используется .container для некоторых других средств.Предотвращение конфликтов CSS в webapps

Я рассмотрел переименование всех моих классов, как .appname-container, и сделает это, если другого решения нет. Тем не менее, я хотел бы быть максимально ленивым. Есть ли более простой способ предотвратить непредвиденные конфликты со стилями, на которые я не могу контролировать?

Редактировать: Мой WebApp заворачивается вокруг <video> элемента, так что я не уверен, что s может быть использован.

+0

Лучший ответ на ваш вопрос. Я бы точно соблюдал технику префикса appname. –

ответ

1

iframe - единственный способ избежать конфликтов с существующими приложениями. Расстояние между вашими CSS очень велико, чтобы избежать создания стиля в другом месте, но без рамки, существующие стили, скорее всего, повлияют на ваш контент. Если содержание просто, вы, вероятно, можете уйти с некоторыми возвратами

+0

Могу ли я генерировать iframe на лету и записывать в него данные диалога, а не ссылаться на iframe на моем сервере? –

+0

Я не знаю, как клиенты будут внедрять ваш контент для начала, вы можете создавать элементы iframe, но добавлять контент без какого-либо реального источника может быть невозможно. Я знаю, что 'about: blank' должен работать, но я не знаю, как браузеры будут рассматривать это как документ. Лучше всего генерировать iframe или предоставлять источник iframe для ваших клиентов и иметь доступ к странице на вашем конце – helion3

1

Для дальнейшего использования, мы в конечном итоге иметь возможность использовать свойство CSS3 all для этого:

http://www.w3.org/TR/css3-cascade/#all-shorthand

К сожалению, это Безразлично» t, похоже, готов к использованию. (Я еще не нашел его в Каниусе.)

Смежные вопросы