The text-overflow:ellipsis;
properti CSS harus menjadi salah satu dari beberapa hal bahwa Microsoft telah dilakukan dengan benar untuk web.
Semua browser lain sekarang mendukungnya ... kecuali Firefox.
Pengembang Firefox telah memperdebatkannya sejak tahun 2005 tetapi meskipun ada permintaan yang jelas untuk itu, mereka tampaknya tidak dapat benar-benar menerapkannya (bahkan -moz-
implementasi eksperimental akan cukup).
Beberapa tahun yang lalu, seseorang menemukan cara untuk meretas Firefox 3 agar mendukung elipsis . Peretasan menggunakan -moz-binding
fitur untuk menerapkannya menggunakan XUL. Cukup banyak situs yang sekarang menggunakan peretasan ini.
Kabar buruknya? Firefox 4 menghapus -moz-binding
fitur tersebut , yang berarti peretasan ini tidak akan berfungsi lagi.
Jadi segera setelah Firefox 4 dirilis (saya dengar akhir bulan ini), kita akan kembali ke masalah karena tidak dapat mendukung fitur ini.
Jadi pertanyaan saya adalah: Apakah ada cara lain untuk menyiasatinya? (Saya mencoba untuk menghindari jatuh kembali ke solusi Javascript jika memungkinkan)
[EDIT]
Banyak suara positif, jadi saya jelas bukan satu-satunya yang ingin tahu, tapi sejauh ini saya punya satu jawaban yang pada dasarnya mengatakan 'gunakan javascript'. Saya masih mengharapkan solusi yang tidak membutuhkan JS sama sekali, atau paling buruk hanya menggunakannya sebagai cadangan di mana fitur CSS tidak berfungsi. Jadi saya akan memposting hadiah untuk pertanyaan itu, jika seseorang, di suatu tempat telah menemukan jawabannya.
[EDIT]
Pembaruan: Firefox telah memasuki mode pengembangan cepat, tetapi meskipun FF5 sekarang dirilis, fitur ini masih belum didukung. Dan sekarang sebagian besar pengguna telah meningkatkan dari FF3.6, peretasan bukan lagi solusi. Kabar baiknya, saya diberitahu bahwa itu mungkin ditambahkan ke Firefox 6, yang dengan jadwal rilis baru akan keluar hanya dalam beberapa bulan. Jika itu masalahnya, maka saya kira saya bisa menunggu, tapi sayang sekali mereka tidak bisa menyelesaikannya lebih awal.
[EDIT AKHIR]
Saya melihat bahwa fitur elipsis akhirnya ditambahkan ke "Aurora Channel" Firefox (yaitu versi pengembangan). Ini berarti bahwa sekarang harus dirilis sebagai bagian dari Firefox 7, yang akan dirilis menjelang akhir 2011. Sungguh melegakan.
Catatan rilis tersedia di sini: https://developer.mozilla.org/en-US/Firefox/Releases/7
Jawaban:
Spudley, Anda dapat mencapai hal yang sama dengan menulis JavaScript kecil menggunakan jQuery:
Saya memahami bahwa seharusnya ada beberapa cara agar semua browser mendukung ini secara native (tanpa JavaScript), tetapi itulah yang kami miliki saat ini.
EDIT Juga, Anda bisa membuatnya lebih rapi dengan melampirkan
css
kelas ke semua bidang lebar tetap katakanfixWidth
dan kemudian lakukan sesuatu seperti berikut:sumber
text-overflow:ellipsis;
sehingga saya masih dapat menggunakan opsi CSS di browser lain.length()
seharusnyalength
? Itu adalah properti.EDIT 30/09/2011
FF7 keluar, bug ini teratasi dan berhasil!
EDIT 29/08/2011
Masalah ini ditandai sebagai terselesaikan dan akan tersedia di FF 7; saat ini akan dirilis pada 09/27/2011.
Tandai kalender Anda dan bersiaplah untuk menghapus semua peretasan yang telah Anda lakukan.
TUA
Saya punya jawaban lain: tunggu .
Tim pengembang FF sedang berupaya keras untuk mengatasi masalah ini.
Mereka memiliki set perbaikan tentatif untuk Firefox 6.
Tenang, imajiner, orang yang terlalu reaktif. Firefox ada di jalur pengembangan cepat. FF6 ditetapkan untuk rilis enam minggu setelah Firefox 5. Firefox 5 ditetapkan untuk rilis 21 Juni 2011.
Sehingga menempatkan perbaikan pada awal Agustus 2011 ... semoga.
Anda dapat mendaftar ke milis mengikuti bug dari tautan di pertanyaan pengirim asli.
Atau Anda bisa klik di sini ; mana yang paling mudah.
sumber
Saya harus mengatakan bahwa saya sedikit kecewa karena satu-satunya peretasan khusus peramban di aplikasi saya adalah yang mendukung FF4. Solusi javascript di atas tidak memperhitungkan font lebar variabel. Berikut adalah skrip yang lebih panjang yang menjelaskan hal ini. Masalah besar dengan solusi ini adalah jika elemen yang berisi teks disembunyikan saat kode dijalankan maka lebar kotak tidak diketahui. Ini adalah pemecah kesepakatan bagi saya jadi saya berhenti mengerjakan / mengujinya ... tetapi saya pikir saya akan mempostingnya di sini jika itu berguna bagi seseorang. Pastikan untuk mengujinya dengan baik karena pengujian saya kurang dari lengkap. Saya bermaksud menambahkan pemeriksaan browser untuk hanya menjalankan kode untuk FF4 dan membiarkan semua browser lain menggunakan solusi yang ada.
Ini harus tersedia untuk mengutak-atik di sini: http://jsfiddle.net/kn9Qg/130/
HTML:
CSS:
Javascript (menggunakan jQuery)
Ini akan disebut seperti:
sumber
Saya telah mengalami gremlin ini selama seminggu terakhir juga.
Karena solusi yang diterima tidak memperhitungkan font lebar variabel dan solusi wwwhack memiliki While Loop, saya akan memasukkan $ 0,02 saya.
Saya dapat secara drastis mengurangi waktu pemrosesan masalah saya dengan menggunakan perkalian silang. Pada dasarnya, kami memiliki rumus yang terlihat seperti ini:
Variabel x dalam hal ini adalah apa yang perlu kita selesaikan. Ketika dikembalikan sebagai Integer, ini akan memberikan panjang baru yang seharusnya menjadi teks yang melebihi batas. Saya mengalikan MaxLength dengan 80% untuk memberi elips cukup ruang untuk ditampilkan.
Berikut adalah contoh html lengkap:
Saya mengerti bahwa ini adalah perbaikan hanya JS, tetapi sampai Mozilla memperbaiki bug, saya tidak cukup pintar untuk menghasilkan solusi CSS.
Contoh ini bekerja paling baik untuk saya karena JS dipanggil setiap kali grid dimuat di aplikasi kita. Lebar kolom untuk setiap kisi bervariasi dan kami tidak memiliki kendali atas jenis komputer apa yang dilihat oleh pengguna Firefox kami (yang, tentu saja, kami tidak boleh memiliki kendali itu :)).
sumber
Solusi CSS murni ini sangat dekat, kecuali fakta bahwa hal itu menyebabkan elipsis muncul setelah setiap baris.
sumber