Trochę utknąłem z problemem CSS podczas korzystania z Bootstrap. Używam również Angular JS z Angular UI.bootstrap (co może być częścią problemu).
Tworzę stronę internetową, która wyświetla dane w tabeli. Czasami dane zawierają obiekt, który muszę wyświetlić w tabelach. Dlatego chcę umieścić tabele bez obramowania w normalnym stole, zachowując wewnętrzne linie separacji dla tabel bez obramowania.
Ale wydaje się, że nawet jeśli wyraźnie powiem, aby nie pokazywać granic na stole, jest to wymuszone:
HTML:
<table class='table borderless'>
CSS:
.borderless table {
border-top-style: none;
border-left-style: none;
border-right-style: none;
border-bottom-style: none;
}
Więc tutaj chcę tylko wewnętrznych granic.
html
css
twitter-bootstrap
Romain
źródło
źródło
Odpowiedzi:
Obramowanie jest ustawione na
td
elementach.HTML:
css:
Aktualizacja: Od wersji Bootstrap 4.1 możesz
.table-borderless
usunąć obramowanie.https://getbootstrap.com/docs/4.1/content/tables/#borderless-table
źródło
.borderless th
, ponieważ dotyczy to<th>
również stylu Bootstrap .style=
lub umieszczasz go w niestandardowym pliku i upewniasz się, że jest on ładowany później niż plik css Bootstrap , aby zastąpić domyślny styl Bootstrap. CSS są ładowane z zamówieniem; ten drugi zastępuje ten pierwszy, im bardziej konkretny, tym bardziej ogólny.<table class='table table-borderless'>
na Max poniżejKorzystając z Bootstrap 3.2.0 miałem problem z rozwiązaniem Brett Henderson (zawsze były tam granice), więc go poprawiłem:
HTML
CSS
źródło
th
elemencie w ciele:.borderless tbody tr th
(jak w przykładach ).table-
, tak jak Bootstrap 3 w przypadku innych klas związanych z tabelami (na przykładtable-striped
itp.). Tak będzie nazwatable-borderless
..table-borderless,
na początku specyfikacji tego stylu.table-borderless
w tym dokumencie getbootstrap.com/docs/3.3/css/#tables . Skąd to przyszło?podobne do pozostałych, ale bardziej szczegółowe:
źródło
Nie dodawaj
.table
klasy do<table>
tagu. Z dokumentów Bootstrap w tabelach :źródło
Od wersji Bootstrap 4.1 możesz dodać
table-borderless
do swojej tabeli, zobacz oficjalną dokumentację :źródło
W moim CSS:
W mojej dyrektywie:
Nie umieściłem „bez obramowania” dla elementu td.
Przetestowane i działało! Wszystkie obramowania i wypełnienia są całkowicie zdjęte.
źródło
Rozszerzyłem style tabel Bootstrap, jak zrobił to Davide Pastore, ale dzięki tej metodzie style są również stosowane do wszystkich tabel potomnych i nie mają zastosowania do stopki.
Lepszym rozwiązaniem byłoby naśladowanie podstawowych stylów tabeli Bootstrap, ale z nową klasą:
Wtedy, gdy użyjesz
<table class='table table-borderless'>
tylko określonej tabeli z klasą, zostanie ona otoczona, a nie jakakolwiek tabela w drzewie.źródło
Spróbuj tego:
CSS
Uwaga: To, co robiłeś wcześniej, nie działało, ponieważ Twój kod css był kierowany na tabelę w tabeli .borderless (która prawdopodobnie nie istniała)
źródło
Wiem, że to stary wątek i wybrałeś odpowiedź, ale pomyślałem, że opublikuję to, ponieważ jest to istotne dla każdego, kto obecnie szuka.
Nie ma powodu, aby tworzyć nowe reguły CSS, po prostu cofnij obecne reguły, a ramki znikną.
idąc naprzód, wszystko w stylu
nie pokaże granic.
źródło
Skorzystaj z
border-
klasy z Boostrap 4lub
Pamiętaj, aby zakończyć wprowadzanie klasy ostatnią zmianą, którą chcesz wprowadzić.
źródło
Ten działał dla mnie.
Kluczem jest to, że musisz dodać obramowanie do
<td>
źródło
Spóźniłem się tutaj na grę, ale FWIW: dodanie
.table-bordered
do.table
właśnie owija tabelę ramką, aczkolwiek poprzez dodanie pełnej ramki do każdej komórki.Ale usunięcie
.table-bordered
nadal pozostawia linie reguł. To kwestia semantyczna, ale zgodnie z nomenklaturą BS3 + użyłem tego zestawu przesłonięć:źródło
Posługiwać się
hidden
zamiastnone
:źródło
Większość przykładów wydaje się być zbyt specyficzna i / lub rozdęta.
Oto moje ograniczone rozwiązanie za pomocą Bootstrap 4.0.0 (4.1 zawiera
.table-borderless
ale wciąż alfa) ...Podobne do wielu proponowanych rozwiązań, ale minimalne bajty 😉
Uwaga: skończyłem tutaj, ponieważ przeglądałem referencje BS4.1 i nie mogłem zrozumieć, dlaczego
.table-borderless
nie działa z moimi źródłami 4.0 (np .: błąd operatora, duh) 💩źródło
W niektórych przypadkach należy również użyć odstępów między ramkami w klasie tabeli, takich jak:
źródło
Zainstaluj bootstrap z linkiem npm lub cdn
uzyskaj referencję z tym linkiem
źródło