Thông số HTML cho phép các dấu chấm (.) Trong một id:
<img id="some.id" />
Tuy nhiên, việc sử dụng quy tắc bộ chọn CSS ID sẽ không khớp chính xác:
#some.id { color: #f00; }
Thông số CSS cho Bộ chọn ID không đề cập đến trường hợp này. Vì vậy, tôi giả sử nó đang sử dụng sự kết hợp của tên thẻ và bộ chọn lớp ? Ví dụ: một quy tắc CSS của a.className
sẽ áp dụng cho tất cả các thẻ liên kết ( <a>
) có tên lớp className
, như <a class="className"></a>
.
Có thể có quy tắc tệp CSS bên ngoài tham chiếu đến một phần tử HTML theo id của nó có dấu chấm trong đó không?
Tôi không mong đợi vì CSS chỉ định rằng "mã định danh " CSS không bao gồm dấu chấm là một ký tự hợp lệ. Vì vậy, đây có phải là sự không phù hợp cơ bản giữa thông số kỹ thuật HTML và CSS? Có phải lựa chọn thay thế duy nhất của tôi là sử dụng một loại lựa chọn CSS khác không? Có ai thông minh hơn tôi có thể xác nhận hoặc phủ nhận điều này không?
(Tôi sẽ xóa dấu chấm khỏi thuộc tính id HTML để đơn giản hóa mọi thứ, nhưng đó là id do hệ thống tạo, vì vậy tôi không có khả năng thay đổi nó trong trường hợp này.)
#some.id
là sử dụng sự kết hợp của ID và bộ chọn lớp.