2012-04-23 15 views
5

jedną z odpowiedzi na my previous question stwierdza, że ​​COLGROUP/COL powinny pracować tylko w IE.Dlaczego COLGROUP/COL nie działa w Chrome

ja napisałem przykład (patrz poniżej), który działa na IE9 (centra komórek treści w kolumnie 3.), ale nie działa na najnowszej wersji Chrome.

Co zrobiłem źle?

Przykład HTML:

<html> 
<head><title>test table centerring</title></head> 
<body> 

    <table border="1"> 
     <colgroup> 
      <col/> 
      <col/> 
      <col align="center"> 
     </colgroup> 
     <thead> 
      <tr> 
       <th>#</th> 
       <th>Name</th> 
       <th>Value</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>1</td> 
       <td>Name 1</td> 
       <td>Value 1</td> 
      </tr> 
      <tr> 
       <td>2</td> 
       <td>Name 2, Name 2, Name 2, Name 2</td> 
       <td>Value 2</td> 
      </tr> 
      <tr> 
       <td>3</td> 
       <td>Name 3</td> 
       <td>Value 3</td> 
      </tr> 
      <tr> 
       <td>4</td> 
       <td>Name 4</td> 
       <td>Value 4, Value 4, Value 4, Value 4</td> 
      </tr> 
     </tbody> 
    </table>   

</body></html> 
+0

Stwierdzili, że działa tylko w IE, co oznacza, że ​​nie będzie działać w Chrome. – ricochet1k

Odpowiedz

2

Faktycznie, byłem pewien, że tylko IE obsługuje, ale był zdezorientowany przez jedną z odpowiedzi na pytanie Is there any way to center certain columns in table?. Autorem odpowiedzi wskazał również pewnymi ograniczeniami: http://www.quirksmode.org/css/columns.html

Niestety kolumny tabeli są dość trudne w obsłudze, bo jeśli ich używać ty zasadniczo mieć tabeli, który jest podzielony na dwa sposoby: przez rzędach i kolumnach. Ogólna zasada jest taka, że ​​każdy styl zdefiniowany w wierszu zastępuje dowolny styl zdefiniowany w kolumnie.

drugie, W3C określa, że ​​tylko kilka deklaracje mogą być stosowane w kolumnach: obramowanie, tła, szerokość i widoczności. Wyjątek: IE7 i niższe pozwalają na wszystkie deklaracje.

Po trzecie, istnieje pewne nieporozumienie, czy style kolumn są stosowane do kolumny jako całości, czy do zawartych w niej pojedynczych <td> s. Deklaracja graniczna wydaje się być zastosowana do kolumny jako całości, ale szerokość jest stosowana do poszczególnych komórek.

Dzięki temu colgroup/col jest bezużyteczny do centrowania.

Powiązane problemy