Nên thêm rằng nếu một trình duyệt đặt một thuộc tính theo mặc định, bạn có thể cần phải xử lý. Điều này có vẻ không phải là một vấn đề trong brosers "hiện đại", tuy nhiên, đây là một vấn đề mà tôi đã thấy, vì vậy hãy đảm bảo kiểm tra hiệu suất trên nhiều trình duyệt.
Ví dụ: tôi phát hiện ra rằng trong IE trước 9, colSpan được đặt cho tất cả các TD trong một Bảng, vì vậy bất kỳ ô nào đều có giá trị colspan ẩn là 1.
Vì vậy, nếu bạn đang nhắm mục tiêu "bất kỳ TD nào có thuộc tính colspan" mà bạn áp dụng trong webdoc của mình, ngay cả khi td không có thuộc tính colspan được đặt, chẳng hạn như bất kỳ TD nào là một ô duy nhất, sẽ nhận được kiểu css. IE nhỏ hơn 9 về cơ bản sẽ tạo kiểu cho tất cả!
Lý do duy nhất để quan tâm đến vấn đề này là tất cả những người dùng XP còn lại không thể nâng cấp lên IE8.
Vì vậy, đối với Ví dụ, tôi có một nhóm các bảng mà nội dung có thể chuyển từ cuối sang cuối, để trống từ 1 đến 7 ô ở cuối hoặc đầu.
Tôi muốn áp dụng màu cho bất kỳ ô trống nào ở cuối hoặc đầu bằng cách sử dụng thuộc tính colspan. Sử dụng phần sau sẽ không hoạt động trong IE dưới 9
#my td[colspan] {background-color:blue;}
... tất cả TD sẽ được tạo kiểu (buồn cười vì kiểu thuộc tính có điều kiện được cho là vượt trội trong IE, nhưng tôi lạc đề ...).
Việc sử dụng các thao tác sau đây hoạt động trên tất cả các trình duyệt khi tôi đặt giá trị của colspan thành 'duy nhất' cho bất kỳ ô đơn lẻ nào / TD mà tôi muốn đưa vào sơ đồ tạo kiểu, tuy nhiên nó là 'hack' và sẽ không xác thực đúng cách ...
#my td[colspan="single"] {background-color:blue;}
#my td[colspan="2"] {background-color:blue;}
#my td[colspan="3"] {background-color:blue;}
#my td[colspan="4"] {background-color:blue;}
#my td[colspan="5"] {background-color:blue;}
#my td[colspan="6"] {background-color:blue;}
#my td[colspan="7"] {background-color:blue;}
Ngoài ra, bạn sẽ có thể giải quyết vấn đề một cách thích hợp hơn bằng cách sử dụng kiểu có điều kiện bằng cách sử dụng "if lt IE 9" để ghi đè. Đó sẽ là cách chính xác để làm điều này, chỉ cần lưu ý rằng bạn phải ẩn "css được xây dựng đúng cách" khỏi IElt9 trong quá trình này và tôi nghĩ rằng cách thích hợp duy nhất để làm điều đó là với các bảng định kiểu chọn lọc.
Hầu hết chúng ta đều đã làm điều đó, nhưng bất kể, bạn vẫn nên xem xét và kiểm tra xem một trình duyệt có áp dụng thuộc tính tự động khi nó không thấy thuộc tính nào hay không và cách nó có thể xử lý cú pháp không đúng của bạn để tạo kiểu trên các giá trị thuộc tính.
(btw, colspan chỉ xảy ra là chưa có trong thông số kỹ thuật css [kể từ css3], vì vậy ví dụ này không có lỗi xác thực.)
empty