Kami (tercinta) desainer terus menciptakan file PNG dengan latar belakang transparan untuk digunakan dalam aplikasi kami. I'd seperti untuk memastikan bahwa fitur PNG bekerja di "anak" browser juga. Apa's solusi terbaik?
suntingan di bawah ini
@mabwi & @syd - Apakah atau tidak saya setuju tentang penggunaan PNG adalah bukan titik. Ini adalah masalah yang saya butuhkan untuk memecahkan!
@Tim Sullivan - IE7.js terlihat cukup keren, tapi aku don't pikir saya ingin memperkenalkan semua perubahan lain aplikasi. I'd seperti solusi yang perbaikan PNG masalah secara eksklusif. Terima kasih untuk link.
Berikut ini adalah artikel yang menjelaskan dan menunjukkan bagaimana untuk menangani PNG transparansi di browser lama: http://www.alistapart.com/stories/pngopacity/
I've menemukan apa yang terlihat menjadi solusi yang sangat baik di sini: Unit Interaktif -> Labs -> Unit PNG Fix
update Unit PNG ini juga ditampilkan pada daftar PNG fix pilihan di NETTUTS
Berikut adalah highlights dari situs web mereka:
background-position
dan ulangi
!Juga paletted 8-bit PNG dengan penuh transparansi alpha ada, bertentangan dengan apa yang Photoshop dan GIMP dapat membuat anda percaya, dan mereka menurunkan baik di IE6 – itu hanya menebang transparansi untuk 1-bit. Gunakan pngquant untuk menghasilkan file tersebut dari 24-bit Png.
I've kacau dengan mencoba untuk membuat sebuah situs dengan .png dan itu hanya isn't worth it. Situs menjadi lambat, dan anda menggunakan hacks yang don't bekerja 100%. Berikut ini's artikel yang bagus pada beberapa pilihan, tetapi saran saya adalah untuk menemukan cara untuk membuat gif bekerja sampai anda don't harus mendukung IE6. Atau hanya memberikan IE6 terdegradasi pengalaman.
@Hboss
yang's semua baik-baik dan keren jika anda tahu persis semua file (dan dimensi dari masing-masing) bahwa anda're akan menampilkan - it'd be a royal pain untuk menjaga agar file CSS, tapi saya kira itu'd mungkin. Ketika anda ingin mulai menggunakan Png transparan untuk beberapa tujuan umum: a) insidental grafis seperti ikon (mungkin ukuran yang berbeda-beda) yang bekerja di latar belakang, dan b) mengulangi latar belakang; kemudian anda're kacau. Setiap pemecahan masalah I've telah mencoba memukul batu sandungan di beberapa titik (can't pilih teks ketika latar belakang transparan, sometimes gambar yang ditampilkan di wacky ukuran, dll), dan I've menemukan bahwa untuk keandalan maksimum I'll harus kembali ke gif.
Saran saya adalah untuk memberikan transparansi PNG hack tembakan, tapi pada saat yang sama menyadari bahwa itu's pasti tidak sempurna - dan hanya ingat, anda're membungkuk ke belakang untuk pengguna sebuah browser yang lebih dari 7 tahun. Apa yang saya lakukan hari ini adalah memberikan pengguna IE6 popup pada kunjungan pertama mereka ke situs, dengan pengingat bahwa mereka browser sudah usang dan tidak't menawarkan fitur yang diperlukan oleh situs web modern, dan, meskipun kami'll mencoba yang terbaik untuk memberikan anda yang terbaik, anda'll mendapatkan pengalaman yang lebih baik dari situs kami dan internet secara keseluruhan jika anda BERDARAH JUGA DITINGKATKAN.
Menggunakan PNGs di IE6 hampir tidak ada yang lebih sulit daripada browser lainnya. Anda bisa mendukung semua ini di CSS tanpa Javascript. I've terlihat hack ini ditampilkan sebelum...
div.theImage {
background : url(smile.png) top left no-repeat;
height : 100px;
width : 100px;
}
* html div.theImage {
background : none;
progid:DXImageTransform.Microsoft.AlphaImageLoader(src="layout/smile.png", sizingMethod="scale");
}
I'm tidak begitu yakin ini adalah CSS valid, tetapi tergantung pada situs, ini mungkin tidak begitu penting.
(itu's dicatat bahwa URL untuk gambar pertama didasarkan pada direktori stylesheet, di mana kedua didasarkan pada direktori halaman yang sedang dilihat - jadi mengapa mereka tidak cocok)
Jika anda mengekspor gambar anda sebagai PNG-8 dari Kembang api kemudian mereka'll bertindak sama seperti gambar gif. Sehingga mereka tidak't melihat menyebalkan dan abu-abu, transparansi akan transparansi tetapi mereka tidak't memiliki 24 bit keindahan yang browser lain lakukan.
Mungkin tidak benar-benar memecahkan masalah anda, tapi setidaknya anda bisa mendapatkan bagian jalan di sana hanya menjadi re-ekspor mereka.
saya mungkin salah, tapi saya'm cukup yakin IE6 dan kurang hanya don't melakukan transparansi dengan file PNG.
Anda semacam ini, dan anda semacam aren't.
IE6 tidak memiliki dukungan native untuk mereka.
Namun, YAITU memiliki dukungan untuk gila custom javascript/css dan COM benda-benda (yang adalah bagaimana mereka awalnya dilaksanakan XmlHttpRequest)
Semua hacks ini pada dasarnya melakukan hal ini:
Satu hal untuk berpikir tentang adalah klien Email. Anda sering ingin PNG-24 transparansi tapi di Outlook 2003 dengan mesin yang menggunakan IE6. Email klien tidak't memungkinkan CSS atau JS trik.
Berikut ini adalah cara yang baik untuk mengatasinya. http://commadot.com/png-8-that-acts-like-png-24-without-fireworks/
Saya mungkin salah, tapi saya'm cukup yakin IE6 dan kurang hanya don't melakukan transparansi dengan file PNG.
Saya memiliki dua "solusi" yang saya gunakan. Baik membuat file GIF dengan transparansi dan menggunakan orang-orang di mana-mana, atau hanya menggunakannya untuk IE 6 dan lebih tua dengan bersyarat style sheet. Kedua benar-benar hanya bekerja jika anda menggunakan mereka sebagai latar belakang, dll.