Wiele osób nadal używa tabel do układania elementów sterujących, danych itp. - jednym z przykładów jest popularny jqGrid. Jednak dzieje się jakaś magia, której nie mogę pojąć (jej tablice do głośnego płaczu, ile magii może być?)
Jak to jest możliwe, aby ustawić szerokość kolumny tabeli i być przestrzeganym, tak jak robi to jqGrid !? Jeśli spróbuję to powtórzyć, nawet jeśli <td style='width: 20px'>
ustawię co , jak tylko zawartość jednej z tych komórek jest większa niż 20 pikseli, komórka się rozszerza!
Jakieś pomysły lub spostrzeżenia?
źródło
<TD colspan="3">
sam wiersz, miałby on 90 pikseli?table.fixed td { word-wrap: break-word; }
.Teraz w HTML5 / CSS3 mamy lepsze rozwiązanie problemu. Moim zdaniem to rozwiązanie czysto CSS jest zalecane:
Musisz ustawić stół
width
nawet w roztworze nawiedzonym . W przeciwnym razie to nie zadziała.Również nowa funkcja CSS3 że vsync sugerowane jest:
word-break:break-all;
. Spowoduje to również podzielenie słów bez spacji na wiele wierszy. Po prostu zmodyfikuj kod w ten sposób:Ostateczny wynik
źródło
colspan
, wydaje się, że to zepsuje to rozwiązanie. Jakieś sugestie dotyczące korzystania z tego rozwiązania w przypadku tabeli zawierającejcolspan
> 1?źródło
table-layout
elementu td?Miałem jedną długą komórkę tabeli td, co zmusiło stół do krawędzi przeglądarki i wyglądał brzydko. Chciałem tylko, aby ta kolumna miała tylko stały rozmiar i łamała słowa, gdy osiągnie określoną szerokość. Więc to działało dobrze dla mnie:
Nie musisz określać żadnego stylu do tabeli, elementy tr. Możesz także użyć overflow: hidden; jak sugerują inne odpowiedzi, ale powoduje to zniknięcie nadmiaru tekstu.
źródło
10x10
źródło
dla stołu szerokości FULLSCREEN:
szerokość stołu MUSI wynosić 100%
jeśli potrzeba N kolumn, to TH MUSI wynosić N + 1
przykład dla 3 kolumn:
źródło
: first-child ...: nth-child (1) lub ...
źródło