2009-08-27 5 views
13

Mam tabelę html, która może mieć max 700px szerokości i nie wiem, ile kolumn będzie (między 3 a 10). Chcę, aby wszystkie elementy <th> miały dopełnienie 5 pikseli, ale zwiększa to szerokość tabeli i powoduje, że element div, w którym znajduje się, wyświetla poziomy paski przewijania.Limiting table width

Ponieważ nie znam liczby kolumn, nie można odjąć dodatkowych pikseli dodanych przez wypełnienie od całkowitej szerokości.

Umieszczenie wartości przepełnienia na elemencie div nie ma sensu, ponieważ po prostu zasłoni kolumny o wartości powyżej 700 pikseli.

Czy istnieje sposób na obejście tego problemu, aby ustawić właściwy sztywny limit szerokości stołu?

Odpowiedz

29

Użyj poniższego CSS i to powinno zapobiec tabela przekraczającej maksymalny rozmiar można zdefiniować:

table{ 
    table-layout:fixed; 
} 
+0

pamiętać, aby ustawić szerokość dla stołu i wszystkich jego s –

2

Ustaw szerokość stołu na 100%, a szerokość nadrzędnego nadrzędnego na 700 pikseli.

1

Najlepszym możliwym rozwiązaniem jest to, którego teraz używasz.

Ponieważ nie można przewidzieć liczby kolumn, których nie można ustawić szerokości dla każdej kolumny. Dlatego najlepszym rozwiązaniem jest ustawienie nadmiaru rodzica div na auto i szerokość tabeli podrzędnej na 100%.

0

Na czym ustawiasz wyściółkę?

Jeżeli ustawić szerokość na stolei padding na td powinno być możliwe, aby uzyskać dokładnie to, co chcesz.

+0

ive jeszcze spróbować to na zewnątrz, ale AFAIK dodając wyściółkę na td zwiększa szerokość tabeli – stef