Đây là vấn đề kinh điển - khi bạn có một ô bảng trống, trình duyệt không hiển thị đường viền xung quanh nó. Ngoài ra còn có hai cách giải quyết nổi tiếng. Một là đặt một
trong ô bảng; khác là sử dụng thuộc tính CSS empty-cells:show
.Một lựa chọn tốt hơn so với để hiển thị các ô bảng HTML trống?
Thật không may cả hai đều có nhược điểm.
là loại xấu xí khi nói đến việc chọn văn bản và sao chép-dán nó. Bạn nhận được rất nhiều không gian nơi không nên có bất kỳ, có lẽ ngay cả với một ký tự Unicode kỳ lạ. empty-cells:show
nên giải quyết chính xác vấn đề này, nhưng tiếc là nó chỉ hoạt động đúng trong IE bắt đầu với phiên bản 8 (và sau đó chỉ trong chế độ tuân thủ tiêu chuẩn). Nó có thể được thực hiện để làm việc trong các phiên bản khác bằng cách chỉ định border-collapse: collapse
, nhưng đôi khi đây là điều KHÔNG mong muốn. Trong trường hợp của tôi, tôi có một bảng khá phức tạp và nó dựa trên border-collapse:separate
và nếu không sẽ tạo ra một súp CSS/HTML lộn xộn.
Vì vậy, những thứ khác mà bạn có thể đặt trong ô bảng sẽ làm cho IE vẽ đường viền nhưng không được hiển thị hoặc có thể sao chép được? Đối với tất cả các trình duyệt khác, empty-cells:show
đã thực hiện thủ thuật, vì vậy tôi thực sự chỉ cần đánh lừa IE.
Tất nhiên bạn có thể định nghĩa một .e lớp CSS {visibility: hidden} và viết
class="e", hoặc, cách khác, nếu không có ý nghĩa khác phần tử br trong bảng, xác định kiểu "bảng br {mức độ hiển thị: ẩn}" –
như thế nào? Cả hai phân bổ không gian và cả hai hiển thị không có gì khác. – Alohci
Thử chọn nội dung ô trong IE6 với khả năng hiển thị được đặt thành ẩn và không có. Khi nó được thiết lập tế bào dường như không được chọn (ít nhất là trực quan). Đây chính là điều mà người hỏi câu hỏi mong muốn. –