2013-04-30 65 views
9

Tôi đang chỉnh sửa trang web mà tôi đã kế thừa và tôi thấy cú pháp css mà tôi không nhận ra.Dấu ngoặc vuông trong một kiểu css làm gì?

Có ai từng nhìn thấy cú pháp này trước đây không? Dấu ngoặc vuông trong một kiểu có nghĩa là gì?

Cảm ơn, Rob

.trigger-txt-left { 
color: #0455A3; 
font-family: 'OpenSans'; 
float: left; 
font-size: 16px; 
font-weight: bolder; 
width: 235px; 

[font-family: 'OpenSans'; 
font-family: 'HelveticaNeue-Bold';] 
[font-weight: bolder; 
font-weight: normal;] 
} 
+10

Tôi chỉ ngồi đây và tự động downvote bất kỳ ai đi cùng và nói "bộ chọn thuộc tính". – BoltClock

+9

Bộ chọn thuộc tính: 3 – lifetimes

+2

Bộ chọn thuộc tính chắc chắn. – sachleen

Trả lời

8

Câu trả lời ngắn gọn là, không có gì. Chúng không phải là CSS hợp lệ.

Tuy nhiên, có lẽ người đó đang sử dụng một số mã để chọn đúng mã ở một nơi khác, ví dụ, một số PHP có thể đọc, sau đó phân tích cú pháp [] rồi chọn thuộc tính chính xác.

Hoặc có thể họ đã không nhận ra để sử dụng các nhận xét về phong cách /* */ hoặc có thể họ cho rằng chúng đang thông minh bằng cách đảm bảo nó không hợp lệ theo cách đó.

Có nhiều khả năng đây là lỗi, có thể sao chép và dán từ đâu đó.

+1

Điều này giống như một bình luận. –

+0

Điều gì về đầu vào [type = text] là css hợp lệ? Pseudo có, nhưng vẫn còn. – rncrtr

+0

Không có trong khối khai báo, mà là bộ chọn. Nó được gọi là bộ chọn thuộc tính. –

4

TL; DR - Nó không phải là hợp lệ CSS

Nó có thể là hữu ích để nhìn vào spec CSS trong trường hợp này. 4.1.8 Declarations and properties nói rằng "Tên thuộc tính là số nhận dạng". và section on identifiers syntax giải thích rằng:

Trong CSS, định danh (bao gồm tên nguyên tố, các lớp học, và ID trong selectors) có thể chỉ chứa các ký tự [a-zA-Z0-9] và ISO 10646 kí tự U + 00A0 và cao hơn, cộng với dấu nối (-) và dấu gạch dưới (_); chúng không thể bắt đầu bằng một chữ số, hai dấu gạch ngang, hoặc dấu gạch ngang theo sau là một chữ số. Định danh cũng có thể chứa các ký tự thoát và bất kỳ ký tự ISO 10646 nào dưới dạng mã số (xem mục tiếp theo). Ví dụ: số nhận dạng "B & W?" có thể được viết là "B \ & W \?" hoặc "B \ 26 W \ 3F".

... mà không bao gồm các [ nhân vật (xem Unicode character table), do đó các định danh (trong trường hợp này tên của một thuộc tính CSS trong một khối) [font-family: 'OpenSans';\nfont-family: 'HelveticaNeue-Bold';] là không hợp lệ.

+0

@dystroy: Bởi vì đó là cách trình phân tích cú pháp CSS sẽ phân tích cú pháp đó? Một khai báo trong một ruleset luôn luôn phải bắt đầu với một mã định danh thuộc tính, khoảng trống bất kể. Tuy nhiên, định danh đó chắc chắn sẽ không kéo dài toàn bộ các khai báo được bao quanh bởi các dấu ngoặc vuông ... – BoltClock

+0

@BoltClock Sau đó, liên kết có liên quan có thể sẽ nhiều hơn thế này: http://www.w3.org/TR/CSS21 /syndata.html#rule-sets –

+0

@dystroy Tôi không bao gồm bit trong phần 4.1.8 trong đó thông số nói rằng "tên thuộc tính" là số nhận dạng. Xin lỗi vì điều đó. –

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