Текст в контейнере flex не переносится в IE11

Рассмотрим следующий fragment:

.parent { display: flex; flex-direction: column; width: 400px; border: 1px solid red; align-items: center; } .child { border: 1px solid blue; } 
 
Lorem Ipsum is simply dummy text of the printing and typesetting industry
Lorem Ipsum is simply dummy text of the printing and typesetting industry

В Chrome текст обертывается, как ожидалось:

введите описание изображения здесь

Но в IE11 текст не обертывается :

введите описание изображения здесь

Является ли это известной ошибкой в ​​IE? (если да, то указатель будет оценен)

Известно ли обходное решение?


Этот подобный вопрос не имеет определенного ответа и официального указателя.

Добавьте это в свой код:

 .child { width: 100%; } 

Мы знаем, что дочерний блок уровня должен занимать всю ширину родителя.

Chrome это понимает.

По какой-то причине IE11 хочет получить явный запрос.

Использование flex-basis: 100% или flex: 1 также работает.

 .parent { display: flex; flex-direction: column; width: 400px; border: 1px solid red; align-items: center; } .child { border: 1px solid blue; width: calc(100% - 2px); /* NEW; used calc to adjust for parent borders */ } 
 
Lorem Ipsum is simply dummy text of the printing and typesetting industry
Lorem Ipsum is simply dummy text of the printing and typesetting industry

У меня была такая же проблема, и дело в том, что элемент не адаптировал свою ширину к контейнеру.

Вместо использования width:100% , будьте последовательны (не смешивайте плавающую модель и модель flex) и используйте flex, добавив следующее:

 .child { align-self: stretch; } 

Или:

 .parent { align-items: stretch; } 

Это сработало для меня.

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

 max-width: 100%; 

на ребенка может работать (работал на меня). Использование align-self: stretch работает только в том случае, если вы не используете align-items: center (что я и сделал). width: 100% работает только в том случае, если у вас нет нескольких дочерних элементов внутри вашего flexbox, которые вы хотите показать бок о бок.

Привет, мне пришлось применить ширину 100% к своему элементу grandparent. Не его дочерний элемент (ы).

  .grandparent { float:left; clear: both; width:100%; //fix for IE11 text overflow } .parent { display: flex; border: 1px solid red; align-items: center; } .child { border: 1px solid blue; } 

Зачем использовать сложное решение, если работает простой?

 .child { white-space: normal; } 
  • Как я могу заставить элемент управления WebBrowser отображать современное содержимое?
  • Доступ запрещен в IE 10 и 11, когда целью ajax является localhost
  • JQuery не обнаруживает IE 11
  • Как определить IE11?
  • icons шрифтов не загружаются в IE11
  • Selenium IE WebDriver работает только при отладке
  • Поддержка VBScript в Internet Explorer 11
  • Давайте будем гением компьютера.