2017-01-08 2 views
0

У меня есть следующие стили:CSS лучший способ установить пользовательские модификации CSS

.alert { 
    position: relative; 
    border: 0; 
} 

.modal .modal-dialog .modal-content { 
    border-radius: 6px; 
    padding: 20px 20px 0 20px; 
} 

Это относится к:

<div class="modal"></div> 

Я хочу иметь различный стиль что-то вроде этого:

<div class="modal alert"></div> 

Но я не хочу, чтобы .alert применялся, потому что этот стиль предназначен для других элементов.

Я делаю это:

.modal .alert .modal-dialog .modal-content { 
    border-radius: 15px; 
    background-color: #F3F3F3; 
    padding: 0px 10px 0 5px; 
} 

Но я получаю .alert применен стиль.

Любые подсказки?

+0

использования '.modal.alert .modal-диалог .modal-контента {' - обратите внимание, что нет пространства между '' modal' и alert' ... – kukkuz

+2

должно быть ' .modal.alert' я верю, когда вы вызываете контейнер с классом 2 –

+0

Просто обновите мой вопрос, я чего-то упустил. – VAAA

ответ

1

Если вы хотите .modal.alert не наследуют стили .alert, то вы должны указать его в определении .alert стиль:

.alert:not(.modal) { 
    position: relative; 
    border: 0; 
} 

Как @cale_b комментарии, лучше назначить другое имя класса .modal.alert, так что вам не нужно включать селектор :not().

Например: <div class="modal modal_alert"></div>

+0

Это правильно, но по моему опыту это может стать беспорядочным. Я думаю, что OP, возможно, потребуется переосмыслить архитектуру стиля/класса. –

+0

Вы правы @cale_b, ответьте на обновления. – Alvaro

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