Принудительный перенос виджета описания - PullRequest
2 голосов
/ 07 января 2009

Я пытаюсь получить описание в приложении XUL для переноса, даже если оно содержит длинные строки.

Например, если я сохраню следующее в виде файла .xul и открою его в Firefox, он выглядит нормально и оборачивается соответствующим образом:

<?xml version="1.0"?>
 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
 <window
    id="theWindow"
    title="The Window"
    style="overflow: auto;"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    xmlns:html="http://www.w3.org/1999/xhtml"
    >


  <vbox flex="1" style="max-width: 200px; overflow:auto; border: 1px dotted black; padding: 2px;">
    <description style="border: 1px solid black; padding: 2px;">test</description>
    <description style="border: 1px solid black; padding: 2px;">test test test test test test test test test test test test test test test test test test test test test</description>
  </vbox>
</window>

Однако, если я уберу пробелы в большой строке, она не будет перенесена, и я просто получу полосу прокрутки, чтобы увидеть строку:

<?xml version="1.0"?>
 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
 <window
    id="theWindow"
    title="The Window"
    style="overflow: auto;"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    xmlns:html="http://www.w3.org/1999/xhtml"
    >


  <vbox flex="1" style="max-width: 200px; overflow:auto; border: 1px dotted black; padding: 2px;">
    <description style="border: 1px solid black; padding: 2px;">test</description>
    <description style="border: 1px solid black; padding: 2px;">testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest</description>
  </vbox>
</window>

Можно ли как-нибудь использовать CSS или что-то еще, чтобы принудительно перенести длинную строку, когда она достигает предела в 200 пикселей?

Ответы [ 2 ]

2 голосов
/ 12 января 2009

Firefox 3.1 поддерживает это: http://www.css3.info/preview/word-wrap/

Свойство word-wrap было изобретено Microsoft и добавлено в CSS3. Он позволяет разбивать длинные слова и переносить их на следующую строку. Он принимает два значения; нормальное или ключевое слово. В настоящее время это поддерживается в IE, Safari и Firefox 3.1 (Alpha).

В старых (и текущих) версиях Firefox не существует стандартного способа (Google был моим другом) сделать это. Некоторые предлагают использовать небольшой скрипт, который добавляет <br /> в середине слова. Используйте word-wrap: break-word и надейтесь, что пользователи в итоге обновятся.

0 голосов
/ 09 октября 2009

Изначально ChatZilla использовался для разбрасывания пустых imageэлементов на выход, который служил бы точками, в которые можно переносить длинные слова, хотя позже это было изменено на элементов.

...