Features
Four By Two Grid On Brand
/* This example requires Tailwind CSS v2.0+ */
import {
ChatAltIcon,
DocumentReportIcon,
HeartIcon,
InboxIcon,
PencilAltIcon,
ReplyIcon,
TrashIcon,
UsersIcon,
} from '@heroicons/react/outline';
const features = [
{
name: 'Unlimited Inboxes',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: InboxIcon,
},
{
name: 'Manage Team Members',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: UsersIcon,
},
{
name: 'Spam Report',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: TrashIcon,
},
{
name: 'Compose in Markdown',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: PencilAltIcon,
},
{
name: 'Team Reporting',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: DocumentReportIcon,
},
{
name: 'Saved Replies',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: ReplyIcon,
},
{
name: 'Email Commenting',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: ChatAltIcon,
},
{
name: 'Connect with Customers',
description:
'Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.',
icon: HeartIcon,
},
];
export default function Example() {
return (
<div className='bg-blue-700'>
<div className='max-w-4xl mx-auto px-4 py-16 sm:px-6 sm:pt-20 sm:pb-24 lg:max-w-7xl lg:pt-24 lg:px-8'>
<h2 className='text-3xl font-extrabold text-white tracking-tight'>
Inbox support built for efficiency
</h2>
<p className='mt-4 max-w-3xl text-lg text-blue-200'>
Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi
lobortis. Blandit aliquam sit nisl euismod mattis in.
</p>
<div className='mt-12 grid grid-cols-1 gap-x-6 gap-y-12 sm:grid-cols-2 lg:mt-16 lg:grid-cols-4 lg:gap-x-8 lg:gap-y-16'>
{features.map((feature) => (
<div key={feature.name}>
<div>
<span className='flex items-center justify-center h-12 w-12 rounded-md bg-white bg-opacity-10'>
<feature.icon className='h-6 w-6 text-white' aria-hidden='true' />
</span>
</div>
<div className='mt-6'>
<h3 className='text-lg font-medium text-white'>{feature.name}</h3>
<p className='mt-2 text-base text-blue-200'>{feature.description}</p>
</div>
</div>
))}
</div>
</div>
</div>
);
}
Alternating With Optional Testimonial
/* This example requires Tailwind CSS v2.0+ */
import { InboxIcon, SparklesIcon } from '@heroicons/react/outline';
export default function Example() {
return (
<div className='relative bg-white pt-16 pb-32 overflow-hidden'>
<div className='relative'>
<div className='lg:mx-auto lg:max-w-7xl lg:px-8 lg:grid lg:grid-cols-2 lg:grid-flow-col-dense lg:gap-24'>
<div className='px-4 max-w-xl mx-auto sm:px-6 lg:py-16 lg:max-w-none lg:mx-0 lg:px-0'>
<div>
<div>
<span className='h-12 w-12 rounded-md flex items-center justify-center bg-blue-600'>
<InboxIcon className='h-6 w-6 text-white' aria-hidden='true' />
</span>
</div>
<div className='mt-6'>
<h2 className='text-3xl font-extrabold tracking-tight text-gray-900'>
Stay on top of customer support
</h2>
<p className='mt-4 text-lg text-gray-500'>
Semper curabitur ullamcorper posuere nunc sed. Ornare iaculis bibendum malesuada
faucibus lacinia porttitor. Pulvinar laoreet sagittis viverra duis. In venenatis
sem arcu pretium pharetra at. Lectus viverra dui tellus ornare pharetra.
</p>
<div className='mt-6'>
<a
href='#'
className='inline-flex px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700'
>
Get started
</a>
</div>
</div>
</div>
<div className='mt-8 border-t border-gray-200 pt-6'>
<blockquote>
<div>
<p className='text-base text-gray-500'>
“Cras velit quis eros eget rhoncus lacus ultrices sed diam. Sit orci risus
aenean curabitur donec aliquet. Mi venenatis in euismod ut.”
</p>
</div>
<footer className='mt-3'>
<div className='flex items-center space-x-3'>
<div className='flex-shrink-0'>
<img
className='h-6 w-6 rounded-full'
src='https://images.unsplash.com/photo-1509783236416-c9ad59bae472?ixlib=rb-=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80'
alt=''
/>
</div>
<div className='text-base font-medium text-gray-700'>
Marcia Hill, Digital Marketing Manager
</div>
</div>
</footer>
</blockquote>
</div>
</div>
<div className='mt-12 sm:mt-16 lg:mt-0'>
<div className='pl-4 -mr-48 sm:pl-6 md:-mr-16 lg:px-0 lg:m-0 lg:relative lg:h-full'>
<img
className='w-full rounded-xl shadow-xl ring-1 ring-black ring-opacity-5 lg:absolute lg:left-0 lg:h-full lg:w-auto lg:max-w-none'
src='https://tailwindui.com/img/component-images/inbox-app-screenshot-1.jpg'
alt='Inbox user interface'
/>
</div>
</div>
</div>
</div>
<div className='mt-24'>
<div className='lg:mx-auto lg:max-w-7xl lg:px-8 lg:grid lg:grid-cols-2 lg:grid-flow-col-dense lg:gap-24'>
<div className='px-4 max-w-xl mx-auto sm:px-6 lg:py-32 lg:max-w-none lg:mx-0 lg:px-0 lg:col-start-2'>
<div>
<div>
<span className='h-12 w-12 rounded-md flex items-center justify-center bg-blue-600'>
<SparklesIcon className='h-6 w-6 text-white' aria-hidden='true' />
</span>
</div>
<div className='mt-6'>
<h2 className='text-3xl font-extrabold tracking-tight text-gray-900'>
Better understand your customers
</h2>
<p className='mt-4 text-lg text-gray-500'>
Semper curabitur ullamcorper posuere nunc sed. Ornare iaculis bibendum malesuada
faucibus lacinia porttitor. Pulvinar laoreet sagittis viverra duis. In venenatis
sem arcu pretium pharetra at. Lectus viverra dui tellus ornare pharetra.
</p>
<div className='mt-6'>
<a
href='#'
className='inline-flex px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700'
>
Get started
</a>
</div>
</div>
</div>
</div>
<div className='mt-12 sm:mt-16 lg:mt-0 lg:col-start-1'>
<div className='pr-4 -ml-48 sm:pr-6 md:-ml-16 lg:px-0 lg:m-0 lg:relative lg:h-full'>
<img
className='w-full rounded-xl shadow-xl ring-1 ring-black ring-opacity-5 lg:absolute lg:right-0 lg:h-full lg:w-auto lg:max-w-none'
src='https://tailwindui.com/img/component-images/inbox-app-screenshot-2.jpg'
alt='Customer profile user interface'
/>
</div>
</div>
</div>
</div>
</div>
);
}
AlternativeSideBySideWithImages
/* This example requires Tailwind CSS v2.0+ */
import {
AnnotationIcon,
GlobeAltIcon,
LightningBoltIcon,
MailIcon,
ScaleIcon,
} from '@heroicons/react/outline';
const transferFeatures = [
{
id: 1,
name: 'Competitive exchange rates',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: GlobeAltIcon,
},
{
id: 2,
name: 'No hidden fees',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: ScaleIcon,
},
{
id: 3,
name: 'Transfers are instant',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: LightningBoltIcon,
},
];
const communicationFeatures = [
{
id: 1,
name: 'Mobile notifications',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: AnnotationIcon,
},
{
id: 2,
name: 'Reminder emails',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: MailIcon,
},
];
export default function Example() {
return (
<div className='py-16 bg-gray-50 overflow-hidden lg:py-24'>
<div className='relative max-w-xl mx-auto px-4 sm:px-6 lg:px-8 lg:max-w-7xl'>
<svg
className='hidden lg:block absolute left-full transform -translate-x-1/2 -translate-y-1/4'
width={404}
height={784}
fill='none'
viewBox='0 0 404 784'
aria-hidden='true'
>
<defs>
<pattern
id='b1e6e422-73f8-40a6-b5d9-c8586e37e0e7'
x={0}
y={0}
width={20}
height={20}
patternUnits='userSpaceOnUse'
>
<rect
x={0}
y={0}
width={4}
height={4}
className='text-gray-200'
fill='currentColor'
/>
</pattern>
</defs>
<rect width={404} height={784} fill='url(#b1e6e422-73f8-40a6-b5d9-c8586e37e0e7)' />
</svg>
<div className='relative'>
<h2 className='text-center text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl'>
A better way to send money
</h2>
<p className='mt-4 max-w-3xl mx-auto text-center text-xl text-gray-500'>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus magnam voluptatum
cupiditate veritatis in, accusamus quisquam.
</p>
</div>
<div className='relative mt-12 lg:mt-24 lg:grid lg:grid-cols-2 lg:gap-8 lg:items-center'>
<div className='relative'>
<h3 className='text-2xl font-extrabold text-gray-900 tracking-tight sm:text-3xl'>
Transfer funds world-wide
</h3>
<p className='mt-3 text-lg text-gray-500'>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Pariatur minima sequi
recusandae, porro maiores officia assumenda aliquam laborum ab aliquid veritatis
impedit odit adipisci optio iste blanditiis facere. Totam, velit.
</p>
<dl className='mt-10 space-y-10'>
{transferFeatures.map((item) => (
<div key={item.id} className='relative'>
<dt>
<div className='absolute flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white'>
<item.icon className='h-6 w-6' aria-hidden='true' />
</div>
<p className='ml-16 text-lg leading-6 font-medium text-gray-900'>{item.name}</p>
</dt>
<dd className='mt-2 ml-16 text-base text-gray-500'>{item.description}</dd>
</div>
))}
</dl>
</div>
<div className='mt-10 -mx-4 relative lg:mt-0' aria-hidden='true'>
<svg
className='absolute left-1/2 transform -translate-x-1/2 translate-y-16 lg:hidden'
width={784}
height={404}
fill='none'
viewBox='0 0 784 404'
>
<defs>
<pattern
id='ca9667ae-9f92-4be7-abcb-9e3d727f2941'
x={0}
y={0}
width={20}
height={20}
patternUnits='userSpaceOnUse'
>
<rect
x={0}
y={0}
width={4}
height={4}
className='text-gray-200'
fill='currentColor'
/>
</pattern>
</defs>
<rect width={784} height={404} fill='url(#ca9667ae-9f92-4be7-abcb-9e3d727f2941)' />
</svg>
<img
className='relative mx-auto'
width={490}
src='https://tailwindui.com/img/features/feature-example-1.png'
alt=''
/>
</div>
</div>
<svg
className='hidden lg:block absolute right-full transform translate-x-1/2 translate-y-12'
width={404}
height={784}
fill='none'
viewBox='0 0 404 784'
aria-hidden='true'
>
<defs>
<pattern
id='64e643ad-2176-4f86-b3d7-f2c5da3b6a6d'
x={0}
y={0}
width={20}
height={20}
patternUnits='userSpaceOnUse'
>
<rect
x={0}
y={0}
width={4}
height={4}
className='text-gray-200'
fill='currentColor'
/>
</pattern>
</defs>
<rect width={404} height={784} fill='url(#64e643ad-2176-4f86-b3d7-f2c5da3b6a6d)' />
</svg>
<div className='relative mt-12 sm:mt-16 lg:mt-24'>
<div className='lg:grid lg:grid-flow-row-dense lg:grid-cols-2 lg:gap-8 lg:items-center'>
<div className='lg:col-start-2'>
<h3 className='text-2xl font-extrabold text-gray-900 tracking-tight sm:text-3xl'>
Always in the loop
</h3>
<p className='mt-3 text-lg text-gray-500'>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Impedit ex obcaecati natus
eligendi delectus, cum deleniti sunt in labore nihil quod quibusdam expedita nemo.
</p>
<dl className='mt-10 space-y-10'>
{communicationFeatures.map((item) => (
<div key={item.id} className='relative'>
<dt>
<div className='absolute flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white'>
<item.icon className='h-6 w-6' aria-hidden='true' />
</div>
<p className='ml-16 text-lg leading-6 font-medium text-gray-900'>
{item.name}
</p>
</dt>
<dd className='mt-2 ml-16 text-base text-gray-500'>{item.description}</dd>
</div>
))}
</dl>
</div>
<div className='mt-10 -mx-4 relative lg:mt-0 lg:col-start-1'>
<svg
className='absolute left-1/2 transform -translate-x-1/2 translate-y-16 lg:hidden'
width={784}
height={404}
fill='none'
viewBox='0 0 784 404'
aria-hidden='true'
>
<defs>
<pattern
id='e80155a9-dfde-425a-b5ea-1f6fadd20131'
x={0}
y={0}
width={20}
height={20}
patternUnits='userSpaceOnUse'
>
<rect
x={0}
y={0}
width={4}
height={4}
className='text-gray-200'
fill='currentColor'
/>
</pattern>
</defs>
<rect width={784} height={404} fill='url(#e80155a9-dfde-425a-b5ea-1f6fadd20131)' />
</svg>
<img
className='relative mx-auto'
width={490}
src='https://tailwindui.com/img/features/feature-example-2.png'
alt=''
/>
</div>
</div>
</div>
</div>
</div>
);
}
Centered2x2Grid
/* This example requires Tailwind CSS v2.0+ */
import {
AnnotationIcon,
GlobeAltIcon,
LightningBoltIcon,
ScaleIcon,
} from '@heroicons/react/outline';
const features = [
{
name: 'Competitive exchange rates',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: GlobeAltIcon,
},
{
name: 'No hidden fees',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: ScaleIcon,
},
{
name: 'Transfers are instant',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: LightningBoltIcon,
},
{
name: 'Mobile notifications',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: AnnotationIcon,
},
];
export default function Example() {
return (
<div className='py-12 bg-white'>
<div className='max-w-7xl mx-auto px-4 sm:px-6 lg:px-8'>
<div className='lg:text-center'>
<h2 className='text-base text-blue-600 font-semibold tracking-wide uppercase'>
Transactions
</h2>
<p className='mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl'>
A better way to send money
</p>
<p className='mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto'>
Lorem ipsum dolor sit amet consect adipisicing elit. Possimus magnam voluptatum
cupiditate veritatis in accusamus quisquam.
</p>
</div>
<div className='mt-10'>
<dl className='space-y-10 md:space-y-0 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-10'>
{features.map((feature) => (
<div key={feature.name} className='relative'>
<dt>
<div className='absolute flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white'>
<feature.icon className='h-6 w-6' aria-hidden='true' />
</div>
<p className='ml-16 text-lg leading-6 font-medium text-gray-900'>
{feature.name}
</p>
</dt>
<dd className='mt-2 ml-16 text-base text-gray-500'>{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
</div>
);
}
GridWithOffsetIcons
/* This example requires Tailwind CSS v2.0+ */
import {
CloudUploadIcon,
CogIcon,
LockClosedIcon,
RefreshIcon,
ServerIcon,
ShieldCheckIcon,
} from '@heroicons/react/outline';
const features = [
{ name: 'Push to Deploy', icon: CloudUploadIcon },
{ name: 'SSL Certificates', icon: LockClosedIcon },
{ name: 'Simple Queues', icon: RefreshIcon },
{ name: 'Advanced Security', icon: ShieldCheckIcon },
{ name: 'Powerful API', icon: CogIcon },
{ name: 'Database Backups', icon: ServerIcon },
];
export default function Example() {
return (
<div className='relative bg-white py-16 sm:py-24 lg:py-32'>
<div className='mx-auto max-w-md px-4 text-center sm:max-w-3xl sm:px-6 lg:px-8 lg:max-w-7xl'>
<h2 className='text-base font-semibold tracking-wider text-blue-600 uppercase'>
Deploy faster
</h2>
<p className='mt-2 text-3xl font-extrabold text-gray-900 tracking-tight sm:text-4xl'>
Everything you need to deploy your app
</p>
<p className='mt-5 max-w-prose mx-auto text-xl text-gray-500'>
Phasellus lorem quam molestie id quisque diam aenean nulla in. Accumsan in quis quis nunc,
ullamcorper malesuada. Eleifend condimentum id viverra nulla.
</p>
<div className='mt-12'>
<div className='grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3'>
{features.map((feature) => (
<div key={feature.name} className='pt-6'>
<div className='flow-root bg-gray-50 rounded-lg px-6 pb-8'>
<div className='-mt-6'>
<div>
<span className='inline-flex items-center justify-center p-3 bg-blue-500 rounded-md shadow-lg'>
<feature.icon className='h-6 w-6 text-white' aria-hidden='true' />
</span>
</div>
<h3 className='mt-8 text-lg font-medium text-gray-900 tracking-tight'>
{feature.name}
</h3>
<p className='mt-5 text-base text-gray-500'>
Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit
morbi lobortis.
</p>
</div>
</div>
</div>
))}
</div>
</div>
</div>
</div>
);
}
Offset 2x2 Grid
/* This example requires Tailwind CSS v2.0+ */
import { GlobeAltIcon, LightningBoltIcon, MailIcon, ScaleIcon } from '@heroicons/react/outline';
const features = [
{
name: 'Competitive rates',
description:
'Consequuntur omnis dicta cumque, inventore atque ab dolores aspernatur tempora ab doloremque.',
icon: GlobeAltIcon,
},
{
name: 'No hidden fees',
description:
'Corporis quisquam nostrum nulla veniam recusandae temporibus aperiam officia incidunt at distinctio ratione.',
icon: ScaleIcon,
},
{
name: 'Instant transfers',
description:
'Omnis, illo delectus? Libero, possimus nulla nemo tenetur adipisci repellat dolore eligendi velit doloribus mollitia.',
icon: LightningBoltIcon,
},
{
name: 'Reminder emails',
description:
'Veniam necessitatibus reiciendis fugit explicabo dolorem nihil et omnis assumenda odit? Quisquam unde accusantium.',
icon: MailIcon,
},
];
export default function Example() {
return (
<div className='bg-gray-50 overflow-hidden'>
<div className='relative max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8'>
<svg
className='absolute top-0 left-full transform -translate-x-1/2 -translate-y-3/4 lg:left-auto lg:right-full lg:translate-x-2/3 lg:translate-y-1/4'
width={404}
height={784}
fill='none'
viewBox='0 0 404 784'
aria-hidden='true'
>
<defs>
<pattern
id='8b1b5f72-e944-4457-af67-0c6d15a99f38'
x={0}
y={0}
width={20}
height={20}
patternUnits='userSpaceOnUse'
>
<rect
x={0}
y={0}
width={4}
height={4}
className='text-gray-200'
fill='currentColor'
/>
</pattern>
</defs>
<rect width={404} height={784} fill='url(#8b1b5f72-e944-4457-af67-0c6d15a99f38)' />
</svg>
<div className='relative lg:grid lg:grid-cols-3 lg:gap-x-8'>
<div className='lg:col-span-1'>
<h2 className='text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl'>
A better way to send money.
</h2>
</div>
<dl className='mt-10 space-y-10 sm:space-y-0 sm:grid sm:grid-cols-2 sm:gap-x-8 sm:gap-y-10 lg:mt-0 lg:col-span-2'>
{features.map((feature) => (
<div key={feature.name}>
<dt>
<div className='flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white'>
<feature.icon className='h-6 w-6' aria-hidden='true' />
</div>
<p className='mt-5 text-lg leading-6 font-medium text-gray-900'>{feature.name}</p>
</dt>
<dd className='mt-2 text-base text-gray-500'>{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
</div>
);
}
Simple Three Column
/* This example requires Tailwind CSS v2.0+ */
import { GlobeAltIcon, LightningBoltIcon, ScaleIcon } from '@heroicons/react/outline';
const features = [
{
name: 'Competitive exchange rates',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: GlobeAltIcon,
},
{
name: 'No hidden fees',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: ScaleIcon,
},
{
name: 'Transfers are instant',
description:
'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.',
icon: LightningBoltIcon,
},
];
export default function Example() {
return (
<div className='py-12 bg-white'>
<div className='max-w-xl mx-auto px-4 sm:px-6 lg:max-w-7xl lg:px-8'>
<h2 className='sr-only'>A better way to send money.</h2>
<dl className='space-y-10 lg:space-y-0 lg:grid lg:grid-cols-3 lg:gap-8'>
{features.map((feature) => (
<div key={feature.name}>
<dt>
<div className='flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white'>
<feature.icon className='h-6 w-6' aria-hidden='true' />
</div>
<p className='mt-5 text-lg leading-6 font-medium text-gray-900'>{feature.name}</p>
</dt>
<dd className='mt-2 text-base text-gray-500'>{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
);
}
With Feature Grid List
/* This example requires Tailwind CSS v2.0+ */
import { CheckIcon } from '@heroicons/react/outline'
const features = [
{
name: 'Invite team members',
description: 'Tempor tellus in aliquet eu et sit nulla tellus. Suspendisse est, molestie blandit quis ac. Lacus.',
},
{
name: 'Notifications',
description: 'Ornare donec rhoncus vitae nisl velit, neque, mauris dictum duis. Nibh urna non parturient.',
},
{
name: 'List view',
description: 'Etiam cras augue ornare pretium sit malesuada morbi orci, venenatis. Dictum lacus.',
},
{
name: 'Boards',
description: 'Interdum quam pulvinar turpis tortor, egestas quis diam amet, natoque. Mauris sagittis.',
},
{
name: 'Keyboard shortcuts',
description: 'Ullamcorper in ipsum ac feugiat. Senectus at aliquam vulputate mollis nec. In at risus odio.',
},
{
name: 'Reporting',
description: 'Magna a vel sagittis aliquam eu amet. Et lorem auctor quam nunc odio. Sed bibendum.',
},
{
name: 'Calendars',
description: 'Sed mi, dapibus turpis orci posuere integer. A porta viverra posuere adipiscing turpis.',
},
{
name: 'Mobile app',
description: 'Quisque sapien nunc nisl eros. Facilisis sagittis maecenas id dignissim tristique proin sed.',
},
]
export default function Example() {
return (
<div className="bg-white">
<div className="max-w-7xl mx-auto py-16 px-4 sm:px-6 lg:py-24 lg:px-8">
<div className="max-w-3xl mx-auto text-center">
<h2 className="text-3xl font-extrabold text-gray-900">All-in-one platform</h2>
<p className="mt-4 text-lg text-gray-500">
Ac euismod vel sit maecenas id pellentesque eu sed consectetur. Malesuada adipiscing sagittis vel nulla nec.
</p>
</div>
<dl className="mt-12 space-y-10 sm:space-y-0 sm:grid sm:grid-cols-2 sm:gap-x-6 sm:gap-y-12 lg:grid-cols-4 lg:gap-x-8">
{features.map((feature) => (
<div key={feature.name} className="relative">
<dt>
<CheckIcon className="absolute h-6 w-6 text-green-500" aria-hidden="true" />
<p className="ml-9 text-lg leading-6 font-medium text-gray-900">{feature.name}</p>
</dt>
<dd className="mt-2 ml-9 text-base text-gray-500">{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
)
}
With Feature List
/* This example requires Tailwind CSS v2.0+ */
import { CheckIcon } from '@heroicons/react/outline';
const features = [
{
name: 'Invite team members',
description: 'You can manage phone, email and chat conversations all from a single mailbox.',
},
{
name: 'List view',
description: 'You can manage phone, email and chat conversations all from a single mailbox.',
},
{
name: 'Keyboard shortcuts',
description: 'You can manage phone, email and chat conversations all from a single mailbox.',
},
{
name: 'Calendars',
description: 'You can manage phone, email and chat conversations all from a single mailbox.',
},
{
name: 'Notifications',
description: 'Find what you need with advanced filters, bulk actions, and quick views.',
},
{
name: 'Boards',
description: 'Find what you need with advanced filters, bulk actions, and quick views.',
},
{
name: 'Reporting',
description: 'Find what you need with advanced filters, bulk actions, and quick views.',
},
{
name: 'Mobile app',
description: 'Find what you need with advanced filters, bulk actions, and quick views.',
},
];
export default function Example() {
return (
<div className='bg-white'>
<div className='max-w-7xl mx-auto py-16 px-4 sm:px-6 lg:py-24 lg:px-8 lg:grid lg:grid-cols-3 lg:gap-x-8'>
<div>
<h2 className='text-base font-semibold text-blue-600 uppercase tracking-wide'>
Everything you need
</h2>
<p className='mt-2 text-3xl font-extrabold text-gray-900'>All-in-one platform</p>
<p className='mt-4 text-lg text-gray-500'>
Ac euismod vel sit maecenas id pellentesque eu sed consectetur. Malesuada adipiscing
sagittis vel nulla nec.
</p>
</div>
<div className='mt-12 lg:mt-0 lg:col-span-2'>
<dl className='space-y-10 sm:space-y-0 sm:grid sm:grid-cols-2 sm:grid-rows-4 sm:grid-flow-col sm:gap-x-6 sm:gap-y-10 lg:gap-x-8'>
{features.map((feature) => (
<div key={feature.name} className='relative'>
<dt>
<CheckIcon className='absolute h-6 w-6 text-green-500' aria-hidden='true' />
<p className='ml-9 text-lg leading-6 font-medium text-gray-900'>{feature.name}</p>
</dt>
<dd className='mt-2 ml-9 text-base text-gray-500'>{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
</div>
);
}
With Large ScreenShot
/* This example requires Tailwind CSS v2.0+ */
export default function Example() {
return (
<div className='relative bg-gray-50 pt-16 overflow-hidden sm:pt-24 lg:pt-32'>
<div className='mx-auto max-w-md px-4 text-center sm:px-6 sm:max-w-3xl lg:px-8 lg:max-w-7xl'>
<div>
<h2 className='text-base font-semibold tracking-wider text-blue-600 uppercase'>
Serverless
</h2>
<p className='mt-2 text-3xl font-extrabold text-gray-900 tracking-tight sm:text-4xl'>
No server? No problem.
</p>
<p className='mt-5 max-w-prose mx-auto text-xl text-gray-500'>
Phasellus lorem quam molestie id quisque diam aenean nulla in. Accumsan in quis quis
nunc, ullamcorper malesuada. Eleifend condimentum id viverra nulla.
</p>
</div>
<div className='mt-12 -mb-10 sm:-mb-24 lg:-mb-80'>
<img
className='rounded-lg shadow-xl ring-1 ring-black ring-opacity-5'
src='https://tailwindui.com/img/component-images/top-nav-with-multi-column-layout-screenshot.jpg'
alt=''
/>
</div>
</div>
</div>
);
}