Выравнивание пространства содержимого между двумя промежутками в попутном ветре

Как вы можете видеть в приведенном ниже фрагменте кода, я попробовал все 6 методов выравнивания и выравнивания контента, элементов и свойств Tailwind, а также гибкого выравнивания между родительским элементом, но мне все еще не удалось получить желаемое «пространство между» результат так, что ArrowIcon сместится в крайний правый конец, как показано на рисунке ниже.

<span className='text-lg flex justify-between'>
  <span>{title}</span>
  <span>
    {showPreview ? (
      <KeyboardArrowUpIcon className='justify-end justify-self-end justify-items-end content-end items-end self-end' />
    ) : (
      <KeyboardArrowDownIcon className='justify-end justify-self-end justify-items-end content-end items-end self-end' />
    )}
  </span>
</span>

Возможно, я просто упускаю из виду какую-то базовую проблему HTML или CSS, но я не помню, чтобы у меня возникали такие большие трудности при попытке выполнить это без Tailwind, поэтому я изначально склоняюсь к тому, чтобы предположить, что это связано с Tailwind. Кстати, это проект Next.js, и в globals.css в настоящее время применяются следующие элементы:

@tailwind base;
@tailwind components;
@tailwind utilities;
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
0
0
76
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я думаю, что ваш гибкий контейнер должен быть блочным элементом, иначе он схлопнется до размеров дочерних элементов. Кроме того, стиль внутренних элементов React не будет вести себя так, как вы ожидаете, поскольку они находятся внутри содержащего диапазона, который будет корректироваться на основе гибкой параметризации родительского элемента.

Здесь я поменял контейнер на div и в принципе вроде работает. https://jsfiddle.net/bodsvqp8/

<div style = "display: flex; justify-content: space-between;">
  <span>Title</span>
  <span>Arrow</span>
</div>

Обновлено: в качестве альтернативы использованию блочного контейнера вы можете расширить контейнер несколькими способами: использовать gap между компонентами, использовать min-width,...

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

Сработало следующее (явное задание ширины родительского элемента, чтобы оно занимало все доступное пространство):

<span className='flex justify-between w-full text-xl'>
  {title}
  {showPreview ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}
</span>

Также сработало следующее:

<div className='flex justify-between w-full text-xl'>
  {title}
  {showPreview ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}
</div>

Но предложение преобразовать родительский элемент из в один не сработало.

При этом есть ли у кого-нибудь аргумент в пользу того, должно ли «семантически» это быть a или a? Моя первоначальная склонность — потому что весь контент встроен, но мне интересно услышать другие мнения.

Ваши дочерние компоненты не получают полную ширину из-за проблемы с родительским контейнером, который в данном случае является тегом диапазона, а не элементом уровня блока.

Демо - https://play.tailwindcss.com/8eopMtQQ8m

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