i want to apply transition on bootstrap columns width when open state changes, the transition works but it's sluggish, it's not smooth at all
layout.js
"use client";
import { useState } from "react";
import { Col, Container, Row } from "react-bootstrap";
import Sidebar from "./Sidebar";
import "./sidebar.css";
export default function RootLayout({ children }) {
const [open, setOpen] = useState(true); // sidebar open by default
return (
<Container fluid className="py-5 my-5">
<Row>
<Col md={open ? 2 : 1} className="transition ps-0">
<Sidebar open={open} setOpen={setOpen} />
</Col>
<Col md={open ? 10 : 11} className="transition">
<Container
fluid={open ? false : true}
className={open ? "" : "paddingX"}
>
{children}
</Container>
</Col>
</Row>
</Container>
);
}
sidebar.css
.transition {
transition: width 0.3s ease;
}