- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想让它像 https://tailwindui.com/components/application-ui/overlays/modals 上的第一个模态一样居中
我在下面的 Modal 上复制了相同的类,但我无法将它垂直居中。类是完全相同的。
是 React Portal 的问题吗?
Modal.tsx
import * as React from "react"
import { Dialog } from "@headlessui/react"
type ModalProps = {
isOpen: boolean
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>
}
export const Modal = ({ isOpen, setIsOpen }: ModalProps) => {
return (
<Dialog
open={isOpen}
onClose={setIsOpen}
as="div"
className="fixed inset-0 z-10 overflow-y-auto"
>
<div className="flex flex-col bg-gray-800 text-white w-96 mx-auto py-8 px-4 text-center">
<Dialog.Overlay />
<Dialog.Title className="text-red-500 text-3xl">
Deactivate account
</Dialog.Title>
<Dialog.Description className="text-xl m-2">
This will permanently deactivate your account
</Dialog.Description>
<p className="text-md m-4">
Are you sure you want to deactivate your account? All of your data
will be permanently removed. This action cannot be undone.
</p>
<button
className="w-full m-4 inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
onClick={() => setIsOpen(false)}
>
Deactivate
</button>
<button
className="m-4 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
onClick={() => setIsOpen(false)}
>
Cancel
</button>
</div>
</Dialog>
)
}
代码沙盒 →
https://codesandbox.io/s/headless-ui-dialog-1gd8e
最佳答案
我不得不添加 flex justify-center items-center
到父级并删除 mx-auto
从 child 上课。
import * as React from "react"
import { Dialog } from "@headlessui/react"
import clsx from "clsx"
type ModalProps = {
isOpen: boolean
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>
}
export const Modal = ({ isOpen, setIsOpen }: ModalProps) => {
return (
<Dialog
open={isOpen}
onClose={setIsOpen}
as="div"
className={clsx(
"fixed inset-0 z-10 overflow-y-auto flex justify-center items-center",
{
"bg-gray-900": isOpen === true,
},
)}
>
<div className="flex flex-col bg-gray-800 text-white w-96 py-8 px-4 text-center">
<Dialog.Overlay />
<Dialog.Title className="text-red-500 text-3xl">
Deactivate account
</Dialog.Title>
<Dialog.Description className="text-xl m-2">
This will permanently deactivate your account
</Dialog.Description>
<p className="text-md m-4">
Are you sure you want to deactivate your account? All of your data
will be permanently removed. This action cannot be undone.
</p>
<button
className="w-full m-4 inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
onClick={() => setIsOpen(false)}
>
Deactivate
</button>
<button
className="m-4 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
onClick={() => setIsOpen(false)}
>
Cancel
</button>
</div>
</Dialog>
)
}
现在看起来很完美→
https://codesandbox.io/s/headless-ui-dialog-1gd8e
关于html - 无法将 `Dialog/Modal` 从使用 React Portal 和 Tailwind CSS 的 `@headlessui/react` 居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66595161/
我想将颜色变量(默认或扩展)用于我的扩展主题,例如: module.exports = { content: ['./index.html', './src/**/*.{js,ts,jsx,t
我们如何在 Tailwind 中设置单个列的宽度? 例如在 Vanilla CSS 我会 .grid-container { display: grid; grid-template-colu
我是 Tailwind CSS 的新手。我在构建 React 项目时遇到了这个错误: The hover: class does not exist. If hover: is a custom cl
为什么 tailwind 中没有太多的百分比单位,例如我想要 50% 的宽度。我知道我可以向它添加自定义配置,但我只是想知道是否有任何特定原因。 最佳答案 我会说这更像是一种个人偏好的编码风格。使用后
我正在尝试将项目对齐到屏幕右侧并使其粘滞。 但正如你在这个 sandbox 中看到的那样它不起作用。 未应用正确的属性。 我该怎么办? 最佳答案 这也行 hossein 关于tailwind-
是否可以在 tailwind 配置中使颜色动态化。 我想从后端通过 api 接收所需的(primary,accent)颜色。 因此用户可以从管理面板更改颜色。 我想从 api 获取这个十六进制值 最佳
我正在尝试使用顺风基于系统默认值启用暗模式。 为此,我使用了插件: Tailwind dark mode 。 我的顺风配置失败如下: defaultTheme = require('tailwindc
我有几个消息框,每个框都有一个数据作者属性。 如果我想在 CSS 中对这些消息框应用样式,我可以这样做: [data-author="Ben"] { background-color: blue;
没有错误,但 Tailwind 没有应用任何样式: 包.json "dependencies": { "tailwindcss": "npm:@tailwindcss/postcss7-com
我想要transition-transform 和transition-shadow,既不是transition-all 也不是只有一个。把这两个不影响,我找不到它的文档,我尝试像这样玩:transi
我正在尝试使用 webpack 5 和 tailwind 2。日志表明大多数事情都设置正确,但没有进行清除。 我跑 NODE_ENV=production webpack --config webpa
我正在尝试 extend使用他们的 tailwind.config.js 的 tailwind css 调色板文件。我的目标是创建一组主要和次要颜色,我可以在设计我的网站时使用它们。我想通过从默认的顺
我一直在使用带有“清除”选项的 Tailwind 来使最终的 css 文件更小且成功。但是,我一直想知道我的方法的效率。我正在处理有很多子文件夹的项目,我都指定如下: purge: {
你如何在 Tailwind 中设置整页背景? 我可以看到使用的唯一属性是 h-screen ,但是当我调整浏览器大小时这不起作用。 这是我的代码: 完整的 html 示例:
将顺风 CSS 包含在我不希望它全局应用的系统中时,我找不到一个很好的方法来确定适用于自定义构建选项的范围。 基本上我想这样做: .tailwind{ @import "tailwindcss
我正在学习 Tailwind CSS。据我了解,如果您想设置元素的样式,请向其添加 Tailwind 实用程序 css 类。想给多个相似元素设置样式怎么办?例如,我有以下 HTML 片段:
我正在学习 Tailwind CSS。据我了解,如果您想设置元素的样式,请向其添加 Tailwind 实用程序 css 类。想给多个相似元素设置样式怎么办?例如,我有以下 HTML 片段:
我需要将所有具有相应响应尺寸的边距值列入白名单。 例子: 'mb-10' 'md:mb-10' 'xl:mb-10' 等等。 这是我现在在我的 tailwind.config.js 中的内容,但它似乎
我一直在尝试使用 Tailwind 来自定义 Quasar 组件,但 Quasar CSS 已经覆盖了大部分 Tailwind CSS。 我在我的 tailwind.config.js 中添加了一个前
我必须并排放置两列。这些列之一具有固定宽度。我真的很想理解为什么一列中的固定宽度在 Tailwind CSS flexbox 上不起作用。 我有以下代码: This title pushed
我是一名优秀的程序员,十分优秀!