React에서 TailwindCSS로 애니메이션 사이드바 만들기💫
5559 단어 tailwindcssreactanimationwebdev
데모
Video
설정
새로운 반응 앱 만들기-
npx create-react-app animated-sidebar
tailwindCSS 설정
Tailwind 설치-
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
경로 구성-
내부
tailwind.config.jd
내용을 다음으로 바꿉니다.module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {},
},
plugins: [],
};
CSS에 tailwindCSS 추가
index.css
에서 이 코드 블록을 추가합니다.@tailwind base;
@tailwind components;
@tailwind utilities;
사이드바 만들기
새 구성 요소 만들기
사이드바에 대한 별도의 컴포넌트를 생성할 예정이므로
Sidebar.js
폴더에 파일src
을 생성합니다. 이제 기능적 구성 요소를 만듭니다.const Sidebar = () => {
return (
<div>
</div>
)
}
export default Sidebar
사이드바 구성 요소 렌더링
또한 구성 요소를 렌더링해야 하므로
App.js
에 추가하십시오.import Sidebar from "./Sidebar";
function App() {
return (
<div className="flex flex-col items-center justify-center min-h-screen py-2">
<Sidebar />
</div>
);
}
export default App;
이제 빈 캔버스가 표시됩니다.
기본 사이드바 만들기
텍스트가 포함된 간단한 div를 만들겠습니다.
<div className="top-0 right-0 w-[35vw] bg-blue-600 p-10 pl-20 text-white fixed h-full ">
<h2 className="mt-20 text-4xl font-semibold text-white">I am a sidebar</h2>
</div>
이렇게 하면 오른쪽에 간단한 파란색 사이드바가 표시됩니다.
열린 상태와 닫힌 상태 처리
사이드바를 표시해야 하는지 또는 표시하지 않아야 하는지를 결정하는 부울 값을 저장하는 useState를 만듭니다.
const [showSidebar, setShowSidebar] = useState(false);
또한 사이드바를 열고 닫는 버튼/아이콘을 표시해야 하므로 전체를 조각으로 감싸고 닫을 버튼을 추가하고 열려면 햄버거 아이콘을 추가합니다.
<>
{showSidebar ? (
<button
className="flex text-4xl text-white items-center cursor-pointer fixed right-10 top-6 z-50"
onClick={() => setShowSidebar(!showSidebar)}
>
x
</button>
) : (
<svg
onClick={() => setShowSidebar(!showSidebar)}
className="fixed z-30 flex items-center cursor-pointer right-10 top-6"
fill="#2563EB"
viewBox="0 0 100 80"
width="40"
height="40"
>
<rect width="100" height="10"></rect>
<rect y="30" width="100" height="10"></rect>
<rect y="60" width="100" height="10"></rect>
</svg>
)}
<div className="top-0 right-0 w-[35vw] bg-blue-600 p-10 pl-20 text-white fixed h-full z-40">
<h3 className="mt-20 text-4xl font-semibold text-white">I am a sidebar</h3>
</div>
</>
지금 당장은 아무런 차이가 없지만 기본 사이드바 div에 일부 조건부 클래스를 추가해 보겠습니다.
<div
className={`top-0 right-0 w-[35vw] bg-blue-600 p-10 pl-20 text-white fixed h-full z-40 ${
showSidebar ? "translate-x-0 " : "translate-x-full"
}`}
showSidebar
변수가 참이면 translate-x-0
를 추가하고 그렇지 않으면 translate-x-full
를 추가합니다. 이제 사이드바가 작동합니다 🎉Video
그러나 매끄럽지 않으므로 애니메이션을 매끄럽게 만드는 방법을 살펴보겠습니다. 파란색 div-에 이 두 클래스를 추가하기만 하면 됩니다.
ease-in-out duration-300
div는 이제 다음과 같아야 합니다.
<div
className={`top-0 right-0 w-[35vw] bg-blue-600 p-10 pl-20 text-white fixed h-full z-40 ease-in-out duration-300 ${
showSidebar ? "translate-x-0 " : "translate-x-full"
}`}
>
<h3 className="mt-20 text-4xl font-semibold text-white">I am a sidebar</h3>
</div>
사이드바 애니메이션은 매우 부드럽고 멋지게 보입니다! 🥳
Video
이 튜토리얼이 마음에 드셨기를 바라며 프로젝트의 사이드바에 멋진 애니메이션을 추가하십시오. 평화 ✌️
유용한 링크
GitHub repo
Animate and Change Header Background on Scroll
Connect with me
Reference
이 문제에 관하여(React에서 TailwindCSS로 애니메이션 사이드바 만들기💫), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/byteslash/create-an-animated-sidebar-with-tailwindcss-in-react-1kjc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)