Tabla Bootstrap sin rayas / bordes


Estoy un poco atascado con un problema CSS mientras uso Bootstrap. También estoy usando Angular JS con Angular UI.bootstrap (que podría ser parte del problema).

Estoy creando un sitio web que muestra datos en una tabla. En algún momento, los datos contienen objeto que tengo que mostrar en tablas. Así que quiero poner tablas sin bordes dentro de una tabla normal mientras se mantiene dentro de las líneas de separación para las tablas sin bordes.

Pero parece que incluso si digo específicamente para no mostrar las fronteras en un tabla, se fuerza:

HTML:

<table class='table borderless'>

CSS:

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

Así que aquí, lo que quiero son solo las fronteras interiores.

Author: ROMANIA_engineer, 2013-08-06

14 answers

El estilo de borde se establece en los elementos td.

Html:

<table class='table borderless'>

Css:

.borderless td, .borderless th {
    border: none;
}
 206
Author: Brett Henderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-05 05:31:16

Usando Bootstrap 3.2.0 tuve problemas con la solución de Brett Henderson (las fronteras siempre estaban ahí), así que la mejoré:

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;
}
 301
Author: Davide Pastore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-08 14:50:09

Similar al resto, pero más específico:

    table.borderless td,table.borderless th{
     border: none !important;
}
 22
Author: Sam Jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-24 16:03:44

No agregue la clase .table a su etiqueta <table>. Desde los documentos de Bootstrap en tablas :

Para el estilo básico-relleno ligero y solo divisores horizontales-agregue la clase base .table a cualquier <table>. Puede parecer super redundante, pero dado el uso generalizado de tablas para otros complementos como calendarios y selectores de fecha, hemos optado por aislar nuestros estilos de tabla personalizados.

 16
Author: Martin Bean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-06 09:11:06

En mi CSS:

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

En mi directiva:

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

No puse el 'borderless' para el elemento td.

Probado y funcionó! Todos los bordes y rellenos están completamente despojados.

 5
Author: Daniel C. Deng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-17 00:32:58

Desde Bootstrap v4.1 puede agregar table-borderless a su tabla, consulte documentación oficial:

<table class='table table-borderless'>
 5
Author: Max,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-28 20:07:53

Prueba esto:

<table class='borderless'>

CSS

.borderless {
 border:none;
}

Nota: Lo que estaba haciendo antes no funcionaba porque su código css estaba dirigido a una tabla dentro de su .tabla sin bordes (que probablemente no existía)

 3
Author: Danield,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-06 09:09:00

Expandí los estilos de tabla Bootstrap como lo hizo Davide Pastore, pero con ese método los estilos también se aplican a todas las tablas secundarias, y no se aplican al pie de página.

Una mejor solución sería imitar los estilos de tabla core Bootstrap, pero con su nueva clase:

.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;
}

Entonces cuando se usa <table class='table table-borderless'> solo la tabla específica con la clase será bordeada, no cualquier tabla en el árbol.

 3
Author: shellco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-04 04:52:54

Sé que este es un hilo viejo y que has elegido una respuesta, pero pensé en publicar esto, ya que es relevante para cualquier otra persona que esté buscando actualmente.

No hay razón para crear nuevas reglas CSS, simplemente deshaga las reglas actuales y los bordes desaparecerán.


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

En el futuro, cualquier cosa con estilo

    .table

No mostrará fronteras.

 1
Author: Don Escobar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-29 21:53:41

Llego tarde al juego aquí, pero FWIW: agregar .table-bordered a un .table solo envuelve la tabla con un borde, aunque agregando un borde completo a cada celda.

Pero la eliminación de .table-bordered todavía deja las líneas de la regla. Es una cuestión semántica, pero de acuerdo con la nomenclatura BS3+ he utilizado este conjunto de anulaciones:

.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
Author: fnostro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-28 18:06:12

Use hidden en lugar de none:

.hide-bottom {
    border-bottom-style: hidden;
}
 1
Author: dev pro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-04 14:04:48

Utilice la clase border- de Boostrap 4

<td class="border-0"></td>

O

<table class='table border-0'></table>

Asegúrese de terminar la entrada de clase con el último cambio que desee hacer.

 1
Author: Steffo Dimfelt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-12 07:48:52

La mayoría de los ejemplos parecen ser demasiado específicos y/o hinchados.

Aquí estaba mi solución recortada usando Bootstrap 4.0.0 (4.1 incluye .table-borderless pero sigue siendo alfa)...

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

Similar a muchas soluciones propuestas, pero con un mínimo de bytes

Nota: Terminé aquí porque estaba viendo referencias BS4.1 y no podía averiguar por qué .table-borderless no estaba trabajando con mis fuentes 4.0 (por ejemplo: error de operador, duh)

 0
Author: Mavelo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-29 15:55:09

Este funcionó para mí.

<td style="border-top: none;">;

La clave es que necesita agregar border-top a <td>

 -1
Author: Used Cars,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-25 21:02:22