Coder Social home page Coder Social logo

medelman17 / flexy-flip-cards Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 2.0 113 KB

Responsive cards that flip. Built with React, Styled-Components, and CSS Grid.

License: MIT License

JavaScript 100.00%
react styled-components cssgrid cards reactjs reactjs-components

flexy-flip-cards's Introduction

Flexy Flip Cards

Responsive cards that flip. Built with React, Styled-Components, and CSS Grid. position: absolute not required.

Quick Overview

Cards that flip are frickin' sweet. But, since they typically require developers to use set dimensions and position: absolute, they're a pain in the butt to style when you're not sure how much space you'll have (i.e., responsive design) or need (i.e., rendering random data). Not anymore. Flexy FlipCards, inspired by React Flip Card, don't care what you put in them. Check it out.

Install

npm install --save flexy-flipcards

Instructions

  1. FlexyFlipCard Requires Exactly Two Children ...The first child will be rendered on the front of the card. The second child will be rendered on the back.

  2. Set ref='flipper' Somewhere in Each Child ...The card component will search through your component tree and add an onClick funtion to whatever component has ref='flipper'

Example

import React, { Component } from 'react';
import { FlexyFlipCard } from 'flexy-flipcards';

class App extends Component {
    render() {
        return (
            <FlexyFlipCard
                frontBackgroundColor="#B96aC9"
                backBackgroundColor="#231b1b"
            />
                <div>
                {/* Pass in whatever you want to be rendered on the front side of the card. Just make sure that somewhere in the component subtree, one child has a ref='flipper' attribute. An 'onClick' function will be added to it. */}
                </div>
                <div>
                {/* Pass in whatever you want to be rendered on the back side of the card. Just make sure that somewhere in the component subtree, one child has a ref='flipper' attribute. An 'onClick' function will be added to it. */}
                </div>
            </FlexyFlipCard>
        );
    }
}

Available Props

Note: Apart from frontBackgroundColor and backBackgroundColor, you can style your children however and by whatever means you want. That said, the following props are available:

Prop Type Explanation
frontBackgroundColor String set background color of card front.
frontContainerStyle Object add additional styling for card front outer container.
frontContentStyle Object add additional styling for card front inner container.
backBackgroundColor String Sets background color of card back.
backContainerStyle Object add additional styling for card back outer container.
backContentStyle Object add additional styling for card back inner container.

Updates

v0.1.1: fix for issue with Firefox 58 whereby janky animation occurrs if transform-style: preserve-3d and overflow: hidden are set at the same time. See Bug

flexy-flip-cards's People

Contributors

medelman17 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

flexy-flip-cards's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.