8
Chcę utworzyć tabelę, która wygląda tak:Wygląda na to, że colspan w komórce w jednym wierszu uniemożliwia ustawienie szerokości TD we wszystkich pozostałych wierszach. Czemu?
+-----------------------------------------------------------+
|January 12th, 2012 |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
|January 13th, 2012 |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
ale co mam to:
+-----------------------------------------------------------+
|January 12th, 2012 |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
|January 13th, 2012 |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
| x | first item | second item |
+-----------------------------------------------------------+
„x” jest w rzeczywistości obraz ma stałą szerokość. Chcę zmusić pierwszą komórkę, by była tak szeroka jak obraz.
Oto przykład:
<html>
<body>
<table>
<tbody>
<tr>
<td colspan="3">January 12th 2011 this here is just for padding to make table wider</td>
</tr>
<tr>
<td width="20"> x </td>
<td>First item</td>
<td>Second item</td>
</tr>
</tbody>
</table>
</body>
</html>
Wydaje się, że rząd zawiera TD z colspan = 3 jest przyczyną TD w innych rzędach ignorować atrybut szerokość (I próbował również za pomocą szerokości styl: 20 pikseli)
Renderowanie jest poprawne w FF8. Jakieś pomysły, w jaki sposób mogę uzyskać IE, aby renderować tabelę tak, jak chcę?
Dziwne, co robisz wydaje się słuszna. Skopiowałem twój kod HTML i działa on dobrze dla mnie. Czy próbowałeś użyć Firebug, aby sprawdzić, czy być może model
@Lex - masz rację. Po prostu skopiowałem go i wygląda dobrze w FF. Nadal jest jednak w IE! – paul
Czy całkowita szerokość tabeli i szerokość pozostałych dwóch kolumn musi być dynamiczna, czy może być ustalona? –
Odpowiedz
Zapomniałam, że stół ma styl „table-layout: fixed” i to było przyczyną problemu. Po ustawieniu tego stylu szerokości komórek w pierwszym rzędzie zostaną zastosowane do wszystkich następnych wierszy. Ponieważ pierwszy wiersz zawierał colspan, wydaje mi się, że IE był zdezorientowany (FF radzi sobie z tym dobrze).
W każdym razie nie jest tak elastyczny, jak chciałem, ale to działało dla mnie.
Źródło
2012-01-13 10:01:12 paul
Dzięki Bogu, że to przeczytałem ... nigdy bym tego nie zgadł. Pomyślałem, że oznaczało "słuchaj mojego stylu!" – carinlynchin
Nie mogę tego zrobić wystarczająco. –
IE zawsze traktuje szerokość na komórkach tabeli jako min-szerokość, przynajmniej do wersji 8 (nie wiem o 9).
Jedynym sposobem, jaki znalazłem w tym przypadku, jest określenie jawnych szerokości we wszystkich komórkach tabeli lub użycie Javascript do ustawienia szerokości po wczytaniu (ale przed wyświetleniem).
Źródło
2012-01-12 16:00:51
Proponuję dając tych komórek klasę, a następnie styl z
Źródło
2012-01-12 16:15:18
po prostu przeczytaj, że próbowałaś tego ... Dziwne, to działa dla mnie. moją jedyną sugestią byłoby określenie całkowitej szerokości stołu –
Jak znaleźć w this answer można ustawić atrybuty dla całej tabeli poprzez
colgroup
icol
. W ten sposób możesz ustawić indywidualne atrybuty nawet dla (niewidocznych pojedynczych) komórek wewnątrz colspan w pierwszym rzędzie.W przykładzie będzie to:
Oto fiddle
Źródło
2016-02-08 16:07:35 phils
rock on. Dziękuję Ci. – catbadger
Miałem ten sam problem. To była jedyna rzecz, która rozwiązała to dla mnie. – Allison
Powiązane problemy