#css #tailwind-css
Вопрос:
У меня есть div
с классом bg-blue-100 text-blue-900 dark:bg-info
, где bg-info
находится linear-gradient(to right, hsla(240, 100%, 50%, 0.2), transparent 50%)
Я понимаю, что режим освещения работает нормально, но dark:bg-info
не работает, так как он использует background-image
свойство CSS, а не background-color
свойство CSS для режима освещения.
Как мне заставить работать темный режим? Существует конфликт между background-image
в Темном режиме и background-color
в светлом режиме.
Как это решить?
Я сделал демонстрацию стекблица, показывающую проблему -> >https://stackblitz.com/edit/github-6frqvs-tqnsnl?file=pages/index.tsx
Откройте в новом окне, так как Темный режим попутного ветра не отображается бок о бок на Стекблитце.
Обратите внимание, как он не показывает синий градиент в темном режиме, несмотря на то, что код:
<div className="p-4 m-4 h-20 w-96 bg-red-400 text-red-900 dark:bg-info">Hello hi</div>
Редактировать:
Мне удалось заставить Темный режим работать в игре с попутным ветром, так что вот демо -> >https://play.tailwindcss.com/fecClyOaIZ
Установите флажок только в 1-м поле. 2-я коробка-это демонстрация того, как она действительно должна выглядеть в темном режиме.
В темном режиме 1-е поле должно выглядеть темно-синим с черным градиентом (см. 2-е поле).
Режим освещения (1-е поле выглядит правильно в режиме освещения)
Темный режим (1-е поле выглядит неправильно в темном режиме. На самом деле должно выглядеть как 2-я коробка)
Ответ №1:
Хитрость в том, чтобы использовать dark:bg-transparent
, как позволяет CSS background-color
, и background-image
в то же время.
<div class="h-screen m-0 p-0 dark:bg-black">
<div class="flex flex-col justify-center items-center mx-20 text-center h-full">
<div class="px-4 py-4 rounded-md bg-pink-100 text-pink-900 dark:bg-info dark:bg-transparent dark:text-white">This shouldn't look like this in Dark Mode</div>
<button id="toggleDark" class="inline-flex justify-center px-4 py-2 text-sm font-medium mt-8 text-green-900 bg-green-100 border border-transparent rounded-md hover:bg-green-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500" onclick="document.documentElement.classList.toggle('dark');">Toggle Dark Mode</button>
<div class="px-4 py-4 rounded-md dark:bg-info mt-8 dark:text-white">It should look like this in Dark Mode</div>
</div>
</div>
Игра с попутным ветром -> >https://play.tailwindcss.com/ZWl7ZBwqnQ