2010-08-23 11 views

Trả lời

24

Dấu hai chấm được cho phép bên trong thuộc tính ID, nhưng không có ý nghĩa đặc biệt. Nó không thực sự khuyến khích sử dụng chúng bởi vì chúng đôi khi có thể gây ra vấn đề, chẳng hạn như khi được sử dụng với jQuery hoặc CSS, nơi dấu hai chấm có ý nghĩa đặc biệt như một bộ chọn giả.

+0

vì vậy bạn có nghĩa là điều này sẽ không được khuyến khích cho css? – Ryan

+0

Đúng vậy, bởi vì trong CSS dấu hai chấm được sử dụng cho các bộ chọn giả, như '# div.button: hover' –

+14

Tôi đồng ý với cxfx, nhưng nếu cần sử dụng dấu hai chấm thì bạn có thể thoát khỏi css '# t1 \: c3 {rules;}' – Sotiris

1

Ngoài những điều trên tôi đã phát hiện ra rằng Omniture sử dụng dấu hai chấm để giúp xác định các lớp liên quan đến bố cục.

3

Nếu HTML được tạo ra với Java ServerFaces này thường tạo ra các ID này, tức là nếu các hình thức có ID Form1 và nguyên tố này có ID firstName kết quả này trong một ID form1:firstName nếu phần tử là cấp cao nhất , nếu có vài cái được tạo trong vòng lặp, chúng trông giống như form1:1:firstName, form1:2:firstName,…

Hành vi khung này không thể thay đổi.

+0

Đối với JSF, xem tại đây: https://stackoverflow.com/a/7928290/1599699 ID chính xác phải được sử dụng, ví dụ: nếu bạn đặt 'id =" blah "' trong mã của bạn, nhưng phần tử đó nằm trong một '', thì, form là một phần tử 'NamingContainer' và vì vậy ID thực tế sẽ là' form: blah' trong HTML đầu ra thô. Vì vậy, bạn sẽ phải chỉ định 'form: blah' trong kiểu dáng CSS tùy chỉnh của bạn. – Andrew

+0

Cũng lưu ý rằng khi sử dụng dấu hai chấm trong kiểu dáng CSS, bạn cần sử dụng '\:' thay vì ':' cho IE 8 - IE 11 hoặc '\ 3A' thay vì': 'cho IE 6 - IE 7 (hoặc cho bất kỳ phiên bản nào). Xem tại đây: https://stackoverflow.com/questions/122238/handling-a-colon-in-an-element-id-in-a-css-selector#comment80053896_122266 – Andrew