gecko-dev/browser/devtools/shared/widgets/cubic-bezier.css

142 lines
2.9 KiB
CSS

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Based on Lea Verou www.cubic-bezier.com
See https://github.com/LeaVerou/cubic-bezier */
.coordinate-plane {
position: absolute;
line-height: 0;
height: 400px;
width: 200px;
}
.coordinate-plane:before,
.coordinate-plane:after {
position: absolute;
bottom: 25%;
left: 0;
width: 100%;
}
.coordinate-plane:before {
content: "";
border-bottom: 2px solid;
transform: rotate(-90deg) translateY(2px);
transform-origin: bottom left;
}
.coordinate-plane:after {
content: "";
border-top: 2px solid;
margin-bottom: -2px;
}
.theme-dark .coordinate-plane:before,
.theme-dark .coordinate-plane:after {
border-color: #eee;
}
.control-point {
position: absolute;
z-index: 1;
height: 10px;
width: 10px;
border: 0;
background: #666;
display: block;
margin: -5px 0 0 -5px;
outline: none;
border-radius: 5px;
padding: 0;
cursor: pointer;
}
#P1x, #P1y {
color: #f08;
}
#P2x, #P2y {
color: #0ab;
}
canvas#curve {
background:
linear-gradient(-45deg, transparent 49.7%, rgba(0,0,0,.2) 49.7%, rgba(0,0,0,.2) 50.3%, transparent 50.3%) center no-repeat,
repeating-linear-gradient(transparent, #eee 0, #eee .5%, transparent .5%, transparent 10%) no-repeat,
repeating-linear-gradient(-90deg, transparent, #eee 0, #eee .5%, transparent .5%, transparent 10%) no-repeat;
background-size: 100% 50%, 100% 50%, 100% 50%;
background-position: 25%, 0, 0;
-moz-user-select: none;
}
.theme-dark canvas#curve {
background:
linear-gradient(-45deg, transparent 49.7%, #eee 49.7%, #eee 50.3%, transparent 50.3%) center no-repeat,
repeating-linear-gradient(transparent, rgba(0,0,0,.2) 0, rgba(0,0,0,.2) .5%, transparent .5%, transparent 10%) no-repeat,
repeating-linear-gradient(-90deg, transparent, rgba(0,0,0,.2) 0, rgba(0,0,0,.2) .5%, transparent .5%, transparent 10%) no-repeat;
background-size: 100% 50%, 100% 50%, 100% 50%;
background-position: 25%, 0, 0;
}
/* Timing function preview widget */
.timing-function-preview {
position: absolute;
top: 400px;
}
.timing-function-preview .scale {
position: absolute;
top: 6px;
left: 0;
z-index: 1;
width: 200px;
height: 1px;
background: #ccc;
}
.timing-function-preview .dot {
position: absolute;
top: 0;
left: -7px;
z-index: 2;
width: 10px;
height: 10px;
border-radius: 50%;
border: 2px solid white;
background: #4C9ED9;
}
.timing-function-preview .dot.animate {
animation-duration: 2.5s;
animation-fill-mode: forwards;
animation-name: timing-function-preview;
}
@keyframes timing-function-preview {
0% {
left: -7px;
}
33% {
left: 193px;
}
50% {
left: 193px;
}
83% {
left: -7px;
}
100% {
left: -7px;
}
}