To klasyczny problem - gdy masz pustą komórkę tabeli, przeglądarka nie renderuje obramowań wokół niej. Istnieją również dwa dobrze znane rozwiązania. Jednym z nich jest umieszczenie
w komórce tabeli; drugim jest użycie właściwości CSS empty-cells:show
.Lepsza alternatywa niż do wyświetlania pustych komórek tabeli HTML?
Niestety oba mają wady.
jest trochę brzydki, jeśli chodzi o zaznaczanie tekstu i kopiowanie - wklejanie go. Dostajesz dużo przestrzeni, w których nie powinno być żadnych, może nawet z egzotyczną postacią Unicode. empty-cells:show
powinien rozwiązać dokładnie ten problem, ale niestety działa poprawnie tylko w IE, począwszy od wersji 8 (a następnie tylko w trybie zgodnym ze standardami). Można go użyć do pracy w innych wersjach, podając także border-collapse: collapse
, ale czasami NIE jest to pożądane. W moim przypadku mam dość złożoną tabelę i opiera się ona na border-collapse:separate
i w przeciwnym razie tworzyłby dość niechlujną zupę CSS/HTML.
Co jeszcze można umieścić w komórce tabeli, która spowodowałaby, że IE narysuje krawędzie, ale nie są widoczne lub można je skopiować? Dla wszystkich innych przeglądarek empty-cells:show
robi już sztuczkę, więc naprawdę muszę oszukać IE.
Oczywiście można zdefiniować klasę CSS .e {visibility: hidden} i napisać
class="e", albo, alternatywnie, jeśli nie mają inne znaczenie br elementy w tabeli, zdefiniuj styl "tabela br {widoczność: ukryta}" –
Jak działa
od
? Obie alokują spację i oba nie wyświetlają nic innego. – Alohci
Spróbuj wybrać zawartość komórki tabeli w IE6 z widocznością ustawioną jako ukryta i bez niej. Gdy jest ustawiony, komórka nie wydaje się być wybrana (przynajmniej wizualnie). To jest dokładnie to, o co prosiła osoba, która zadała pytanie. –