2011-12-21 1 views
6

Я пытаюсь обернуть текст внутри и тд, используя ниже стильРешение для прерывания слова: break-all styling в firefox?

word-break:break-all 

отлично работает в IE, но терпит неудачу в Firefox, прочитать, что это разве поддерживается! попробовал решение, указанное в http://petesbloggerama.blogspot.com/2007/02/firefox-ie-word-wrap-word-break-tables.html. Кажется, не работает, любое решение для этого?

Спасибо, Адарш

+0

Раствор из блога работает для меня идеально. – fyr

+0

Я попытался применить класс HardBreak на уровне td, и он не работал, это все, что вы сделали? – KeenUser

+0

Да, я только добавил имя класса в td и это его. – fyr

ответ

10

я, наконец, были некоторые проблемы с этим также Но я сумел заставить его работать:..

.hardBreak { 
    white-space: pre-wrap; /* css-3 */ 
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 
    white-space: -pre-wrap; /* Opera 4-6 */ 
    white-space: -o-pre-wrap; /* Opera 7 */ 
    word-wrap: break-word; /* Internet Explorer 5.5+, 6, 7, 8 compability-mode */ 
    -ms-word-break: break-all; /* Internet Explorer 8 */ 
} 

Я надеюсь, что это помогает

Последний вариант необходим при использовании собственного режима IE8. Это работает для меня и тестируется в FF8, IE 7, 8compability, 8native, Chrome.

+0

word-break: keep-all; работает в firefox. – aleXela

+0

Перерыв во времени: разрыв-все, нервы стареет.поскольку он появляется в поиске Google, я хотел бы предложить обновить его с помощью новой информации: теперь 'word-break: break-all;' также работает в Firefox :) –

0

Я не думаю, что решение, которое вы упоминаете работал в течение некоторого времени; он может (нечаянно?) работал над некоторыми предыдущими версиями Firefox, но он не похож на тот, который можно было бы ожидать для выполнения задания (pre-wrap не следует ожидать, чтобы сломать слова).

Способ сделать Firefox обрабатывать точку как допустимую возможность прямого разрыва строки - это тег <wbr> - не в любой спецификации, но широко поддерживается. Обычно его лучше всего использовать, вставив его на подходящих точках, но в крайнем случае вы могли бы даже поместить его между любыми двумя символами (предположительно, для этого вы использовали бы предварительную обработку, серверный скриптинг или клиентский JavaScript) ,

0

Попробуйте вместо этого:

word-wrap:break-word 

Он должен работать во всех браузерах (до тех пор, пока у вас есть фиксированная ширина на DIV/ячейке вы претендуете его ...

+0

Нет, этот даже не работал в IE на уровне td. – KeenUser

+1

Если вы публикуете фактический HTML, я могу взглянуть. У вас есть фиксированная ширина на теге td? – Fred

1

Использование word-wrap: break-word; Это, безусловно, будет работать!

+1

Дайте код вашему ответу и сделайте это немного кратко. –

1

перенос слов будет работать только для встроенный блок или блок элементов. Таким образом, вы должны изменить свой тип элемента. Как:

.example { 
 
    display: inline-block; 
 
    word-break: break-all; 
 
}

+0

Хорошая точка. Если бы эта проблема была на моей стороне и исправлена ​​встроенным блоком. Благодарю. –