Chỉnh sửa - Original Title: Có một cách khác để đạt được border-collapse:collapse
trong CSS
(theo thứ tự để có một sụp đổ, bàn góc tròn)?
Vì hóa ra chỉ đơn giản là làm cho các đường viền của bảng bị sụp đổ không giải quyết được vấn đề gốc, tôi đã cập nhật tiêu đề để phản ánh tốt hơn các cuộc thảo luận.
Tôi đang cố gắng tạo một bảng với các góc tròn bằng cách sử dụng CSS3
border-radius
tài sản. Các kiểu bảng tôi đang sử dụng trông giống như thế này:
table {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px
}
Đây là vấn đề. Tôi cũng muốn đặt thuộc border-collapse:collapse
tính và khi đó được đặt border-radius
không còn hoạt động. Có cách nào dựa trên CSS để tôi có thể có được hiệu ứng tương tự như khi border-collapse:collapse
không thực sự sử dụng nó không?
Chỉnh sửa:
Tôi đã tạo một trang đơn giản để trình bày vấn đề ở đây (chỉ dành cho Firefox / Safari).
Có vẻ như một phần lớn của vấn đề là việc đặt bảng có các góc tròn không ảnh hưởng đến các góc của các thành td
phần góc . Nếu bảng chỉ có một màu, đây sẽ không phải là vấn đề vì tôi chỉ có thể làm cho các td
góc trên cùng và dưới cùng được làm tròn cho hàng đầu tiên và cuối cùng. Tuy nhiên, tôi đang sử dụng các màu nền khác nhau cho bảng để phân biệt các tiêu đề và để phân loại, vì vậy các td
yếu tố bên trong cũng sẽ hiển thị các góc tròn của chúng.
Tóm tắt các giải pháp đề xuất:
Bao quanh bàn có một yếu tố khác với các góc tròn không hoạt động vì các góc vuông của bàn "chảy qua".
Chỉ định chiều rộng đường viền thành 0 không làm sập bảng.
Các td
góc dưới cùng vẫn vuông sau khi đặt khoảng cách ô bằng không.
Thay vào đó, sử dụng JavaScript - hoạt động bằng cách tránh sự cố.
Phương pháp khả thi:
Các bảng được tạo bằng PHP, vì vậy tôi chỉ có thể áp dụng một lớp khác nhau cho mỗi th / tds bên ngoài và định kiểu riêng từng góc. Tôi thà không làm điều này, vì nó không thanh lịch và hơi khó để áp dụng cho nhiều bảng, vì vậy hãy tiếp tục đề xuất.
Giải pháp khả thi 2 là sử dụng JavaScript (cụ thể là jQuery) để định kiểu các góc. Giải pháp này cũng hoạt động, nhưng vẫn không hoàn toàn như những gì tôi đang tìm kiếm (tôi biết tôi rất kén chọn). Tôi có hai đặt phòng:
- đây là một trang web rất nhẹ và tôi muốn giữ JavaScript ở mức tối thiểu
- một phần của sự hấp dẫn mà việc sử dụng bán kính đường viền đối với tôi là sự xuống cấp duyên dáng và tăng cường tiến bộ. Bằng cách sử dụng bán kính đường viền cho tất cả các góc được làm tròn, tôi hy vọng sẽ có một trang web được làm tròn nhất quán trong các trình duyệt có khả năng CSS3 và một trang web vuông nhất quán ở những người khác (tôi đang nhìn vào bạn, IE).
Tôi biết rằng cố gắng làm điều này với CSS3 ngày hôm nay có vẻ không cần thiết, nhưng tôi có lý do của mình. Tôi cũng muốn chỉ ra rằng vấn đề này là kết quả của đặc tả w3c, không phải là hỗ trợ CSS3 kém, vì vậy mọi giải pháp sẽ vẫn có liên quan và hữu ích khi CSS3 có hỗ trợ rộng rãi hơn.