JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://fb.me/react-with-addons-0.12.0.js"></script>
<script src="http://fb.me/JSXTransformer-0.12.0.js"></script>
<script src="http://fb.me/react-js-fiddle-integration.js"></script>
CSS
.animated {
font-size: .8em;
text-align: center;
padding: 10px;
background-color: #111;
color: #fff;
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .3);
text-transform: uppercase;
position: relative;
font-weight: bold;
-webkit-animation: bounce 800ms ease-out;
-moz-animation: bounce 800ms ease-out;
-o-animation: bounce 800ms ease-out;
animation: bounce 800ms ease-out;
}
/* Webkit, Chrome and Safari */
@-webkit-keyframes bounce {
0% {
-webkit-transform:translateY(-100%);
opacity: 0;
}
5% {
-webkit-transform:translateY(-100%);
opacity: 0;
}
15% {
-webkit-transform:translateY(0);
padding-bottom: 5px;
}
30% {
-webkit-transform:translateY(-50%);
}
40% {
-webkit-transform:translateY(0%);
padding-bottom: 6px;
}
50% {
-webkit-transform:translateY(-30%);
}
70% {
-webkit-transform:translateY(0%);
padding-bottom: 7px;
}
80% {
-webkit-transform:translateY(-15%);
}
90% {
-webkit-transform:translateY(0%);
padding-bottom: 8px;
}
95% {
-webkit-transform:translateY(-10%);
}
97% {
-webkit-transform:translateY(0%);
padding-bottom: 9px;
}
99% {
-webkit-transform:translateY(-5%);
}
100% {
-webkit-transform:translateY(0);
padding-bottom: 9px;
opacity: 1;
}
}
/* Mozilla Firefox 15 below */
@-moz-keyframes bounce {
0% {
-moz-transform:translateY(-100%);
opacity: 0;
}
5% {
-moz-transform:translateY(-100%);
opacity: 0;
}
15% {
-moz-transform:translateY(0);
padding-bottom: 5px;
}
30% {
-moz-transform:translateY(-50%);
}
40% {
-moz-transform:translateY(0%);
padding-bottom: 6px;
}
50% {
-moz-transform:translateY(-30%);
}
70% {
-moz-transform:translateY(0%);
padding-bottom: 7px;
}
80% {
-moz-transform:translateY(-15%);
}
90% {
-moz-transform:translateY(0%);
padding-bottom: 8px;
}
95% {
-moz-transform:translateY(-10%);
}
97% {
-moz-transform:translateY(0%);
...
JavaScript 1.7
var Hello = React.createClass({
getInitialState: function(){
return {
condition:false
}
},
handleClick :function(){
this.setState( { condition : !this.state.condition } );
},
render: function() {
return <div>
<div className={this.state.condition ? "animated" :""} >Hello {this.props.name}</div>
<button type="button" onClick={this.handleClick}>Change Condition</button>
</div>;
}
});
React.render(<Hello name="World" />, document.body);