I'm working on a website at the moment where I have a horizontally aligned, scrollable grid of cards. Here is a code:
.testimonial-card {
min-width: 350px;
height: 280px;
flex-basis: auto;
}
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"/>
<div class="overflow-y-scroll gap-10 pb-4 flex flex-row justify-start">
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
<div class="text-white bg-black border-white border rounded-xl p-8 overflow-x-scroll testimonial-card">
<div class="grid grid-flow-row justify-center items-stretch h-full gap-4">
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsam, sed quos laudantium modi dolorem id eum voluptatum veniam eveniet
</div>
<div class="grid grid-flow-col items-center justify-start gap-4">
<div class="bg-gray-200 h-12 w-12 rounded-full"></div>
<div class="grid grid-flow-row items-center">
<div>David</div>
<div>United Kingdom</div>
</div>
</div>
</div>
</div>
</div>
Each card contains text, which in production will be of variable length.
I'd like the cards to have a set height of 280px, and a min-width of 350px, with the ability to expand horizontally if the text fills the space available in the card.
Is that possible? I've tried a few different approaches now but am getting nowhere. Currently using grid but happy to use flexbox if it can be done with that.