reactjs React脉轮-ui是中心的所有布局

mmvthczy  于 2023-03-08  发布在  React
关注(0)|答案(1)|浏览(123)

我正在尝试创建一个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>
  );
}

第一个容器通过脉轮有很多余量。

nbnkbykc

nbnkbykc1#

默认情况下,ChakraProvider确实注入了一些全局样式。它使用CSS重置(this的变体)。CSS重置通常是好的,老实说,它可能值得你改变你的页面样式以兼容重置,而不是关闭它。This是脉轮重置。
或者(您可能希望至少暂时这样做,或者如果您决定不关心重置,则永久地这样做,以确定是否是问题所在)您可以通过将resetCSS属性设置为false来禁用它。
如果这就是问题所在,那么重置所带来的好处是否值得就取决于你了。如果你有大量的现有页面已经以某种方式进行了样式设置,并且在很多地方产生了明显的负面影响,那么可能就不值得你这么做了,你可以关闭它。
关于resets available here的更多信息。

<ChakraProvider resetCSS={false}>

顺便说一句,如果您将显示不正确的组件与其关联的样式一起发布,我们可以给予更好的建议。

相关问题