Как поместить класс CSS внутри класса CSS? - PullRequest
4 голосов
/ 21 декабря 2009
.mac{margin-left:auto; margin-right:auto;}

.table{.mac; color:red;}

Я хочу быть в состоянии сделать это, для меня не имеет смысла, почему я должен сделать:

.table{margin-left:auto; margin-right:auto; color:red;}

Я знаю для таблицы, которую я мог бы сделать:

<table class="table mac">

или просто наберите .table{margin-left:auto; margin-right; color;}, как указано выше, но это кажется излишним.

Есть ли какой-нибудь способ сделать то, что я пытаюсь выполнить в моем первом утверждении, есть какой-то особый синтаксис, о котором я не знаю, чтобы заставить эту работу?

Ответы [ 4 ]

8 голосов
/ 21 декабря 2009

Вы можете объединить несколько селекторов CSS в одной строке с запятой:

.mac, .table
{
    margin-left:auto;
    margin-right:auto;
}

.table
{
    color:red;
}
5 голосов
/ 21 декабря 2009

Короткий ответ - нет, вы не можете «включить» другие классы CSS или, так сказать, «наследовать» их.

Однако есть инструменты, которые вы можете использовать для абстрагирования подобных вещей. МЕНЬШЕ приходит на ум. Я думаю, что "миксин" - это то, что вы ищете.

Вот пример кода с главной страницы МЕНЬШЕГО:


.rounded_corners (@radius: 5px) {
  -moz-border-radius: @radius;
  -webkit-border-radius: @radius;
  border-radius: @radius;
}

#header {
  .rounded_corners;
}

#footer {
  .rounded_corners(10px);
}
2 голосов
/ 21 декабря 2009
.table, .mac {margin-left:auto; margin-right:auto;}
.table {color:red;}
0 голосов
/ 21 декабря 2009

Я зависит от того, что ты хочешь сделать. в твоем случае: - если вы хотите использовать таблицу CLASS, вы можете использовать .table - для CLASS Mac вы можете использовать .mac -и да. Вы можете комбинировать их с запятой: .table, .mac - обычно используется, если вы используете одинаковый стиль для обоих классов.

НО - если вы хотите поместить стиль в КЛАСС .mac, который находится в таблице, тогда это поможет вам:

table .mac{} - обратите внимание, что я не использовал запятую, просто пробел ... таким образом, вы определяете CLASS .mac внутри таблицы ... но не CLASS .mac, который находится вне таблицы

удачи

...