2011-07-07 22 views
9

Tôi chỉ đang chơi với Firebug và chỉnh sửa tệp CSS của Gmail và tôi muốn chỉnh sửa nút nhưng ID div cho nút đó là :rj. Tôi khá chắc chắn rằng CSS không cho phép dấu hai chấm trong —và đặc biệt là bắt đầu là — ID và tên lớp. Vì vậy, tôi đoán đây là một số thủ đoạn tiên tiến. Tôi không chắc chắn nếu nó phù hợp như thế này cho mỗi người dùng, nhưng FWIW, ID là cho nút "Tìm kiếm Thư" ở đầu trang.Quy ước đặt tên và lớp học điên cuồng của Google

Có ai biết họ đang làm gì không và họ đang làm như thế nào?

+0

Chuẩn HTML cho phép dấu hai chấm trong các giá trị id nhưng ký tự đầu tiên của id phải là một chữ cái. –

+0

Một câu hỏi hay hơn có lẽ là * tại sao * họ đang làm điều đó? Xét cho cùng, Google nổi tiếng về mã tuân thủ và tiêu chuẩn của họ (không chỉ HTML, nhưng tôi đã nghe những điều tuyệt vời về C++ của họ), vì vậy phải có lý do chính đáng để họ bỏ qua tiêu chuẩn. –

+4

Rất có thể là tất cả những tên điên rồ được tạo ra bởi một công cụ và không phải những gì các nhà phát triển thực sự làm việc với. Google cũng nổi tiếng về tối ưu hóa và cạo bỏ một byte khỏi thứ gì đó mà hàng triệu người tải xuống có thể tiết kiệm thực sự. –

Trả lời

0

Google chỉ sở hữu một trình duyệt để nếu họ muốn tạo một ứng dụng web tương thích với trình duyệt chéo như firefox, họ phải tuân theo các tiêu chuẩn và quy tắc giống như mọi nhà phát triển web khác. Điều đó nói rằng hầu hết các trình duyệt hiện đại là khá khoan dung khi nói đến phân tích html vì vậy trong khi ví dụ của bạn là không đúng HTML và có lẽ sẽ không xác nhận sẽ không có hiệu ứng tiêu cực có thể nhìn thấy.

+1

Vâng, tôi đã suy nghĩ một cái gì đó dọc theo cùng một dòng, nhưng tôi không thể tìm thấy một lý do để biện minh cho nó. Tại sao họ sẵn sàng làm một cái gì đó có khả năng không tương thích với trình duyệt? Phải có một sự cân bằng đáng giá. – redgem

5

ID được sử dụng khá nghiêm ngặt về những gì được cho phép, không quá nhiều cho các lớp học. HTML5, tuy nhiên, đã giảm rất nhiều hạn chế về những gì có thể là giá trị ID.

Dưới đây là một bài viết về những gì được phép cho các ID và các lớp học trong HTML5: http://mathiasbynens.be/notes/html5-id-class

Đó là đủ để làm cho bạn đau đầu.

EDIT:

Để giải quyết nhiều câu hỏi của bạn về việc tại sao Google đang sử dụng một ID dường như ngẫu nhiên, tôi chắc chắn rằng các ID và các lớp học họ đang sử dụng có ý nghĩa hoàn hảo để các lập trình viên của họ.

Các vấn đề liên quan