Apakah ada perbedaan antara kedua properti CSS ini:
background: none;
background: transparent;
- Apakah keduanya valid?
- Mana yang harus digunakan dan mengapa?
css
background
web-tiki
sumber
sumber
background-color: transparent; background-image: none;
. Stylesheet pengguna mungkin mengganti salah satu atau kedua nilai tersebut, tetapi akan melakukannya persis seperti jikabackground-color: transparent; background-image: none;
telah ditulis secara eksplisit.transparent
dannone
.Sebagai informasi tambahan pada jawaban @Quentin , dan seperti yang dia katakan dengan benar,
background
properti CSS itu sendiri, adalah singkatan dari:Artinya, Anda dapat mengelompokkan semua gaya menjadi satu, seperti:
Ini akan menjadi (dalam contoh ini):
Jadi ... saat Anda menyetel:
background:none;
Anda mengatakan bahwa semua properti latar belakang disetel ke tidak ada ...Anda mengatakan itu
background-image: none;
dan yang lainnya keinitial
status (karena tidak dideklarasikan).Jadi,
background:none;
apakah:Sekarang, ketika Anda hanya menentukan warna (dalam kasus Anda
transparent
) maka pada dasarnya Anda mengatakan:Saya ulangi, sebagai @Quentin benar mengatakan yang
default
transparent
dannone
nilai-nilai dalam hal ini adalah sama, sehingga dalam contoh Anda dan untuk pertanyaan asli Anda, Tidak, tidak ada perbedaan di antara mereka.Tapi! .. jika Anda mengatakan
background:none
Vsbackground:red
maka ya ... ada perbedaan besar, seperti yang saya katakan, yang pertama akan mengatur semua properti kenone/default
dan yang kedua, hanya akan mengubahcolor
dan tetap sisanya dalamdefault
statusnya.Singkatnya:
Jawaban singkat : Tidak, tidak ada perbedaan sama sekali (dalam contoh dan pertanyaan asli Anda)
Jawaban panjang : Ya, ada perbedaan besar, tetapi bergantung langsung pada properti yang diberikan untuk atribut.
Upd1: Nilai awal (alias
default
)Nilai awal penggabungan nilai awal properti longhandnya:
Lihat
background
deskripsi lebih lanjut di siniUpd2: Memperjelas
background:none;
spesifikasi dengan lebih baik .sumber
console
di demo ini jsfiddle.net/dnzy2/6Untuk melengkapi jawaban lain: jika Anda ingin menyetel ulang semua properti latar belakang ke nilai awalnya (yang mencakup
background-color: transparent
danbackground-image: none
) tanpa secara eksplisit menentukan nilai apa pun sepertitransparent
ataunone
, Anda dapat melakukannya dengan menulis:sumber
initial
. lihat Dapatkah Saya Menggunakan dan MDN