Web/CSS

tailwind 의 layout w/ grid(inc setup)

HobbyCoding 2023. 9. 3. 09:46
728x90

Practice 환경 준비

어래 link의 instruction 과 같이 project 를 setup 한다 (따라하기 쉬움)

 

https://tailwindcss.com/docs/guides/nextjs  

 

Install Tailwind CSS with Next.js - Tailwind CSS

Setting up Tailwind CSS in a Next.js v10+ project.

tailwindcss.com

npx create-next-app@latest tailwind-next --typescript --eslint
cd my-project

global.css 에서 모두 지우고 아래만 추가한다

@tailwind base;

@tailwind components;

@tailwind utilities;

 

 

project 에서  default 로 만들어준  page.tsx 에 아래 작성한 heml file 을 copy 하여  tailwind css  효과를 확인할 수 있다.

 

 

Practice

ex1)  grid-cols-4  :  한줄에 4 colum씩 배치하고, 한줄이 넘어가는 것은 그 다음 줄에 배치한다.

 

 <div className="h-screen text-white Parent bg-slate-900">
    <div className="container mx-auto">
      <div className="grid grid-cols-4 gap-4">
        <div className="p-6 rounded-lg bg-sky-500">1</div>
        <div className="p-6 rounded-lg bg-sky-500">2</div>
        <div className="p-6 rounded-lg bg-sky-500">3</div>
        <div className="p-6 rounded-lg bg-sky-500">4</div>
        <div className="p-6 rounded-lg bg-sky-500">5</div>
        <div className="p-6 rounded-lg bg-sky-500">6</div>
      </div>
    </div>
  </div>

ex2)  md:grid-cols-2 lg:grid-cols-4 :  media query 에 따라 column 갯수가 4에서 2로 줄어든다. md 보다 더 줄어들면 one column 이 표시된다.

<div className="h-screen text-white Parent bg-slate-900">
    <div className="container mx-auto">
      <div className="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
        <div className="p-6 rounded-lg bg-sky-500">1</div>
        <div className="p-6 rounded-lg bg-sky-500">2</div>
        <div className="p-6 rounded-lg bg-sky-500">3</div>
        <div className="p-6 rounded-lg bg-sky-500">4</div>
        <div className="p-6 rounded-lg bg-sky-500">5</div>
        <div className="p-6 rounded-lg bg-sky-500">6</div>
      </div>
    </div>
  </div>

 

ex 3)  col-span-2 :  2개의 column 으로 span 된 element 를 만들어 준다

 <div className="h-screen text-white Parent bg-slate-900">
    <div className="container mx-auto">
      <div className="grid gap-4 md:grid-cols-2 lg:grid-cols-3">
        <div className="p-6 rounded-lg bg-sky-500">1</div>
        <div className="p-6 rounded-lg bg-sky-500">2</div>
        <div className="p-6 rounded-lg bg-sky-500">3</div>
        <div className="p-6 rounded-lg bg-red-500 col-span-2">4</div>
        <div className="p-6 rounded-lg bg-sky-500">5</div>
        <div className="p-6 rounded-lg bg-sky-500">6</div>
        <div className="p-6 rounded-lg bg-red-500 col-span-2">7</div>
      </div>
    </div>
  </div>