CSS màu colorvvvvvvvvvvvvvvvvvvvv


136

Bất cứ ai cũng biết tại sao CSS cung cấp colorcho văn bản, nhưng không có font-colorhoặc text-color?

Có vẻ rất phản trực giác, giống như text-decoration: underlinehơn font-stylehoặc một cái gì đó liên quan đến phông chữ.

Có ai biết tại sao / làm thế nào W3C đưa ra một loạt các tên CSS như thế này không?


1
Tôi đã bắt đầu một bản kiến ​​nghị để giới thiệu thuộc tính "font-color". Có lẽ một số bạn muốn ký nó. change.org/p/ từ
tsuma534

Bạn có thể làm điều đó trong thẻ <font>. ví dụ: <font color = "red"> Xin chào thế giới! <font>
airider74

@ airider74 Bạn sống ở năm nào? Phần tử <font> không được dùng nữa trong nhiều năm.
kojow7

Vâng, nó có ... nhưng nó vẫn hoạt động
airider74

Câu trả lời:


111

Tôi nghĩ rằng một lý do có thể là màu sắc được áp dụng cho những thứ khác ngoài phông chữ. Ví dụ:

div {
    border: 1px solid;
    color: red;
}

Mang lại cả màu phông chữ đỏ và viền đỏ.

Ngoài ra, có thể các tiêu chuẩn CSS của W3C hoàn toàn ngược và vô nghĩa như đã được chứng minh ở những nơi khác.


4
Hãy thử thêm phần sau vào CSS trên trang này: .post-text { color: blue; border: 1px solid red; }Bạn sẽ thấy màu văn bản là màu xanh mặc dù màu viền là màu đỏ.
Robusto

sau đó theo định nghĩa, màu phông chữ nhanh hơn màu sắc vì nó phải làm ít việc hơn.
kta

193

Giống như cách Boston đưa ra kế hoạch đường phố. Họ đi theo những con đường bò đã có ở đó, và xây dựng những ngôi nhà nơi đường phố không có, và sau một thời gian, thật khó để thay đổi.


10

Tôi biết đây là một bài viết cũ nhưng như MisterZimbu đã nêu, thuộc colortính đang xác định các giá trị của các thuộc tính khác, như border-colorvà, với CSS3, của currentColor.

currentColor rất tiện dụng nếu bạn muốn sử dụng màu phông chữ cho các yếu tố khác (ví dụ như hộp kiểm hoặc nền tùy chỉnh và radio của các yếu tố bên trong chẳng hạn).

Thí dụ:

.element {
  color: green;
  background: red;
  display: block;
  width: 200px;
  height: 200px;
  padding: 0;
  margin: 0;
}

.innerElement1 {
  border: solid 10px;
  display: inline-block;
  width: 60px;
  height: 100px;
  margin: 10px;
}

.innerElement2 {
  background: currentColor;
  display: inline-block;
  width: 60px;
  height: 100px;
  margin: 10px;
}
<div class="element">
  <div class="innerElement1"></div>
  <div class="innerElement2"></div>
</div>


Tôi nghĩ rằng điều này thậm chí còn cung cấp thêm lý do để có một tài sản font-color/ text-colortài sản riêng . Bằng cách đó, bạn có thể có nhiều phần của phần tử với một màu mặc định cụ thể và văn bản trong phần khác nếu bạn muốn. Nếu không, nó liên kết màu mặc định với màu văn bản.
Ben J

@BenJ Liên kết màu mặc định với màu chính có lẽ là ý định trong những ngày đầu của web. Ngày nay, bạn có thể sử dụng các biến css ( developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables ) và / hoặc sử dụng bộ tiền xử lý css như Sass, Less, Stylus, v.v ... nơi dễ dàng làm việc với các biến.
gần đây
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.