.ui
.ui_inner
.ui_fruit
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/treats.png'}
.ui_basket
Basket
%i.fa.fa-shopping-cart
.ui_inner__selection
%input{:id => 'lovely', :type => 'radio', :name => 'selection', :checked => 'checked'}
%label{:for => 'lovely'}
.selected.l Lovely cupcake
.ui_inner__slider
.sb
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/starburst2.png'}
.slide
.slide_inner
.slide_inner__left
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/cupcake1.png'}
.firework
-(1..70).each do
.firework_part
.slide_inner__right
%h2 Lovely cupcake
%h3 $4.99 <span> Pack of 10</span>
%p Pie cupcake caramels marshmallow ice cream icing. Brownie biscuit candy macaroon dessert ice cream halvah. Cheesecake sweet roll marzipan brownie lollipop gummies.
%input{:type => 'text',:value => '10'}
%input.hid{:type => 'checkbox', :id => 'add'}
%label{:for => 'add'}
%div.add
Add to cart
.firework
-(1..30).each do
.firework_part
%input{:id => 'super', :type => 'radio', :name => 'selection'}
%label{:for => 'super'}
.selected.s Super cupcake
.ui_inner__slider
.sb
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/starburst2.png'}
.slide
.slide_inner
.slide_inner__left
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/cupcake2.png'}
.firework
-(1..70).each do
.firework_part
.slide_inner__right
%h2 Super cupcake
%h3 $4.99 <span> Pack of 10</span>
%p Pie cupcake caramels marshmallow ice cream icing. Brownie biscuit candy macaroon dessert ice cream halvah. Cheesecake sweet roll marzipan brownie lollipop gummies.
%input{:type => 'text',:value => '10'}
%input.hid{:type => 'checkbox', :id => 'add2'}
%label{:for => 'add2'}
%div.add
Add to cart
.firework
-(1..30).each do
.firework_part
%input{:id => 'mega', :type => 'radio', :name => 'selection'}
%label{:for => 'mega'}
.selected.m Mega cupcake
.ui_inner__slider
.sb
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/starburst2.png'}
.slide
.slide_inner
.slide_inner__left
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/cupcake3.png'}
.firework
-(1..70).each do
.firework_part
.slide_inner__right
%h2 Mega cupcake
%h3 $4.99 <span> Pack of 10</span>
%p Pie cupcake caramels marshmallow ice cream icing. Brownie biscuit candy macaroon dessert ice cream halvah. Cheesecake sweet roll marzipan brownie lollipop gummies.
%input{:type => 'text',:value => '10'}
%input.hid{:type => 'checkbox', :id => 'add3'}
%label{:for => 'add3'}
%div.add
Add to cart
.firework
-(1..30).each do
.firework_part
%input{:id => 'huge', :type => 'radio', :name => 'selection'}
%label{:for => 'huge'}
.selected.h Huge cupcake
.ui_inner__slider
.sb
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/starburst2.png'}
.slide
.slide_inner
.slide_inner__left
%img{:src => 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/cupcake4.png'}
.firework
-(1..70).each do
.firework_part
.slide_inner__right
%h2 Huge cupcake
%h3 $9.99 <span> Pack of 10</span>
%p Pie cupcake caramels marshmallow ice cream icing. Brownie biscuit candy macaroon dessert ice cream halvah. Cheesecake sweet roll marzipan brownie lollipop gummies.
%input{:type => 'text',:value => '10'}
%input.hid{:type => 'checkbox', :id => 'add4'}
%label{:for => 'add4'}
%div.add
Add to cart
.firework
-(1..30).each do
.firework_part
View Compiled
@import 'https://fonts.googleapis.com/css?family=Amatic+SC|Bad+Script|Satisfy|Shadows+Into+Light|Yellowtail';
$width: 600;
* {
box-sizing: border-box;
}
i {
font-family: 'font-awesome';
}
body {
overflow: hidden;
background-image: url(https://www.toptal.com/designers/subtlepatterns/patterns/food.png);
font-family: 'Amatic SC', cursive;
.ui {
width: $width + px;
position: absolute;
left: 0;
right: 0;
margin: auto;
top: 50%;
transform: translateY(-50%);
&_fruit {
position: absolute;
z-index: 34;
right: -47px;
pointer-events: none;
top: 180px;
img {
width: 344px;
}
}
&_basket {
color: #de467c;
position: relative;
top: -6px;
text-align: right;
}
&_inner {
height: 340px;
background-image: -webkit-linear-gradient(45deg, #ffffff 0%, #f3f3f3 100%);
padding: 40px;
box-shadow: 0px 2px 40px 0px transparent, 0px 6px 26px 0px rgb(191, 155, 89), 0px 3px 0px -2px white inset, 0px 22px 60px 70px #f1f1f1 inset, 0px 8px 18px -7px transparent, 30px 13px 30px 28px #b18f8f inset;
.sb {
overflow: hidden;
width: 450px;
top: -1px;
left: -171px;
position: absolute;
height: 480px;
animation: spin 14s infinite linear;
img {
width: 450px;
opacity: 0;
transition: all .15s .0s
}
}
&__selection {
label {
.ui_inner__slider {
//display:none;
//position: absolute;
}
%selected {
background: #de467c;
position: absolute;
right: -130px;
cursor: pointer;
width: 130px;
color: white;
padding: 20px;
font-size: 14px;
z-index: 4;
font-family: 'Bad Script', cursive;
top: 0;
text-align: center;
transition: all .2s;
&:hover {
background: #94619c;
padding: 20px 20px 20px 30px;
}
}
.m,
.s,
.l,
.h {
@extend %selected;
border-radius: 255px 15px 205px 35px/35px 225px 35px 255px;
}
.l {
top: 0px;
border-radius: 265px 35px 185px 14px/8px 235px 12px 255px;
width: 126px;
right: -119px;
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.06) inset;
&:before {
content: '';
display: block;
background: #f1f1f1;
height: 100px;
width: 10px;
position: ABSOLUTE;
LEFT: -3PX;
top: 0px;
}
}
.s {
top: 63px;
border-radius: 195px 35px 155px 3px/19px 265px 25px 235px;
width: 127px;
right: -123px;
&:before {
content: '';
display: block;
background: #f1f1f1;
height: 100px;
width: 10px;
position: ABSOLUTE;
LEFT: -6PX;
top: 0px;
}
}
.h {
top: 187px;
border-radius: 195px 9px 177px 3px/49px 275px 65px 235px;
width: 127px;
right: -123px;
&:before {
content: '';
display: block;
background: #f1f1f1;
height: 100px;
width: 10px;
position: ABSOLUTE;
LEFT: -6PX;
top: 0px;
}
}
.m {
top: 127px;
border-radius: 265px 15px 205px 1px/0px 225px 35px 245px;
right: -125px;
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.06) inset;
&:before {
content: '';
display: block;
background: #f1f1f1;
height: 100px;
width: 10px;
position: ABSOLUTE;
LEFT: -5PX;
top: 0px;
}
}
}
input[type="radio"] {
display: none;
}
input[type="radio"]:checked + label {
.selected {
background: #d02562 !important
}
}
input[type="radio"]:checked + label .ui_inner__slider .sb img {
opacity: 0.3;
transition: all 1s .2s
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__left {
opacity: 1;
left: -100px;
transition: all .5s .35s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__right h2 {
opacity: 1;
left: 0px;
transition: all .5s .4s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__right h3 {
opacity: 1;
left: 0px;
transition: all .5s .45s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider {
pointer-events: all
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__right p {
opacity: 1;
left: 0px;
transition: all .5s .50s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__right input {
position: relative;
opacity: 1;
left: 0px;
transition: all .5s .55s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__right .add {
position: relative;
opacity: 1;
left: 0px;
transition: all .5s .6s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input[type="radio"]:checked + label .ui_inner__slider .slide_inner__left .firework .firework {
&_part {
@for $i from 1 through 70 {
&:nth-of-type(#{$i}) {
left: random(230) - 230 + px;
top: random(230) - 230 + px;
opacity: 0;
transform: rotate(random(1200) - 600 + 0deg) !important;
}
}
}
}
input[type="checkbox"]:checked + label .add .firework {
&_part {
@for $i from 1 through 70 {
&:nth-of-type(#{$i}) {
left: 277px;
top: -186px;
opacity: 1;
transform: rotate(random(1200) - 600 + 0deg) !important;
}
}
}
}
}
.ui_inner__slider {
pointer-events: none;
.slide {
&_inner {
position: absolute;
top: 54px;
text-align: right;
&__left {
display: inline-block;
width: 42%;
opacity: 0;
position: absolute;
left: -220px;
top: 10px;
-webkit-transition: all .5s 0s cubic-bezier(0.175, 1.605, 0.455, 0.920);
img {
width: 100%;
z-index: 8;
position: Relative;
filter: drop-shadow(-4px 6px 6px rgba(0, 0, 0, 0.2))
}
.firework {
position: relative;
left: 130px;
top: -150px;
// z-index: 8;
&_part {
position: absolute;
border-radius: 10px;
background: Red;
transition: left .99s .36s cubic-bezier(0.230, 1.000, 0.320, 1.000), transform .6s .36s, top .99s .36s cubic-bezier(0.330, 1.000, 0.320, 1.000), opacity .99s .55s;
left: 0;
top: 0;
opacity: 1;
@for $i from 1 through 70 {
&:nth-of-type(#{$i}) {
background: adjust-hue(#de467c, random(80));
height: random(15) - 5 + px;
width: 5px;
transform: rotate(0deg);
}
}
}
}
}
&__right {
display: inline-block;
width: 70%;
padding: 0px 40px 0px 0px;
text-align: left;
position: relative;
z-index: 1;
.hid {
display: none;
}
h2 {
margin: 0px 0px 10px 0px;
font-family: 'Amatic SC', cursive;
color: #94619c;
font-size: 32px;
position: relative;
opacity: 0;
left: -90px;
transition: all .5s .2s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
h3 {
margin: 0px 0px 10px 0px;
font-family: 'Satisfy', cursive;
color: #de467c;
font-size: 20px;
position: relative;
opacity: 0;
left: -90px;
transition: all .5s .25s cubic-bezier(0.175, 1.605, 0.455, 0.920);
span {
font-size: 11px;
}
}
p {
margin: 0;
font-family: 'Bad Script', cursive;
line-height: 22px;
color: #9e9da7;
font-size: 12px;
position: relative;
opacity: 0;
left: -90px;
transition: all .5s .3s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
input {
margin: 20px 0px;
padding: 10px;
outline: none;
border-radius: 255px 15px 205px 35px/35px 225px 35px 255px;
font-family: 'Satisfy', cursive;
border: 3px solid #e8e8e8;
color: #de467c;
width: 55px;
text-align: Center;
position: relative;
opacity: 0;
left: -40px;
transition: all .5s .35s cubic-bezier(0.175, 1.605, 0.455, 0.920);
}
.add {
cursor: pointer;
input {
display: none;
}
display: inherit;
margin: 20px 0px;
padding: 10px 20px;
margin-left: 10px;
border-radius: 255px 15px 205px 35px/35px 225px 35px 255px;
font-family: 'Amatic SC',
cursive;
background: #de467c;
color: white;
width: 25px;
text-align: Center;
text-decoration: none;
position: relative;
opacity: 0;
left: -40px;
transition: all .5s .4s cubic-bezier(0.175, 1.605, 0.455, 0.920);
.firework {
position: absolute;
left: 0px;
top: 0px;
// z-index: 8;
&_part {
position: absolute;
border-radius: 10px;
left: 0;
top: 0;
opacity: 1;
@for $i from 1 through 40 {
&:nth-of-type(#{$i}) {
background: #de467c;
height: 5px;
width: 5px;
opacity: 0;
left: random(50) - 40 + px;
top: random(20) - 10 + px;
transform: rotate(0deg);
transition: left (random(170) - 30)/100 + 0s $i / 80 + 0s cubic-bezier(0.230, 1.000, 0.320, 1.000), transform .6s $i / 80 + 0s, top .99s $i / 80 + 0s cubic-bezier(0.330, 1.000, 0.320, 1.000), opacity .3s .2 + 0s;
}
}
}
}
}
}
}
}
}
}
}
}
@keyframes spin {
to {
transform: rotate(360deg)
}
}
View Compiled
This Pen doesn't use any external JavaScript resources.