Сводка с flexbox и псевдоэлементом не отображается в Safari

В Safari 14 мой пример ниже выглядит так:

Но если вы используете Chrome 87, например, это выглядит так:

Я не нашел, это известная проблема? Если это так, есть ли какие-либо предлагаемые обходные пути?

summary::-webkit-details-marker {
  display: none
}

details {
  width: 300px;
}

summary {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  outline: solid 4px #000;
  align-items: baseline;
}

summary::after {
  content: "🌏";
}
<details>
  <summary>Hello</summary>
</details>

попробуйте добавить префикс -webkit- для гибких правил.

s.kuznetsov 15.12.2020 08:26

Извините, я уже пробовал это. Обновлен фрагмент с префиксами webkit.

marcus 15.12.2020 08:42

попробуй -webkit-box-orient: horizontal; за summary

s.kuznetsov 15.12.2020 08:45

Извините, это не имеет никакого эффекта.

marcus 15.12.2020 08:47

удалось решить проблему?

s.kuznetsov 15.12.2020 10:50

Нет, пока нет, к сожалению

marcus 15.12.2020 11:31

попробуйте «поиграть» с гибкими правилами в инспекторе объектов сафари в режиме реального времени. Например, для псевдокласса :after укажите встроенный гибкий дисплей с префиксом или il flex: 1 1 auto и т. д.

s.kuznetsov 15.12.2020 12:14

Я узнал ответ и обновил вопрос с ответом и обходным путем.

marcus 16.12.2020 14:58
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
5
8
1 186
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема

Некоторые элементы HTML, такие как <summary>, <fieldset> и <button>, не работают как flex-контейнеры. Отображение браузером по умолчанию пользовательского интерфейса этого элемента конфликтует с объявлением display: flex.

Обходной путь

Простое решение этой проблемы — использовать элемент-оболочку, который может быть flex-контейнером (например, <span>) непосредственно внутри элемента, который не может.

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