Arka plan rengi: hiçbiri geçerli CSS değil mi?


431

Birisi bana aşağıdaki CSS'nin geçerli olup olmadığını söyleyebilir mi?

.class {
    background-color:none;
}

10
Doğrulayıcı sıklıkla söz bu tür cevap verebilir.
thirtydot

10
Kafanız karışabilir background:none;, geçerli ve arka plan rengini saydam olarak ayarlayabilirsiniz.
Bay Lister

Yanıtlar:


551

Muhtemelen istediğiniz transparentkadar nonegeçerli bir değil background-colordeğer.

CSS 2.1 Spec için şöyle der background-colormülkiyet:

Value: <color> | transparent | inherit

<color>bir anahtar kelime veya bir rengin sayısal temsili olabilir. Geçerli coloranahtar kelimeler :

aqua, siyah, mavi, fuşya, gri, yeşil, kireç, kestane rengi, lacivert, zeytin, turuncu, mor, kırmızı, gümüş, deniz mavisi, beyaz ve sarı

transparentve inheritkendi başlarına geçerli anahtar kelimelerdir, ancak nonedeğildir.


25
Evet. Yana ilk değer olduğunu transparent, yani "off" arka plan rengini açmak istiyorsanız kullandığınız şeydir.
Bay Lister

1
Bunların hiçbiri bir önceki değerine sıfırlanır (yani eğer :( başka css kuralı tarafından ayarlanan
pstanton

2
@ durumunuzda, arka plan rengi vermeniz gerekir: şeffaf! önemli;
Herr

Bu bana kodlamaya ilk başladığımda yazı tipi rengini kullanmaya çalışmamı hatırlatıyor. Tabii ki colordeğil font-color. Diğer yazı tipi özellikleri fontönünde olduğunda çok mantıklı ...
serraosays

@herr Ama yine de pstanton'un dediği gibi, arka plan rengini saydam yapmak önceki css özelliklerini geçersiz kılar! Bu arka plan rengi özelliğini CSS özelliğini öncekinden alacak şekilde kaldırmanın bir yolu var mı?
SE_User

159

Hayır, transparentbunun yerine kullanın none. Örnek çalışma Bkz buraya değiştirmek eğer bu örnekte transparentiçin noneböyle olmaz işin

gibi kullan .class { background-color:transparent; }


Burada .class , şeffaf sınıfınızı adlandıracağınız yerdir .


Örneğimde tam tersi. Hiçbirini saydam olarak değiştirirseniz çalışmaz. Gerçekten hiçbirini kullanmam gerek: jsfiddle.net/BkAad
Hrvoje Golcic

Örneğinizde body *: not (.exception) {background-color: şeffaf} olarak değiştirin. İçindeki tüm diğerlerini bu özelliğe sahip olmaya zorladığı için! Ve iç kısım (lar) da, arka plan rengi özelliğini yalnızca arka plan rengi için kullanmak yerine arka plan rengi özelliğini kullanın.
yveslebeau

67

Cevap hayır.

Yanlış

.class {
    background-color: none; /* do not do this */
}

Doğru

.class {
    background-color: transparent;
}

background-color: transparentaynı şeyi yapmak istiyoruz background-color: none.


7
.class {
    background-color:none;
}

Bu geçerli bir mülk değil. W3C doğrulayıcı aşağıdaki hatayı görüntüleyecektir:

Değer Hatası: arka plan rengi yok arka plan rengi değeri değil: yok

transparentCSS spesifikasyonunun geliştirilmesi sırasında değerler yerine daha iyi bir terim 0veya nonedeğerler olarak seçilmiş olabilir .


2
Ve bu, James'in iki buçuk yıl önce söylediklerini tekrarlıyor, ancak kesilmemiş ve geçmiş bir formatta. ; ^)
Ruffin

6

CSS Seviye 3 unsetözellik değerini belirtir . Gönderen MDN'yi :

Unset CSS anahtar sözcüğü, başlangıç ​​ve devralma anahtar kelimelerinin birleşimidir. Diğer iki CSS geneli anahtar kelime gibi, CSS kısaltma da dahil olmak üzere herhangi bir CSS özelliğine uygulanabilir. Bu anahtar kelime, üst öğeden devralındığında mülkü devralınan değerine veya yoksa başlangıç ​​değerine sıfırlar. Başka bir deyişle, ilk durumda devral anahtar kelimesi gibi, ikinci durumda da ilk anahtar sözcük gibi davranır.

Ne yazık ki bu değer şu anda IE, Safari ve Opera dahil olmak üzere tüm tarayıcılarda desteklenmemektedir. Şimdilik kullanmayı öneririm transparent.


3

bunu yaz:

.class {
background-color:transparent;
}

2
Lütfen kodunuzu ve sorunun çözülmesine nasıl yardımcı olduğunu açıklayın! - Yorumdan
Luca Kiebel

Tamam. background-color bir css özelliğidir ve her css özelliğinin geçerli ve geçerli olmayan bir değeri olabilir. arka plan rengi için geçerli değer aşağıdaki biçimlerden biri olabilir: # 5f9 veya # 56f293 veya şeffaf. saydam, boş veya hiçbiri arka plan rengini istemediğiniz anlamına gelir.
Abolfazl Miadian

1
wow - 6 yıl sonra soru (ve cevap) bir kopya ile cevap?
NarfkX

sorma zamanı önemli değil çünkü her gün bazı insanlar cevaplar için bu sayfayı veya başka bir eski sayfayı ziyaret ediyor.
Abolfazl Miadian

1

Bu yüzden, bu çözümü kullanmak zorunda olduğum senaryoyu açıklamak istiyorum. Temel olarak, başka bir CSS tarafından ayarlanan arka plan rengi özelliğini geri almak istedim. Beklenen sonuç, orijinal CSS'nin arka plan rengi özelliğini hiç uygulamadığı gibi görünmesini sağlamaktı. Bu ayar background-color:transparent;etkili oldu.


1
Bu arka planı buluyorum: şeffaf benim için başka bir css tarafından ayarlanan bir arka plan rengini geçersiz kılmak için çalışmıyor. Arka plan seçersem: kırmızı; örneğin - bu işe yarayacak. Ancak arka plan: şeffaf; diğer css arka plan renginin kalmasına izin veriyor. Bunu nasıl durduracağına dair bir fikrin var mı?
Yardımcı Joel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.