Tailwind CSS 및 Alpine JS로 아코디언 만들기
11909 단어 tutorialwebdevtailwindcssjavascript
무엇입니까 Alpine JS
Alpine is a rugged, minimal tool for composing behavior directly in your markup. Think of it like jQuery for the modern web. Plop in a script tag and get going.
Alpine JS를 사용하는 경우 Tailwind CSS처럼
index.html
를 떠날 필요가 없습니다.나와 함께 코딩하고 싶다면 이것을 확인하십시오
먼저
index.html
를 생성합니다. 이 자습서에서는 Tailwind Play CDN 을 사용합니다. 이제 프로젝트에서 Alpine JS를 사용하려면 다음 스크립트를 추가해야 합니다.<script src="//unpkg.com/alpinejs" defer></script>
Alpine JS에 대한 기본 이해가 없는 경우 다음을 참조할 수 있습니다video.
HTML
프로젝트의 시작 파일은 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tailwind Accordion Tutorial</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="//unpkg.com/alpinejs" defer></script>
</head>
<body>
</body>
</html>
이제 Tailwind CSS를 사용하여 아코디언의 기본 구조를 만듭니다.
<div class="w-[60vw] mx-auto bg-red-50 mt-16">
<div class="flex justify-between items-center bg-red-200">
<p class="px-4">Accordion 1</p>
<button class="px-2 text-black hover:text-gray-500 font-bold text-3xl"></button>
</div>
<div class="mx-4 py-4">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta repudiandae ut dolores totam nobis molestias!</div>
<hr class="h-[0.1rem] bg-slate-500">
</div>
button
와 함께 사용된 텍스트가 없지만 아코디언 상태에 따라 동적으로 입력합니다. 아코디언의 세부 사항은 현재 표시되지만 걱정하지 마세요. AlpineJS로 수정하겠습니다.상위 요소에
x-data="open:false"
Alpine 속성을 추가합니다. 그리고 onclick
이벤트를 button
에 추가합니다. 따라서 버튼을 클릭하면 open
의 상태가 변경됩니다. open
가 true
이면 + 기호를 표시하고 false
- 기호를 button
태그의 텍스트로 표시합니다.<button @click="open=!open" x-html="open ? '-' :'+' " class="px-2 text-black hover:text-gray-500 font-bold text-3xl"></button>
이제 아코디언의 세부 정보를 표시하거나 숨기기 위해 Alpine JS의
x-show
속성을 추가합니다. 따라서 open
의 값이 'true'이면 세부 정보를 표시하고 그렇지 않으면 세부 정보를 숨깁니다. 또한 일부 전환 효과를 추가하기 위해 x-transition
속성을 추가합니다.이 작은 튜토리얼의 전체 코드는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tailwind Accordion Tutorial</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="//unpkg.com/alpinejs" defer></script>
<style>
[x-cloak]{
display: none;
}
</style>
</head>
<body>
<!-- <p class="text-5xl">Tailwind Accordion Tutorial</p> -->
<div x-data="{open:false}" class="w-[60vw] mx-auto bg-red-50 mt-16">
<div class="flex justify-between items-center bg-red-200">
<p class="px-4">Accordion 1</p>
<button @click="open=!open" x-html="open ? '-' :'+' " class="px-2 text-black hover:text-gray-500 font-bold text-3xl"></button>
</div>
<div x-show="open" x-cloak class="mx-4 py-4" x-transition>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta repudiandae ut dolores totam nobis molestias!</div>
<hr class="h-[0.1rem] bg-slate-500">
</div>
<div x-data="{open:false}" class="w-[60vw] mx-auto bg-red-50">
<div class="flex justify-between items-center bg-red-200">
<p class="px-4">Accordion 2</p>
<button @click="open=!open" x-html="open ? '-' :'+' " class="px-2 text-black hover:text-gray-500 font-bold text-3xl"></button>
</div>
<div x-show="open" x-cloak class="mx-4 py-4" x-transition>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta repudiandae ut dolores totam nobis molestias!</div>
<hr class="h-[0.1rem] bg-slate-500">
</div>
<div x-data="{open:false}" class="w-[60vw] mx-auto bg-red-50">
<div class="flex justify-between items-center bg-red-200">
<p class="px-4">Accordion 3</p>
<button @click="open=!open" x-html="open ? '-' :'+' " class="px-2 text-black hover:text-gray-500 font-bold text-3xl"></button>
</div>
<div x-show="open" x-cloak class="mx-4 py-4" x-transition>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta repudiandae ut dolores totam nobis molestias!</div>
<hr>
</div>
</body>
</html>
나는 당신이 이것을 사랑 바랍니다.
Reference
이 문제에 관하여(Tailwind CSS 및 Alpine JS로 아코디언 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devrohit0/create-an-accordion-with-tailwind-css-and-alpine-js-28m9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)