Firefox отделяет слово от косой черты

Почему Firefox разбивает слово из / (косая черта) и - (дефис) на строки.

Пример с / и -

table {
  width: 100%;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.

      </td>
    </tr>
  </tbody>
</table>

Пример без / и -

table {
  width: 100%;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiametetblanditiisarchitectsundoloremqnullobcaecatnobilibermollitiasialiquiodiomagncommodi.
      </td>
    </tr>
  </tbody>
</table>

Оба примера хорошо работают в других браузерах, я пробовал overflow-wrap, но не работал.

Я использую Firefox 67.0 (64-bit).

Пожалуйста, откройте его в Firefox.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
6
0
354
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы можете попробовать код HTML для косой черты и тире.

For / use &#47;
For - use &#8211;

Подробнее здесь: https://www.ascii.cl/htmlcodes.htm

это динамический контент

Abhishek Pandey 30.05.2019 06:49
Ответ принят как подходящий

Похоже, Mozilla рассматривает / и - как разделители пробелов. После небольшого исследования я предлагаю экранировать / и - с помощью эквивалентного HTML-кода, прежде чем выводить его в таблицу.

ОБНОВИТЬ
Нашел еще одно решение на чистом CSS, которое работает и в Mozilla.

table {
  width: 100%;
}

table td { 
    word-break: keep-all; 
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.

      </td>
    </tr>
  </tbody>
</table>

Вот небольшой фрагмент кода JS, который переводит / и - в эквивалентный html-код.

var str = 'Loremipsumdolorsitametconsectetura-dipisicingelitLaboredistinctionamdol-oresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.';

const escaped = str.replace(///g, '&#47;').replace(/-/g, '&#45;');

Я избегаю решения JS, поэтому я не отметил JS, так как сталкиваюсь с этой проблемой во всем проекте, а JS может замедлить работу пользовательского интерфейса/UX. Хотя я рассматриваю JS как последний вариант.

Abhishek Pandey 03.06.2019 08:39

Я обновил решение, которое представляет собой чистый CSS и работает и в Mozilla.

Pankaj Prakash 03.06.2019 08:51

Второй вариант работает хорошо, давайте подождем еще хороших ответов, иначе я выберу ваш.

Abhishek Pandey 03.06.2019 11:12

@PiyushMarvaniya По иронии судьбы вы использовали то же свойство в своем ответе и сказали, что этот ответ не работает.

Abhishek Pandey 06.06.2019 10:51

@AbhishekPandey - я должен попробовать «сохранить все», но не работает нормально

Piyush Marvaniya 06.06.2019 11:04

table {
  width: 100%;
}
table tr td {
    word-break: break-all;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.
      </td>
    </tr>
  </tbody>
</table>

Вы убрали все косые черты, вы убрали проблему вместо того, чтобы решить ее.

Abhishek Pandey 06.06.2019 10:52

Просто добавьте word-break: keep-all; к td в CSS, у меня работает

Если идея состоит в том, чтобы вообще не разрывать строку, вы можете использовать white-space: nowrap;.

Другие вопросы по теме