CSS 将表格重置为默认等效项

问题描述 投票:0回答:1

我正在使用一个预先制作的购买模板,该模板的作者以这样一种方式将东西连接在一起,有时几乎不可能按照你想要的方式得到一些东西,在这种情况下,我有一个我正在尝试的桌子放入模板的一部分,我不需要或不希望按照模板的方式进行样式设置。然而,由于他们的做法,我不能只是改变 CSS 来做其他事情。我尝试过将桌子归类为其他东西,并按照我想要的方式设计它,但总有一些东西会被卡在某个地方,而作者的风格仍然保留在桌子的一块或另一块上。因此,我想到了这个想法,为什么不进行类似特定于表的类的重置,我可以首先在元素上调用此类,然后在我希望其样式化的类下进行样式设置,例如:

class="reset_table mynew_style"

所以我试图想出一种方法来做到这一点,但我陷入困境。

.reset_table, 
.reset_table table tr,
.reset_table tr td,
.reset_table table tbody,
.reset_table table thead,
.reset_table table tfoot,
.reset_table table tr th,
.reset_table table tfoot tr tf
{
    margin:0;
    padding:0;
    background:none;
    border:none;
    border-collapse:collapse;
    border-spacing:0;
    background-image:none;
}

现在这似乎几乎完全有效,但仍然存在一些问题。所以我希望这里有人能帮助我想出一个更好的变体。因此,从尝试将表格重置回正常默认样式的意义上来说,所有基础都已涵盖。

html css css-tables
1个回答
24
投票

这是一个旧线程,但如果这对其他人有帮助:

.clear-user-agent-styles table,
.clear-user-agent-styles thead,
.clear-user-agent-styles tbody,
.clear-user-agent-styles tfoot,
.clear-user-agent-styles tr,
.clear-user-agent-styles th,
.clear-user-agent-styles td {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: none;
    border-collapse: inherit;
    border-spacing: 0;
    border-color: inherit;
    vertical-align: inherit;
    text-align: left;
    font-weight: inherit;
    -webkit-border-horizontal-spacing: 0;
    -webkit-border-vertical-spacing: 0;
}
.clear-user-agent-styles th,
.clear-user-agent-styles td {
    display: inline;
}

如果它仍然没有覆盖其他开发风格,请确保在他们的代码之后有此代码,或者通过包含父类甚至 ID(如果需要)来更具体。尝试避免将 !important 附加到每个属性值的末尾,但这很可能会胜过之前编码的内容。

© www.soinside.com 2019 - 2024. All rights reserved.