2012-02-16 50 views
5

Là người mới bắt đầu CSS, tôi nhận thấy rằng nếu bạn không khai báo màu đường viền dưới dạng viết tắt, nhưng trước khi bạn khai báo màu phông chữ, màu đó cũng sẽ áp dụng cho ví dụ cũ.Borders áp dụng màu phông chữ trong CSS

#crazyElement {color:red; border:1px solid;} 

cả hai sẽ có màu đỏ. Hơn nữa, nếu bạn khai báo màu phông chữ cho phần thân, mỗi đường viền không có màu được khai báo trong biểu mẫu viết tắt cũng sẽ áp dụng màu đó.

Điều này có bình thường không? Có lẽ nó không có gì đặc biệt, nhưng như một người mới tôi chỉ muốn kiểm tra ...

Trả lời

10

Đó là điều bình thường, và một cách hoàn hảo inline với specification

Nếu màu biên giới của một nguyên tố không được xác định với một tài sản biên giới, đại lý người dùng phải sử dụng giá trị của thuộc tính 'color' của phần tử làm giá trị được tính cho màu đường viền.

qua @BoltClock CSS3 Spec.currentColor đó là cách nó được định nghĩa.

+0

Người mới bắt đầu :) Tnx – vucibatina

+0

@vucibatina Nếu bạn tò mò, bạn có thể tìm kiếm bất kỳ thuộc tính css nào bằng cách sử dụng công cụ sửa đổi 'site: w3.org' trong hộp tìm kiếm để nhận kết quả rất phù hợp cho bất kỳ thuộc tính nào. – Andrew

0

Từ specs:

Khách sạn này mô tả các màu foreground của văn bản nội dung của một nguyên tố. Ngoài ra, nó được sử dụng để cung cấp một giá trị gián tiếp tiềm năng (currentColor) cho bất kỳ thuộc tính nào khác chấp nhận các giá trị màu. Nếu từ khóa ‘currentColor’ được đặt trên chính thuộc tính ‘color’, thì được coi là ‘màu sắc: kế thừa’.

Vì vậy, có, điều đó là bình thường.

+0

Trích dẫn này không tự trả lời câu hỏi lý do tại sao đường viền mang màu văn bản của phần tử theo mặc định (được đề cập ở đâu đó trong thông số). – BoltClock

+0

Nó được giải thích, giá trị thuộc tính 'color' được sử dụng trên một số phần tử khác có màu không được chỉ định, mặc dù tôi sẽ quản trị câu trả lời của Andrew tốt hơn của tôi. –

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