引导表无条纹/边框


190

使用Bootstrap时,我有点陷入CSS问题。我还将Angular JS与Angular UI.bootstrap一起使用(这可能是问题的一部分)。

我正在建立一个在表格中显示数据的网站。有时,数据包含我必须在表中显示的对象。因此,我想将无边界表放在普通表中,同时将无边界表的分隔线保留在内部。

但是,即使我明确地说不要在桌子上显示边框,也似乎是强制性的:

HTML:

<table class='table borderless'>

CSS:

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

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


1
您正在使用哪个版本的Bootstrap?
马丁·比恩

2
我正在使用bootstrap 2.3.1
Romain

使用引导程序4:.borderless tr td,.borderless tr th {border:无;}
Yevhenii Shashkov

Answers:


284

边框样式设置在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


11
注意:您还应该添加.borderless th,因为Bootstrap样式也适用<th>
本杰明

11
如果您使用的是Bootstrap 3,请检查我的答案
Davide Pastore14年

42
我必须添加边框:无!重要;使它工作。
Srikanth Jeeva

@SrikanthJeeva ..或您只需在的行中添加css样式style=,或将其放入自定义文件中,并确保其加载时间比Bootstrap css文件晚,以覆盖Bootstrap默认样式。CSS加载了命令;后者覆盖前者,越具体的覆盖越广泛。
WesternGun

1
对于boostrap> 4.1,请<table class='table table-borderless'>按照以下最高使用量

339

使用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;
}

2
不要忘记th体内的-element :(.borderless tbody tr th示例中所用
Wietse

2
@DavidePastore如果这仅用于表,则可以为它加上前缀.table-,如Bootstrap 3对于其他与表相关的类(例如table-striped,等等)所做的那样。所以名字会是table-borderless
arogachev

1
适用于v4.0.0-alpha.2。谢谢!
Dominofoe

在添加.table-borderless,到此样式说明的开头之前,我仍然在表格底部获得边框。
克里斯托弗·金

table-borderless在此文档中没有看到getbootstrap.com/docs/3.3/css/#tables。它来自哪里?
奥雅纳·拉希特

24

与其余类似,但更具体:

    table.borderless td,table.borderless th{
     border: none !important;
}

您不需要使用.table.borderless就很重要
不会被人所爱

@Sam Jones-这会影响整个桌子吗?我希望某些行具有底部边框。我希望边界一去不复返。
MarcoZen

重要!非常重要
FLICKER

18

不要将.table类添加到<table>标签中。从上的Bootstrap文档:

对于基本样式(浅色填充和仅水平分隔线),将基类添加.table到any <table>。看起来似乎是多余的,但是鉴于表格在其他插件(如日历和日期选择器)中的广泛使用,我们选择隔离自定义表格样式。


即使这样:html:<table class ='borderless'> css:.borderless {border:none; }它不起作用。
罗曼(Romain)2013年

2
我建议在Chrome中使用Web检查,然后,看到正被应用于任何边界的地方,因为默认情况下使用表引导与像日期选择器等其他组件的互操作性时,没有边框
马丁豆

6
这很好用,我只是在使用'table-condensed'和其他变体而没有'table'类,因此摆脱了边界。很棒的提示,因为文档把我扔到了那里。
chrismacp 2014年

9

从Bootstrap v4.1开始,您可以添加table-borderless到表中,请参阅官方文档

<table class='table table-borderless'>

5

在我的CSS中:

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

在我的指令中:

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

我没有在td元素中添加“无边界”。

经过测试,它起作用了!所有边框和填充物都被完全剥去。


4

我像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'>仅使用具有该类的特定表时,将带有边框,而不是树中的任何表。


3

试试这个:

<table class='borderless'>

的CSS

.borderless {
 border:none;
}

注意:您之前所做的操作无法正常工作,因为您的css代码针对的是.borderless表(可能不存在)中的表


3

我知道这是一个老话题,您已经选择了一个答案,但是我认为我应该发布此答案,因为它与当前正在寻找的其他任何人有关。

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

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

展望未来,任何带有

    。表

将没有边框。




1

我在这里玩游戏迟到了,但FWIW:添加.table-bordered到Just .table中会用边框包裹表格,尽管会在每个单元格上添加完整的边框。

但是删除.table-bordered仍然会留下规则线。这是一个语义问题,但是为了与BS3 +术语保持一致,我使用了这组替代:

.table.table-unruled>tbody>tr>td,
.table.table-unruled>tbody>tr>th {
  border-top: 0 none transparent;
  border-bottom: 0 none transparent;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<div class="container">
  <div class="row">
    <div class="col-xs-5">
      .table
      <table class="table">
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
    <div class="col-xs-5 col-xs-offset-1">
      <table class="table table-bordered">
        .table .table-bordered
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
  </div>

  <div class="row">
    <div class="col-xs-5">
      <table class="table table-unruled">
        .table .table-unruled
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
    <div class="col-xs-5 col-xs-offset-1">
      <table class="table table-bordered table-unruled">
        .table .table-bordered .table-unruled
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
  </div>

</div>



1

大多数示例似乎过于具体和/或过大。

这是我使用Bootstrap 4.0.0(4.1包含.table-borderless但仍为alpha)精简的解决方案...

.table-borderless th{border:0;}
.table-borderless td{border:0;}

与许多建议的解决方案相似,但字节数最少

注意:由于我正在查看BS4.1参考并且无法弄清楚为什么.table-borderless不能使用我的4.0源(例如:operator error,duh),所以到这里结束了。


更正:4.1不是Alpha。假设这是因为我没有使用该版本🤣
Mavelo

1

在某些情况下,还必须在表类中使用border-spacing,例如:

边框间距:0!重要;


0

使用npm或CDN链接安装引导程序

<table class="table table-borderless">
<thead>
<tr>
  <th scope="col">#</th>
  <th scope="col">First</th>
  <th scope="col">Last</th>
  <th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
  <th scope="row">1</th>
  <td>Mark</td>
  <td>Otto</td>
  <td>@mdo</td>
</tr>
<tr>
  <th scope="row">2</th>
  <td>Jacob</td>
  <td>Thornton</td>
  <td>@fat</td>
  </tr>
  <tr>
  <th scope="row">3</th>
    <td colspan="2">Larry the Bird</td>
    <td>@twitter</td>
   </tr>
 </tbody>
</table>

通过此链接获取参考

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.