2016-10-11 5 views
0

Я создаю виджет чата, и я хочу перезаписать кучу CSS. Например, если это CSS на веб-сайте ТЕМЫ:Перезаписать несколько правил css

textarea { 
    color: red; 
    margin: 10px; 
} 

и если стиль мой виджет как:

textarea { 
    padding: 5px; 
} 

только тогда CSS моего виджета должен работать. Тем не менее, он добавляет оба CSS в textarea по умолчанию - как я могу предотвратить добавление CSS CSS сайта?

+3

simple: поместите свой чат в iframe, который может иметь свой собственный полностью независимый css, потому что это буквально полностью отдельный документ, который отображается в другом. –

+0

Вы можете сбросить все элементы в виджетах чата с такими правилами, как .chat-widget * {margin: 0; заполнение: 0; color: black;} затем создайте стили для каждого элемента, например. textarea {padding: 5px; }. На мой взгляд, iframe может быть не лучшим решением. Ифрагмы могут быть проблематичными для правильной оценки размера, а взаимодействие между iframe'd и non iframe'd частями страницы может быть затруднено. – Davey

ответ

2

Как заявил Марк В, вы можете поместить свой чат в iframe, и в этом случае у вас может быть своя отдельная таблица стилей.

Если вы должны использовать его в линию, то вы можете использовать all CSS свойство дезактивировать, что было установлено в другом месте:

Widget CSS:

textarea { 
    all: unset; 
    padding: 5px; 
} 

Кроме того, как указано в комментариях других , лучший способ - создать различные классы для текстовой области и использовать их там, где это необходимо, например:

textarea.main { 
    color: red; 
    margin: 10px; 
} 

и если стиль мой виджет как:

textarea.chat { 
    padding: 5px; 
} 

И затем использовать

<textarea class="main"> 

или

<textarea class="chat"> 

в зависимости от того, что вам нужно.

-1

Ну, я думаю, это действительно легко написать! Важно для всех ваших правил css. Просто замените ";" с "! important", если это простой способ для вас ИЛИ если вы действительно хотите изменить, то вы можете использовать iframe на самом деле

+0

'! Important' - ужасная вещь. Когда он используется в сложных файлах CSS, он делает вещи практически неуправляемыми. Посмотрите на этот вопрос: http://stackoverflow.com/questions/3427766/should-i-avoid-using-important-in-css –

+0

Я просто сказал, что если вам будет легко, вы тоже можете использовать iframe. –

+0

И я сказал, что это легко, но очень плохо. –