Вопрос по css – Импортировать стили селектора CSS в другой селектор? (НЕ @import)

5

Есть ли способ импортировать стили одного CSS-селектора в другой CSS-селектор и добавить к нему или переписать свойства из него.

Скажем так:

.original_class{
background:black;
color:white;
}
.overwrite{
@import(.original_class); /* I know this doesn't work */
color:blue;
border:1px solid green;
}

Я могу сделать это, просто изменив выделение класса .original_class и назначив новые значения (поскольку стили CSS переписываются сверху вниз), но это заменит атрибуты исходного класса CSS. Я хочу унаследовать его свойства в другом классе без необходимости их повторной записи (дубликат).

Ваш Ответ

4   ответа
0

без одной из тех причудливых плагинов CSS, которые я бы не коснулся полюсом длиной в милю ...

Конечно, ничто не мешает иметь несколько классов на одном элементе.

Размышляешь над тем, что не будет касаться? Jan Hančič
Я вообще не одобряю рамки. Я пишу все свои HTML, CSS, JavaScript и PHP вручную, и когда что-то идет не так, я очень хорошо вооружен, чтобы это исправить. Niet the Dark Absol
Ну, у меня нет ничего, кроме хорошего опыта с препроцессорами CSS (или "плагинов", как вы их называете). Это сэкономило мне МНОГО времени на разработку и сделало мой CSS намного проще в обслуживании, это даже не смешно. Но каждому свое .. Jan Hančič
3

Вы можете сделать что-то подобное в своем HTML:

<div class="original_class overwrite">...</div>

Это будет иметь тот же эффект, но вам придется делать это для каждого элемента, который вы хотите стилизовать таким образом.

Существует также возможность использования препроцессора CSS, например, SASS, который поддерживает наследование / mixins.

2

Вы можете добавить.overwrite селектор к первому правилу, отделяя его от существующего селектора запятой группировка селекторов), поэтому правило селектора становится.original_class, .overwrite:

.original_class,
.overwrite {
background: black;
color: white;
}
.overwrite {
color: blue;
border: 1px solid green;
}

Также, когда ты пишешь:

это заменит атрибуты исходного класса CSS

В CSS нет такой вещи, как атрибуты и класс, не с предполагаемым значением ООП, я думаю. Здесь есть правила, правила селектора (для выбора HTML-идентификатора, классов, элементов, атрибутов и других псевдо), объявления, свойства и значения.

0

эт это что-то для тебя.

Похожие вопросы