2010-01-16 6 views
19

Eric meyer reset css zasugerował, że "tabele nadal potrzebują '" w komórce marża "=" 0 "". Czy to konieczne? i jaka jest korzyść z border-collapse: collapse; i border-spacing: 0;?Czy należy dodać komórkę = "0" cellpadding = "0" w <table>?

i to tylko sugeruje użycie przestrzeni komórkowej, podczas gdy tabela ma inną właściwość o nazwie cellpadding?

/* tables still need 'cellspacing="0"' in the markup */ 
table { 
     border-collapse: collapse; 
     border-spacing: 0; 
} 

Odpowiedz

11

cellpadding nie sugeruje się, ponieważ nieruchomość padding css wystarczająco zastępuje domyślne właściwości atrybutu cellpadding stołowego. Jak mówi inna odpowiedź, nie ma kompatybilnej właściwości CSS dla cellspacing w starszych przeglądarkach, pozostawiając atrybut HTML jako jedyny sposób całkowitego "zresetowania" tego ustawienia do 0. border-spacing: 0; dba o to w przypadku przeglądarek, które obsługują to.

chodzi o border-collapse — domyślnie komórki tabeli mają swoje własne granice, i collapse połączą się granice między sąsiadującymi komórkami razem, dając wygląd (zazwyczaj pojedynczego piksela) sieci, które nie jest możliwe jakiekolwiek inne sposób, gdy cellspacing="0". Przed powszechnym obsługiwaniem border-collapse pojawiły się tabele z cellspacing="1" i kolorem tła na stole oraz białe tło w komórkach tabeli.

border-collapse:collapse; jest w reset.css po prostu dlatego, że jest to najczęściej pożądany wynik. Jeśli nie chcesz tego trybu, dobrze byłoby usunąć to z reset.css.

1

Istnieją dwa typy granic w tabeli sama tablica może mieć granice (granice zewnętrzną i granicy pomiędzy komórkami), a każda z komórek może mieć obramowania wokół nich.

Stosując oznacza, że ​​dwie komórki z tymi samymi ustawieniami granicznymi obok siebie będą miały tylko jeden zestaw obramowania zamiast podwójnego, np. prawe obramowanie jednej komórki zwinie się wraz z lewą ramką w następnej komórce w rzędzie.

Nie ma stylu CSS dla granicy tabeli między komórkami do wersji CSS 2, więc należy wyłączyć tę funkcję za pomocą atrybutu HTML cellspacing="0" w tabeli, aby obsługiwać starsze przeglądarki, takie jak IE 7 *. Jeśli między komórkami znajdują się granice tabel, zawalenie obramowania oczywiście nie zadziała, ponieważ granice nie sąsiadują ze sobą.

* Naprawdę podobał mi poczucie nazywając IE 7 „seniorów przeglądarki”;)

+0

a co z podpaską na komórki? –

Powiązane problemy