我正在尝试创建一个React应用程序与脉轮用户界面,但当我添加脉轮项目的中心所有布局。我不能使宽度属性100。脉轮是打破了一些东西或我的配置是错误的。
index.tsx
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import { ChakraProvider } from "@chakra-ui/react";
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
);
root.render(
<React.StrictMode>
<ChakraProvider>
<App />
</ChakraProvider>
</React.StrictMode>
);
App.tsx
import * as React from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import RootLayout from "./layout/RootLayout";
const router = createBrowserRouter([
{
path: "/",
element: <RootLayout />,
},
]);
function App() {
return <RouterProvider router={router} />;
}
export default App;
tsx(这是我的容器组件。我为粉碎脉轮容器css添加了一些css。)
import React from "react";
import { Container, Image, Flex } from "@chakra-ui/react";
import background from "../public/img/town.png";
import Main from "../components/Main";
export default function test() {
const mainContainerCss = {
background:
"linear-gradient(180deg, rgba(0,212,255,0.3) 62%, rgba(150,75,0,1) 100%)",
minHeight: "100vh",
position: "relative",
h: "100%",
width: "100%", // I add for fix the problem
margin: "0 !important", // I add for fix the problem
padding: "0 !important", // I add for fix the problem
minWidth: "100%" // I add for fix the problem
};
const backgroundImageCss = {
position: "absolute",
width: "100%",
bottom: "0",
};
return (
<Container as="main" sx={mainContainerCss}>
<Image sx={backgroundImageCss} src={background} alt="Pollygon" />
<Flex flexDirection="column" h="100%">
<Main />
</Flex>
</Container>
);
}
第一个容器通过脉轮有很多余量。
1条答案
按热度按时间nbnkbykc1#
默认情况下,
ChakraProvider
确实注入了一些全局样式。它使用CSS重置(this的变体)。CSS重置通常是好的,老实说,它可能值得你改变你的页面样式以兼容重置,而不是关闭它。This是脉轮重置。或者(您可能希望至少暂时这样做,或者如果您决定不关心重置,则永久地这样做,以确定是否是问题所在)您可以通过将
resetCSS
属性设置为false
来禁用它。如果这就是问题所在,那么重置所带来的好处是否值得就取决于你了。如果你有大量的现有页面已经以某种方式进行了样式设置,并且在很多地方产生了明显的负面影响,那么可能就不值得你这么做了,你可以关闭它。
关于resets available here的更多信息。
顺便说一句,如果您将显示不正确的组件与其关联的样式一起发布,我们可以给予更好的建议。