250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 기준
- built in object
- blockchain
- useState
- bitcoin
- nextJS
- typeScript
- REACT
- CSS
- error
- tailwindcss
- concept
- HTML
- Redux
- express.js
- middleware
- web
- SSR
- graphQL
- CLASS
- solidity
- hardhat
- Props
- evm
- Interface
- 삶
- API
- node.js
- Ethereum
- JavaScript
Archives
- Today
- Total
ReasonJun
Tailwindcss : Carousel Dynamic width control 본문
728x90
Problem :
I wrote the Carousel code as shown below. I wanted the width of the carousel to be responsive to the screen size, but it wasn't, so I specified a maximum width for each screen size : "max-w-sm xs:max-w-md sm:max-w-xl md:max-w-3xl lg:max-w-5xl xl:max-w-7xl". It adjusted well to the screen size, but the problem was that there were often black spaces.
<div
className="flex overflow-x-scroll overscroll-x-auto scroll-smooth py-12 [scrollbar-width:none]"
ref={carouselRef}
onScroll={checkScrollability}
>
<div className="mx-auto flex flex-row justify-start gap-3 pl-4 sm:gap-4">
{items.map((item, index) => (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{
opacity: 1,
y: 0,
transition: {
duration: 0.5,
delay: 0.1 * index,
ease: "easeOut",
},
}}
key={`card${index}`}
className="rounded-3xl md:last:pr-[calc(50%-1rem)] lg:last:pr-[33%]"
>
{item}
</motion.div>
))}
</div>
</div>
Why :
width doesn't move responsively in a carousel for the following reasons :
- Fixed width on items: The code doesn't show how the individual items are styled. If the items have a fixed width, they won't resize responsively.
- Overflow behavior: The carousel is set to overflow-x-scroll, which allows horizontal scrolling but doesn't automatically resize content.
Solution :
I wrapped this code and it worked.
<div className="relative w-[90vw] max-w-7xl">
Why :
- w-[90vw]: This sets the width to 90% of the viewport width, which makes the container responsive to the screen size.
- max-w-7xl: This sets a maximum width (in Tailwind, this is typically 1280px), preventing the carousel from becoming too wide on large screens.
- relative: This establishes a new positioning context for absolute elements inside the carousel (like the navigation buttons).
728x90
'Frontend > Tailwindcss' 카테고리의 다른 글
Tailwindcss : justify-center and Accordian height Problem (0) | 2024.02.21 |
---|---|
Tailwindcss : twMerge, clsx (0) | 2023.11.01 |
Comments