JSFiddle - React, Tailwind, and code Playground
by Andrew Pougher
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/paper/bootstrap.min.css">
<div ng-app="classApp" ng-controller="classCtrl">
<button ng-click="toggle = !toggle" class="btn btn-xs btn-default">
open
</button>
<div id="sidebasket" ng-class="{'openside' : toggle}" class="container-fluid">
<div id="basket_inner" ng-class="{'openside' : toggle}">
<form>
BASKET
</form>
</div>
</div>
</div>
CSS
body{background:#f4f2f0
}
#sidebasket:after{
content: '\f291';
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
text-decoration:none;
margin:0px 0px 0px 6px;
font-size: 20px;
}
#sidebasket {
position: fixed;
z-index:1;
top: 40px;
right: 0;
width: 35px;
padding: 12px 0;
text-align: center;
background: #ffffff !important;
border:1px solid #c8c7cc !important;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
#basket_inner {
position: fixed;
z-index:0;
top: 40px;
right: -250px;
background: #ffffff;
min-width: 251px;
padding: 25px;
height: 100vh;
border:1px solid #c8c7cc !important;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
text-align: left;
-webkit-border-radius: 0 0 5px 0;
-moz-border-radius: 0 0 5px 0;
border-radius: 0 0 5px 0;
}
#sidebasket:hover {
right: 250px;
}
#sidebasket.openside {
right: 250px;
}
#sidebasket:hover #basket_inner {
right: 0;
}
#sidebasket.openside #basket_inner {
right: 0;
}
JavaScript
var classApp = angular.module('classApp', []);
classApp.controller('classCtrl', function($scope) {
});