Я пишу расширение для существующего XUL-приложения, conkeror.Таким образом, в какой-то части пользовательского интерфейса, который я пишу, я создаю элементы HTML с фиксированной шириной, в данном случае <span>
s, для отображения различных результатов.
Внутри этихspan
s есть текст какой-то текст, который иногда слишком длинный, чтобы вместить его фиксированный контейнер.Я хотел бы отрезать части, которые являются слишком длинными, и завершить их многоточием.
Эти span
в настоящее время имеют следующие атрибуты CSS:
display: inline-block;
width: 30%;
overflow: hidden;
white-space: nowrap;
В дополнение к этому я хотел бы использовать text-overflow: ellipsis;
, но оказывается, что платформа Gecko пока не реализует это.Однако для простых HTML-страниц с обычными таблицами стилей для Firefox и других продуктов, основанных на Gecko, существует обходной путь, который позволяет обрезать слишком длинный текст и в любом случае помещать многоточие в конец.
подробности этой техники описаны здесь .Он использует способность Gecko запускать код XUL, чтобы творить чудеса.
Так что я попытался использовать это и в своем приложении XUL.Я изменил свою таблицу стилей, включив в нее описанный -moz-binding: url('ellipsis.xml#ellipsis');
, а также создал файл elipsis.xml
, как описано.
Однако, делая это (или аналогичные вещи, используя разные URL-адреса, например chrome: //или абсолютный файл: // URLs), похоже, никак не влияет на мое приложение.На самом деле, по словам strace, он даже не пытается получить доступ к файлу ellipsis.xml
.
Очевидно, что XUL может делать то, что я хочу, поэтому я предполагаю, что я делаю что-то не так, или я просто упускаю некоторые детали, о которых мне нужно позаботиться в первую очередь, чтобы получить желаемые результаты.
Я ищу способ вывести обычную дорожку text-overflow: ellipsis;
в XULприложение или, альтернативно, способ получить тот же результат без вышеупомянутой техники.