【发布时间】:2015-04-15 00:36:09
【问题描述】:
有 3 个表:#table1、#table2和#table3。
有没有办法在不使用 css 类的情况下为所有 3 个表格指定样式?
例如,我们可以组合以下选择器:
#table1 tbody td a, #table2 tbody td a, #table3 tbody td a {
/* rules here */
}
变成类似:
(#table1, #table2, #table3) tbody td a {
/* rules here */
}
【问题讨论】:
-
使用纯 CSS 可以获得的最佳效果是
#table1 a,#table2 a,#table3 a,尽管这并不是 100% 等价于您所拥有的。 -
如果您只想在源代码中编写短选择器并且不介意生产代码中的长选择器,请尝试 SASS。你可以写嵌套选择器
#table, #table, #table { tbody td a { /* style */ } } -
为了扩展@rzr 的建议,几乎any CSS 预处理器都可以轻松处理这个问题。如果这是您经常需要的功能,我会研究预处理器。但是,考虑到您不想使用类,我会假设预处理器的开销比您要寻找的要多:P
-
昨天有人问过这个问题:stackoverflow.com/questions/29502927/…,但鉴于这三个 ID 似乎有一些共同点,因此那里的欺骗目标在这种情况下并不是特别有用。
-
如果可以的话,我会推荐使用 class 而不是 ID。即
<table class="table table1">、<table class="table table2">和这样的css.table {}用于共享规则,.table1 {}、.table2 {}用于单个规则。虽然这并不能真正回答你的问题。
标签: css css-selectors