CSS "color" vs. "font-color"

136

Adakah yang tahu mengapa CSS menyediakan colorteks, tetapi tidak memiliki font-coloratau text-color?

Tampaknya sangat kontra-intuitif, semacam text-decoration: underlinesuka daripada font-styleatau sesuatu yang terkait dengan font.

Apakah ada yang tahu mengapa / bagaimana W3C muncul dengan beragam nama CSS seperti ini?

Fred Wilson
sumber
1
Saya telah memulai petion untuk memperkenalkan properti "font-color". Mungkin sebagian dari Anda ingin menandatanganinya. change.org/p/…
tsuma534
Anda dapat melakukannya di dalam tag <font>. misal <font color = "red"> Hello World! <font>
airider74
@ airider74 Anda tinggal di tahun berapa? Elemen <font> sudah tidak digunakan lagi selama bertahun-tahun.
kojow7
Ya sudah ... tapi masih berfungsi
airider74

Jawaban:

112

Saya akan berpikir bahwa salah satu alasannya mungkin karena warna diterapkan pada hal-hal selain font. Sebagai contoh:

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

Menghasilkan warna font merah dan batas merah.

Atau, bisa jadi standar CSS W3C sepenuhnya mundur dan tidak masuk akal seperti yang dibuktikan di tempat lain.

MisterZimbu
sumber
4
Coba tambahkan yang berikut ini ke CSS di halaman ini: .post-text { color: blue; border: 1px solid red; }Anda akan melihat bahwa warna teks berwarna biru meskipun warna tepi merah.
Robusto
kemudian menurut definisi, warna font lebih cepat daripada warna karena harus melakukan lebih sedikit pekerjaan.
kta
193

Cara yang sama ketika Boston membuat rencana jalannya. Mereka mengikuti jalur sapi yang sudah ada di sana, dan membangun rumah-rumah yang tidak ada jalannya, dan setelah beberapa saat terlalu merepotkan untuk berubah.

Robusto
sumber
10

Saya tahu ini adalah posting lama tetapi seperti yang dinyatakan MisterZimbu, colorproperti mendefinisikan nilai properti lain, sebagai border-colordan, dengan CSS3, dari currentColor.

currentColor sangat berguna jika Anda ingin menggunakan warna font untuk elemen lain (sebagai latar belakang atau kotak centang kustom dan radio elemen dalam misalnya).

Contoh:

.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>

sok
sumber
Saya pikir ini memberi lebih banyak alasan untuk memiliki font-color/ text-colorproperti terpisah tersedia. Dengan begitu Anda dapat memiliki banyak bagian elemen dengan satu warna default tertentu, dan teks di bagian lain jika Anda mau. Jika tidak, itu mengikat warna default ke warna teks.
Ben J
@BenJ Mengikat warna default ke warna utama mungkin merupakan tujuan awal web. Hari ini Anda dapat menggunakan variabel css ( developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables ) dan / atau menggunakan preprosesor css sebagai Sass, Less, Stylus, dll. Di mana mudah untuk bekerja dengan variabel.
kuasi