word-wrap: break-word не работает в IE8

Подскажите, пожалуйста, почему word-wrap: break-word не работает в IE8?

У меня это работает в других браузерах, но IE8 отказывается слушать, несмотря на то, что читал этот пост на их сайте?

http://msdn.microsoft.com/en-us/library/ms531186(VS.85).aspx

Спасибо


person Sixfoot Studio    schedule 22.10.2010    source источник
comment
В нем говорится, прямо вверху страницы, которую вы связали с «CSS {-ms-word-wrap: sWrap}». Почему вы ожидаете, что версия без префикса будет работать?   -  person robertc    schedule 22.10.2010
comment
@robertc: Я думаю, что версии без префикса в целом все еще работают в IE 8? Если бы они этого не сделали, в IE 8 сломалась бы куча сайтов.   -  person Paul D. Waite    schedule 22.10.2010
comment
@PaulDWaite Я думал, что это одна из тех вещей, которые не имели префикса в бета-версии и в конечном итоге имели префиксы в выпуске?   -  person robertc    schedule 22.10.2010
comment
Я пробовал версию с префиксом и без префикса. И в их примерах он также не имеет префикса.   -  person Sixfoot Studio    schedule 22.10.2010
comment
Спасибо, ребята, в конце концов я пришел   -  person Sixfoot Studio    schedule 04.11.2010


Ответы (5)



Я обнаружил, что для применения word-wrap к td (ячейке таблицы) мне нужно стилизовать элемент table с table-layout: fixed. (Стандартный режим IE8.)

person Marc Stober    schedule 06.01.2011
comment
это также нужно для хрома - person NimChimpsky; 07.01.2013
comment
большое спасибо! Мне это нужно, чтобы использовать перенос слов в ячейке таблицы для рендерера orbeon. - person Mido; 07.02.2013
comment
просто использовать table-layout: fixed недостаточно. вам также необходимо использовать width - person Shafizadeh; 14.08.2015
comment
Это здорово, это поддерживает целостность мыслей. Работает IE7 +, Chrome, Mozilla, Safari. Можно сделать что-то вроде следующего, просто присвойте тегу таблицы класс table-wrap: .table-wrap {table-layout: fixed;} .table-wrap tr td {word-wrap: break-word;} - person Fi Horan; 26.10.2016

Попробуйте этот word-break: break-all; для IE8 и IE9 работает :)

person Satish Sharma    schedule 07.06.2013
comment
Легко и эффективно ...! - person JPCF; 20.07.2013
comment
Просто хотел указать, что перенос слов и перенос слов - это разные вещи. В следующем примере слово-разрыв: break-all; сократит слово consctetuer пополам и word-wrap: break-word - нет. ‹Стиль div = width: 222px; шрифт: 14px без засечек; ›Lorem ipsum dolor sit amet, consctetuer adipiscing elit. ‹/div› - person He Nrik; 04.11.2013
comment
На самом деле это не одно и то же. Функция Break-all разбивает слова посередине, даже если в этом нет необходимости. Break-word разбивает слово только в том случае, если оно не помещается в отдельной строке. - person Rudi Kershaw; 13.04.2016

Вы можете использовать

-ms-word-break: break-all;
person Abhishek Mehta    schedule 20.06.2014
comment
Пожалуйста, добавьте дополнительные пояснения к своему ответу. - person daniula; 21.06.2014
comment
В MDN четко сказано: ›IE8 представил -ms-word-break как синоним слова-break. Не используйте префикс -ms-. - person FranBran; 22.04.2016

Посмотрев на этот пример кода от Microsoft:
https://msdn.microsoft.com/en-us/library/ms531186%28VS.85%29.aspx

Мне удалось исправить мои проблемы с IE-8 с помощью следующего дополнения к документу и заголовку:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

... а затем используйте эту (официальную) директиву CSS:

word-wrap: break-word;
person Magnus    schedule 16.03.2016
comment
Кажется, очень тяжеловесно. Не думаю, что я бы порекомендовал кому-либо делать рендеринг приложения с ужасным движком рендеринга IE7 только для разрыва слова. Тем более, что при этом IE9 и выше будут отображаться как IE7. - person StingeyB; 09.08.2016
comment
Несправедливо голосовать против этого! По крайней мере, у меня это сработало. Плохое решение, но все же решение. - person Magnus; 26.08.2016