由于评论,我补充说.vmiddle, .vmiddle td, .vmiddle th
这在我的情况下不起作用,因为我使用的是引导程序,它定义.table thead > tr > th, .table tbody > tr > th, .table tfoot > tr > th, .table thead > tr > td, .table tbody > tr > td, .table tfoot > tr > td
为 vertical-align: top;
优先。
我想执行这个 css:
.vmiddle,
table.vmiddle thead tr td,
table.vmiddle tfoot tr td,
table.vmiddle tbody tr td,
table.vmiddle thead tr th,
table.vmiddle tfoot tr th,
table.vmiddle tbody tr th,
table thead.vmiddle tr td,
table tbody.vmiddle tr td,
table tfoot.vmiddle tr td,
table thead.vmiddle tr th,
table tbody.vmiddle tr th,
table tfoot.vmiddle tr th,
table thead tr.vmiddle td,
table tbody tr.vmiddle td,
table tfoot tr.vmiddle td,
table thead tr.vmiddle th,
table tbody tr.vmiddle th,
table tfoot tr.vmiddle th,
table thead tr td.vmiddle,
table thead tr th.vmiddle,
table tbody tr td.vmiddle,
table tbody tr th.vmiddle,
table tfoot tr td.vmiddle,
table tfoot tr th.vmiddle {
vertical-align: middle;
}
不知何故,我让它与这个规则一起工作:
.vmiddle {
vertical-align:middle;
& {
table& {
& thead , tfoot, tbody {
tr, {
td, th {
vertical-align: middle;
}
}
}
}
thead&, tbody&, tfoot& {
table & {
tr {
td, th {
vertical-align: middle;
}
}
}
}
tr& {
thead &, tbody &, tfoot & {
table & {
td, th {
vertical-align: middle;
}
}
}
}
td&, th& {
tr & {
thead &, tbody &, tfoot & {
table & {
vertical-align: middle;
}
}
}
}
}
}
但看起来实际上比标准解决方案更复杂:D 有没有更短的方法可以做到这一点并且没有定义 vertical-align:middle 5 次?