我有点卡住了CSS的问题,而使用Bootstrap。我也使用Angular JS和Angular UI。引导(这可能是问题的一部分)。

我正在做一个以表格形式显示数据的网站。 有时,数据包含我必须在表中显示的对象。 我想把无界表放到普通表中,同时为无界表保留分隔线。

但似乎即使我明确地说不要在表格上显示边界,它也是被迫的:

HTML:

<table class='table borderless'>

CSS:

.borderless table {
    border-top-style: none;
    border-left-style: none;
    border-right-style: none;
    border-bottom-style: none;
}

这里,我想要的只是内部边界。


当前回答

在我的CSS:

.borderless tr td {
    border: none !important;
    padding: 0px !important;
}

在我的指示中:

<table class='table borderless'>
    <tr class='borderless' ....>

我没有把'borderless'放在td元素上。

测试并成功了! 所有的边框和衬垫都被完全剥离。

其他回答

我的解决方案是:

<table width=“100%”边框=“0”> < tr排列=‘中心’> < td > Data1 < / td > < td > < / td >数据 < / tr > - < table >

使用Bootstrap 3.2.0我有Brett Henderson解决方案的问题(边界总是在那里),所以我改进了它:

HTML

<table class="table table-borderless">

CSS

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
    border: none;
}

边界样式设置在td元素上。

html:

<table class='table borderless'>

css:

.borderless td, .borderless th {
    border: none;
}

更新:从Bootstrap 4.1开始,你可以使用.table-borderless来删除边框。

https://getbootstrap.com/docs/4.1/content/tables/#borderless-table

我像Davide Pastore一样扩展了Bootstrap表样式,但是使用这种方法,样式也应用于所有子表,并且它们不应用于页脚。

一个更好的解决方案是模仿Bootstrap表的核心样式,但是用你的新类:

.table-borderless>thead>tr>th
.table-borderless>thead>tr>td
.table-borderless>tbody>tr>th
.table-borderless>tbody>tr>td
.table-borderless>tfoot>tr>th
.table-borderless>tfoot>tr>td {
    border: none;
}

然后,当你使用<table class='table table-borderless'>时,只有具有该类的特定表才会被边框,而不是树中的任何表。

我知道这是一个旧的帖子,你已经选择了一个答案,但我想我张贴这个,因为它与目前正在寻找的任何人相关。

没有理由创建新的CSS规则,只要撤销当前的规则,边界就会消失。


    .table>tbody>tr>th,
    .table>tbody>tr>td {
        border-top: 0;
    }

未来,任何有风格的东西

    .table

将没有边界。