1
0
mirror of https://github.com/phuoc-ng/csslayout.git synced 2025-08-09 15:46:55 +02:00

Animate the cards

This commit is contained in:
Phuoc Nguyen
2019-11-26 15:52:48 +07:00
parent e8fcd8ffed
commit 337ac44f9e
4 changed files with 67 additions and 5 deletions

View File

@@ -1,6 +1,8 @@
import React from 'react';
import { Link } from 'react-router-dom';
import './home.css';
import CoverCard from './components/CoverCard';
import Pattern from './constants/Pattern';
import useDocumentTitle from './hooks/useDocumentTitle';
@@ -117,7 +119,7 @@ const Home = () => {
</div>
</div>
<section style={{ position: 'relative' }}>
<section style={{ height: '800px', overflow: 'hidden', paddingBottom: '32px', position: 'relative' }}>
<div
style={{
alignItems: 'center',
@@ -156,6 +158,7 @@ const Home = () => {
</Link>
</div>
<div
className="home-cards"
style={{
display: 'flex',
flexWrap: 'wrap',
@@ -188,6 +191,20 @@ const Home = () => {
<CoverCard pattern={Pattern.PropertyList} />
<CoverCard pattern={Pattern.ProgressBar} />
<CoverCard pattern={Pattern.QuestionsAndAnswers} />
<CoverCard pattern={Pattern.RadioSwitch} />
<CoverCard pattern={Pattern.Rating} />
<CoverCard pattern={Pattern.SameHeightColumns} />
<CoverCard pattern={Pattern.SearchBox} />
<CoverCard pattern={Pattern.Separator} />
<CoverCard pattern={Pattern.SimpleGrid} />
<CoverCard pattern={Pattern.Slider} />
<CoverCard pattern={Pattern.SpinButton} />
<CoverCard pattern={Pattern.SplitNavigation} />
<CoverCard pattern={Pattern.StepperInput} />
<CoverCard pattern={Pattern.Switch} />
<CoverCard pattern={Pattern.Tab} />
<CoverCard pattern={Pattern.TogglePasswordVisibility} />
<CoverCard pattern={Pattern.Wizard} />
</div>
</section>
</div>

View File

@@ -14,10 +14,27 @@ const CoverCard: React.FC<CoverCardProps> = ({ pattern }) => {
<div className="pa1 w-20">
<Link
to={`/${slug(pattern)}`}
className="link flex flex-column items-center justify-center tc hover-bg-black-10 br2 pa3"
style={{
alignItems: 'center',
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
padding: '16px',
textDecoration: 'none',
}}
>
<CoverLoader pattern={pattern} />
<h4 className="f5 mv0 pt3 fw6">{pattern}</h4>
<h4
style={{
color: 'rgba(0, 0, 0, 0.3)',
fontSize: '16px',
fontWeight: 500,
margin: 0,
paddingTop: '12px',
}}
>
{pattern}
</h4>
</Link>
</div>
);

View File

@@ -6,8 +6,24 @@ interface HeadingProps {
const Heading: React.FC<HeadingProps> = ({ title }) => {
return (
<div className="bt b--black-20 relative">
<h3 className="absolute bg-white f4 left-2 lh-copy ma0 ph2 top-0 ttu" style={{ transform: 'translate(0, -50%)' }}>{title}</h3>
<div style={{ borderTop: '1px solid rgba(0, 0, 0, .2)', position: 'relative' }}>
<h3
style={{
backgroundColor: '#FFF',
fontSize: '20px',
fontWeight: 700,
left: '32px',
lineHeight: 1.5,
margin: 0,
padding: '0 8px',
position: 'absolute',
textTransform: 'uppercase',
top: 0,
transform: 'translate(0, -50%)',
}}
>
{title}
</h3>
</div>
);
};

12
client/home.css Normal file
View File

@@ -0,0 +1,12 @@
.home-cards {
animation: slide 60s linear infinite;
}
@keyframes slide{
0% {
transform: translate3d(0, 0, 0);
}
100% {
transform: translate3d(0, -600px, 0);
}
}