Заставить элемент появляться в конце строки в реакции, независимо от размера экрана

Итак, у меня есть элемент, который переворачивает слова через фиксированный интервал.

         <div
            className = "inline-block flex justify-center items-center before:content-['lore_ipsum_dolor_lore_ipsum_dolor']  drop-shadow-[0_3px_3px_rgba(0,0,0,1)] text-2xl md:text-3xl mb-4"
          >
            <FlipWords words = {["word1", "word2", "word3", "word4"]} />
          </div>

нормально отображается на среднем и большом экране

но когда экран становится размером с мобильный...

Я бы хотел, чтобы в этом случае здесь появились «слова»:

Таким образом, размер экрана не должен иметь значения: когда flex этого элемента выполняет математические вычисления, основанные на размере контейнера, он все равно должен оставаться рядом с последним словом во фразе, как мне это сделать?

Реализация FlipWords

https://ui.aceternity.com/comComponents/flip-words

Можете ли вы добавить свою реализацию флип-слов?

Aravind Emmadishetty 24.05.2024 18:00
ui.aceternity.com/comComponents/flip-words
user2640145 24.05.2024 20:11

Я считаю, что это из-за гибкости. Можете ли вы удалить свойство flex и посмотреть, работает ли оно?

Aravind Emmadishetty 28.05.2024 08:15
Улучшение производительности загрузки с помощью 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
3
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Это связано с тем, что элемент :before и флиппер — это два отдельных гибких элемента, которые нужно размещать рядом.

Поскольку вы используете React, самое простое решение — переместить содержимое :before («lore ipsum dolor...») под оболочку, чтобы обернуть его вместе с перевернутыми словами.

Наконец, если вы хотите центрировать текст после переноса, justify-center недостаточно. text-center тоже нужен.

<div className = "inline-block flex justify-center text-center items-center drop-shadow-[0_3px_3px_rgba(0,0,0,1)] text-2xl md:text-3xl mb-4">
  <div>
    lore ipsum dolor lore ipsum_dolor
    <FlipWords words = {["word1", "word2", "word3", "word4"]} />
  </div>
</div>

Одна из идей решения на чистом CSS — использовать display:content (contents в Tailwind) на :before и обертке перевернутых слов. Это позволяет им не создавать конкретный блок самостоятельно, поэтому их дочерние/псевдоблоки будут размещаться непосредственно вместе. ** Предполагается, что слова в компоненте <FlipWords> не вложены в другие оболочки, что не в вашем случае.

<script src = "https://cdn.tailwindcss.com"></script>

<div class = "inline-block flex justify-center text-center items-center before:contents before:content-['lore_ipsum_dolor_lore_ipsum_dolor']  drop-shadow-[0_3px_3px_rgba(0,0,0,1)] text-2xl md:text-3xl mb-4">
  <div class = "contents whitespace-pre"> word1</div><!--<FlipWords>-->
</div>

вот реализация флипвордов, она содержит обертки для слов ui.aceternity.com/comComponents/flip-words

user2640145 24.05.2024 20:10

Ответ обновлен. В этом случае я скажу просто сгруппировать содержимое и FlipWords в оболочку, чтобы они не были разделены на два гибких элемента.

SyndRain 24.05.2024 21:15

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