Jin*_*Yoo 10 next.js antd tailwind-css
我在 Next.js 项目中应用了 tailwind CSS 和 Ant 设计。
我发现主按钮是白色的。
但当鼠标悬停时它会显示自己的主按钮颜色。
全局.css
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
h1 {
@apply text-2xl;
}
h2 {
@apply text-xl;
}
/* ... */
}
@import '~antd/dist/antd.css';
Run Code Online (Sandbox Code Playgroud)
Home.module.css
.container {
padding: 0 2rem;
}
.main {
min-height: 100vh;
padding: 4rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.footer {
display: flex;
flex: 1;
padding: 2rem 0;
border-top: 1px solid #eaeaea;
justify-content: center;
align-items: center;
}
.footer a {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.title a {
color: #0070f3;
text-decoration: none;
}
.title a:hover,
.title a:focus,
.title a:active {
text-decoration: underline;
}
.title {
margin: 0;
line-height: 1.15;
font-size: 4rem;
}
.title,
.description {
text-align: center;
}
.description {
margin: 4rem 0;
line-height: 1.5;
font-size: 1.5rem;
}
.code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
Bitstream Vera Sans Mono, Courier New, monospace;
}
.grid {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 800px;
}
.card {
margin: 1rem;
padding: 1.5rem;
text-align: left;
color: inherit;
text-decoration: none;
border: 1px solid #eaeaea;
border-radius: 10px;
transition: color 0.15s ease, border-color 0.15s ease;
max-width: 300px;
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
border-color: #0070f3;
}
.card h2 {
margin: 0 0 1rem 0;
font-size: 1.5rem;
}
.card p {
margin: 0;
font-size: 1.25rem;
line-height: 1.5;
}
.logo {
height: 1em;
margin-left: 0.5rem;
}
@media (max-width: 600px) {
.grid {
width: 100%;
flex-direction: column;
}
}
Run Code Online (Sandbox Code Playgroud)
JSX 代码如下。
import * as React from "react";
import { Button, Table } from "antd";
import FishbowlLayout from "../../components/FishbowlLayout";
export function Index() {
return (
<div>
# FishbowlLayout uses Layout from Ant design.
<FishbowlLayout>.
<div className="grid grid-cols-6 gap-4">
# Button
<Button className="col-end-6 col-span-1 ..." type="primary">
New project
</Button>
# Table
<div className="col-span-5 ">
<Table dataSource={dataSource} columns={columns} />;
</div>
</div>
</FishbowlLayout>
</div>
);
}
export default Index;
Run Code Online (Sandbox Code Playgroud)
Jor*_*988 14
在 tailwind.config 文件中添加以下内容:
corePlugins: {
preflight: false
}
Run Code Online (Sandbox Code Playgroud)
此视频对此进行了更详细的解释:https://www.youtube.com/watch?v= oG6XPy1t1KA&ab_channel=TailwindLabs
编辑:打字错误,感谢您指出法比奥
我最近也遇到了这个问题,经过更深入的调查,我认为通过postcss插件解决更好,所以我创建了这个插件postcss-antd-fixed。
现在它将从 tailwind preflight.css为按钮相关选择器添加排除的伪类
例如,转换代码
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button;
background-color: transparent;
background-image: none;
}
Run Code Online (Sandbox Code Playgroud)
到
button:where(:not([class^="ant"])),
[type='button']:where(:not([class^="ant"])),
[type='reset']:where(:not([class^="ant"])),
[type='submit']:where(:not( [class^="ant"])) {
-webkit-appearance: button;
background-color: transparent;
background-image: none;
}
Run Code Online (Sandbox Code Playgroud)
在线示例:https://stackblitz.com/edit/postcss-antd-fixes? file=postcss.config.js
它使antd + tailwindcss工作顺利,至少对我来说。
此外,该插件支持自定义prefixCls和hashPriority,查看类型定义PluginCreator<{ prefixes?: (string | PrefixItem)[] }>
| 归档时间: |
|
| 查看次数: |
9515 次 |
| 最近记录: |