Таблиця завантаження без смуг / меж


191

Я якось застряг із проблемою 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;
}

Тож ось що я хочу - це лише внутрішні кордони.


1
Яку версію Bootstrap ви використовуєте?
Мартін Бін

2
Я використовую завантажувальну версію 2.3.1
Romain

with bootstrap 4: .borderless tr td, .borderless tr th {border: none;}
Євгеній Шашков

Відповіді:


286

Стиль облямування встановлюється на 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, оскільки стосується <th>також стилю Bootstrap .
Бенджамін

11
Якщо ви використовуєте Bootstrap 3, перевірте мою відповідь .
Davide Pastore

42
Мені довелося додати межу: жодне! Важливо; щоб змусити його працювати.
Srikanth Jeeva

@SrikanthJeeva .. або ви просто додаєте стиль css у відповідність style=або вкладаєте його в налаштований файл і гарантуєте, що він завантажується пізніше, ніж файл css Bootstrap , щоб змінити стиль за замовчуванням Bootstrap. CSS завантажуються з замовленням; останній перезаписує перший, тим конкретніше переписує більш загальні.
WesternGun

1
Для завантаження> 4,1 використання <table class='table table-borderless'>на Макс нижче
гробниця

339

Використовуючи 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;
}

2
Не забувайте про thелемент в організмі: .borderless tbody tr th(як це використовується в прикладах )
Wietse

2
@DavidePastore Якщо це лише для таблиць, можливо, приставте її до цього .table-, як це робить Bootstrap 3 для інших класів, пов'язаних з таблицею (наприклад table-striped, тощо). Так буде ім'я table-borderless.
arogachev

1
Працює для v4.0.0-alpha.2. Дякую!
Домінофое

Я все ще отримував облямівку внизу таблиці, поки не додав .table-borderless,до початку цієї специфікації стилю.
Крістофер Кінг

Я не бачу table-borderlessв цьому документі getbootstrap.com/docs/3.3/css/#tables . Звідки воно прийшло?
Arup Rakshit

24

подібний до решти, але більш конкретний:

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

Вам не потрібно мати важливе значення з .table.borderless
Не любив

@Sam Jones - Це впливає на всю таблицю? Я хочу, щоб деякі рядки мали нижню межу. Я хочу, щоб кордон пішов.
MarcoZen

важливо! дуже важливо
FLICKER

18

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

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


Навіть так: html: <table class = 'borderless'> css: .borderless {border: none; } Це не працює.
Ромен

2
Тоді я б запропонував використати веб-інспектор у Chrome і побачити, де застосовуються будь-які межі, оскільки таблиці за замовчуванням не мають меж при використанні Bootstrap для сумісності з іншими компонентами, такими як інструменти вибору дати тощо
Martin Bean

6
Це спрацювало чудово, я просто використовував 'table-condensed' та інші варіанти без класу 'table' і позбувся кордонів. Чудова порада, коли документи трохи закинули мене туди.
chrismacp


5

У моєму CSS:

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

У моїй директиві:

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

Я не поставив "без полів" для елемента td.

Випробували і це спрацювало! Всі бордюри та прокладки повністю відірвані.


4

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


3

Спробуйте це:

<table class='borderless'>

CSS

.borderless {
 border:none;
}

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


3

Я знаю, що це стара тема, і ви вибрали відповідь, але я подумав, що опублікую це, як це актуально для всіх інших, хто зараз шукає.

Немає підстав створювати нові правила CSS, просто скасуйте поточні правила, і межі зникнуть.

    .table> tbody> tr> й,
    .table> tbody> tr> td {
        прикордонний верх: 0;
    }

рухаючись вперед, з чим би то не було

    .таблиця

не покаже меж.


2

Використовуйте border-клас з Boostrap 4

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

або

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

Не забудьте закінчити введення класу останньою зміною, яку ви хочете зробити.



1

Я запізнююсь на грі тут, але 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

Використовуйте hiddenзамість none:

.hide-bottom {
    border-bottom-style: hidden;
}

1

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

Ось моє вирізане рішення за допомогою Bootstrap 4.0.0 (4.1 включає, .table-borderlessале все ще альфа) ...

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

Подібно до багатьох запропонованих рішень, але мінімальний байт 😉

Примітка. Закінчилося тут, тому що я переглядав посилання на BS4.1 і не міг зрозуміти, чому .table-borderlessне працював з моїми джерелами 4.0 (наприклад: помилка оператора, так) 💩


Виправлення: 4.1 - це не альфа. Якщо припустити, що я не використовував цю версію 🤣
Mavelo,

1

У деяких випадках потрібно також використовувати інтервал між межами у класі таблиці, наприклад:

граничний інтервал: 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>

отримати посилання за цим посиланням

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.