it-swarm.com.ru

Bootstrap таблица без полосы / границ

Я вроде застрял с проблемой CSS при использовании Bootstrap. Я также использую 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;
}

Итак, здесь я хочу только внутренние границы.

167
Romain

Стиль границы устанавливается для элементов td.

hTML:

<table class='table borderless'>

cSS:

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

Update: Начиная с Bootstrap 4.1 вы можете использовать .table-borderless для удаления границы.

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

238
Brett Henderson

При использовании Bootstrap 3.2.0 у меня возникла проблема с решением Бретта Хендерсона (границы были всегда), поэтому я улучшил его:

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;
}
314
Davide Pastore

похож на остальные, но более конкретно:

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

Не добавляйте класс .table в свой тег <table>. Из документов Bootstrap на таблицы :

Для базового стиля - легкое заполнение и только горизонтальные разделители - добавьте базовый класс .table к любому <table>. Это может показаться излишним, но, учитывая широкое использование таблиц для других плагинов, таких как календари и средства выбора даты, мы решили изолировать наши пользовательские стили таблиц.

17
Martin Bean

Начиная с Bootstrap v4.1 вы можете добавить table-borderless к вашей таблице, см. официальная документация :

<table class='table table-borderless'>
6
Max

В моем CSS:

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

В моей директиве:

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

Я не поставил «без полей» для элемента td.

Проверено, и это сработало! Все границы и отступы полностью удалены.

5
Daniel C. Deng

Я расширил стили таблицы Bootstrap, как это сделал Davide Pastore, но с помощью этого метода стили также применяются ко всем дочерним таблицам и не применяются к нижнему колонтитулу.

Лучшим решением было бы имитировать основные стили таблицы 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'>, будет ограничена только конкретная таблица с классом, а не любая таблица в дереве.

4
shellco

Попробуй это:

<table class='borderless'>

CSS

.borderless {
 border:none;
}

Примечание. То, что вы делали раньше, не работало, потому что ваш код CSS был нацелен на таблицу в вашей таблице .borderless (которая, вероятно, не существовала) 

3
Danield

Используйте класс border- из Bootstrap 4

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

или же

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

Не забудьте завершить ввод класса последним изменением, которое вы хотите сделать.

2
Steffo Dimfelt

Я знаю, что это старая ветка, и вы выбрали ответ, но я решил опубликовать его, так как он актуален для всех, кто сейчас ищет.

Нет смысла создавать новые правила CSS, просто отмените текущие правила, и границы исчезнут.

 .table> TBODY> тр> й, 
 .table> tbody> tr> td {
 border-top: 0; 
 } 

идти вперед, что-нибудь в стиле

 .Таблица

не покажет границ.

2
Don Escobar

Я опаздываю к игре здесь, но FWIW: добавление .table-bordered к .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
fnostro

Используйте hidden вместо none:

.hide-bottom {
    border-bottom-style: hidden;
}
1
dev pro

Большинство примеров кажутся слишком конкретными и/или раздутыми.

Вот мое урезанное решение с использованием Bootstrap 4.0.0 (4.1 включает .table-borderless, но все еще альфа) ...

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

Похожи на многие предлагаемые решения, но минимальные байты ????

Примечание: Закончилось здесь, потому что я просматривал ссылки на BS4.1 и не мог понять, почему .table-borderless не работал с моими источниками 4.0 (например: error error, duh) ????

0
Mavelo