Prosty schemat:
<tr class="something">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
Muszę ustawić stałą szerokość dla <td>
. Próbowałem:
tr.something {
td {
width: 90px;
}
}
Również
td.something {
width: 90px;
}
dla
<td class="something">B</td>
I nawet
<td style="width: 90px;">B</td>
Ale szerokość <td>
jest nadal taka sama.
css
twitter-bootstrap
width
html-table
użytkownik984621
źródło
źródło
style="width: 1% !important;"
aby ustawić szerokość tak wąską, jak najdłuższe słowo w kolumnie, jest to przydatne dla pierwszej kolumny ID / #. Testowane w Chrome (na komputery i urządzenia mobilne), opera (na komputery), IE (na komputery), edge (na komputery), Firefox (na komputery)Odpowiedzi:
W przypadku Bootstrap 4.0:
W Bootstrap 4.0.0 nie można
col-*
niezawodnie korzystać z klas (działa w Firefoksie, ale nie w Chrome). Musisz użyć odpowiedzi OhadR :W przypadku Bootstrap 3.0:
Z twitter bootstrap 3 użyj:
class="col-md-*"
gdzie * to liczba kolumn szerokości.W przypadku Bootstrap 2.0:
Z twitter bootstrap 2 użyj:
class="span*"
gdzie * to liczba kolumn szerokości.** Jeśli masz
<th>
elementy, ustaw szerokość tam, a nie na<td>
elementach.źródło
Miałem ten sam problem, naprawiłem tabelę, a następnie określiłem szerokość td. Jeśli masz, możesz to zrobić.
Szablon:
Proszę używać CSS do strukturyzowania dowolnych układów.
źródło
class
wtd
tagu zamiast stosowania styl bezpośrednioth
podobnego:<th style="width: 25%;"></th>
spowoduje to zmianę szerokości innych kolumntable-layout: fixed
. Jest to wymagane, ponieważ wiele szablonów zbudowanych z BS4 stosuje flex do wszystkiego, w tym do tabel.Zamiast stosować
col-md-*
klasy do każdejtd
w rzędzie, możesz utworzyć acolgroup
i zastosować klasy docol
znacznika.Demo tutaj
źródło
<col class="col-md-4 col-sm-6">
będzie miał szerokość 33% w średnim rozmiarze ekranu i 50% w małym rozmiarze ekranu)Mam nadzieję, że ten pomoże komuś:
https://github.com/twbs/bootstrap/issues/863
źródło
Jeśli używasz
<table class="table">
na stole, klasa tabeli Bootstrap dodaje do stołu szerokość 100%. Musisz zmienić szerokość na auto.Ponadto, jeśli pierwszy wiersz tabeli jest wierszem nagłówka, może być konieczne dodanie szerokości do th zamiast td.
źródło
th
znaków na wartość normalną, ponieważ jest ona teraz pusta, ponieważ takie nagłówki się nie zepsują.W moim przypadku udało mi się rozwiązać ten problem, używając
min-width: 100px
zamiastwidth: 100px
dla komórekth
lubtd
.źródło
W przypadku Bootstrap 4 możesz po prostu użyć pomocnika klasy:
źródło
.w-25, .w-50, .w-75, .w-100, .w-auto
więc jeśli chcesz czegoś innego, powiedz,w-10
musisz dodać.w-10 { width: 10% !important; }
do zlokalizowanego pliku css.Spróbuj tego -
źródło
text-overflow: ellipsis
aby upewnić się, że odcięty tekst jest widocznyBootstrap 4.0
W Bootstrap 4.0 musimy zadeklarować wiersze tabeli jako flex-box, dodając klasę d-flex, a także upuszczając przyrostki xs, md, aby umożliwić Bootstrapowi automatyczne wyprowadzenie go z okienka ekranu.
Będzie więc wyglądać następująco:
Mam nadzieję, że będzie to pomocne komuś innemu!
Twoje zdrowie!
źródło
To połączone rozwiązanie działało dla mnie, chciałem kolumny o równej szerokości
Wynik: -
źródło
Ok, po prostu zorientowali się, gdzie był problem - w Bootstrap jest ustawiony jako wartość domyślną
width
dlaselect
elementu, a tym samym rozwiązanie to:Nic innego mnie nie działa.
źródło
Trudno oceniać bez kontekstu html strony lub reszty CSS. Może istnieć ponad milion powodów, dla których twoja reguła CSS nie wpływa na element td.
Czy próbowałeś bardziej szczegółowych selektorów CSS, takich jak
Dzięki temu CSS nie zostanie zastąpiony przez bardziej szczegółową regułę z css bootstrap.
(nawiasem mówiąc, w twojej wbudowanej próbce css z atrybutem stylu źle wpisałeś szerokość - to może wyjaśnić, dlaczego ta próba się nie udała!)
źródło
Od jakiegoś czasu zmagam się z tym problemem, więc na wypadek, gdyby ktoś popełnił ten sam głupi błąd co ja ... W środku
<td>
miałem element zwhite-space:pre
stylem. To spowodowało odrzucenie wszystkich moich sztuczek table / tr / td. Kiedy usunąłem ten styl, nagle cały mój tekst został ładnie sformatowany wewnątrztd
.Więc zawsze sprawdź główny pojemnik (jak
table
lubtd
), ale zawsze sprawdź, czy nie anulujesz swojego pięknego kodu gdzieś głębiej :)źródło
Użyj d-flex zamiast wiersza dla „tr” w Bootstrap 4
Chodzi o to, że klasa „row” ma większą szerokość niż kontener nadrzędny, co wprowadza problemy.
źródło
W bootstarp 4 można użyć
row
icol-*
na stole, używam go jak poniżejźródło
Tak często robię, gdy nie mam do czynienia z IE
W ten sposób możesz mieć znajomą siatkę z 12 kolumnami.
źródło
Nic z tego nie działa dla mnie i ma wiele cols na datatable, aby klasa% lub sm była równa układowi 12 elementów na bootstrap.
Pracowałem z danymi Angular 5 i Bootstrap 4 i mam wiele cols w tabeli. Rozwiązaniem było dla mnie
TH
dodanieDIV
elementu o określonej szerokości. Na przykład dla cols „Person Name” i „Event date” potrzebuję określonej szerokości, następnie wstawiam adiv
w nagłówku col, cała szerokość col następnie zmienia się na szerokość określoną z div naTH
:źródło
użyj czegoś bez td lub th
źródło
źródło