CSS+Vanilla JS shooting stars (P5JS no longuer in use but still there); more styling; favicons; Trying to get in touch with Bandcamp
This commit is contained in:
289
css/main.css
289
css/main.css
@@ -5,13 +5,40 @@
|
||||
--accent-color-1: #ff91d8;
|
||||
--accent-color-1-light: #ffcdff;
|
||||
--accent-color-2: #ffff7d;
|
||||
|
||||
--crossfader-thumb-width: 30px;
|
||||
--crossfader-thumb-height: 60px;
|
||||
--crossfader-thumb-radius: 15px;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(fonts/Roboto Regular.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: url(fonts/Roboto Thin.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(fonts/Roboto Black.woff2) format('woff2');
|
||||
}
|
||||
|
||||
html {
|
||||
color: var(--text-color);
|
||||
font-size: 1em;
|
||||
line-height: 1.4;
|
||||
font-family: Roboto, Arial, sans-serif;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
@@ -52,14 +79,6 @@ textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Author's custom styles
|
||||
========================================================================== */
|
||||
|
||||
html {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
#bg {
|
||||
z-index: -2;
|
||||
overflow: hidden;
|
||||
@@ -73,11 +92,8 @@ html {
|
||||
#bg img {
|
||||
z-index: -1;
|
||||
position: fixed;
|
||||
/* max-width: 100%;
|
||||
max-height: 100%; */
|
||||
}
|
||||
|
||||
|
||||
#desk {
|
||||
/* display: none; */
|
||||
display: flex;
|
||||
@@ -92,6 +108,10 @@ html {
|
||||
padding-bottom: 2em;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.player {
|
||||
max-width: 480px;
|
||||
display: flex;
|
||||
@@ -124,9 +144,11 @@ iframe {
|
||||
|
||||
.load-button {
|
||||
/* flex-grow: 2; */
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
background-color: var(--accent-color-2);
|
||||
color: var(--bg-color);
|
||||
font-weight: 900;
|
||||
border-radius: 5px;
|
||||
/* padding: 2em; */
|
||||
width: 50%;
|
||||
@@ -137,10 +159,12 @@ iframe {
|
||||
font-size: 0.8em;
|
||||
|
||||
margin: auto;
|
||||
font-weight: 100;
|
||||
color: var(--text-color-light);
|
||||
}
|
||||
|
||||
.control-label span {
|
||||
font-weight: 400;
|
||||
color: var(--accent-color-2);
|
||||
}
|
||||
|
||||
@@ -179,10 +203,35 @@ span.volume-value {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#crossfader {
|
||||
|
||||
#crossfader-wrapper {
|
||||
width: 30em;
|
||||
padding: 3em 0;
|
||||
}
|
||||
#crossfader {
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.graduations {
|
||||
z-index: 0;
|
||||
width: 100;
|
||||
margin: 0 13px 0 13px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.graduation {
|
||||
z-index: 0;
|
||||
width: 3px;
|
||||
height: 23px;
|
||||
border-radius: 23px;
|
||||
background-color: var(--accent-color-1-light);
|
||||
}
|
||||
|
||||
.graduation-small {
|
||||
width: 2px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
/* Custom crossfader styling made using http://danielstern.ca/range.css */
|
||||
input[type=range] {
|
||||
@@ -216,10 +265,10 @@ input[type=range]::-moz-range-track {
|
||||
}
|
||||
input[type=range]::-moz-range-thumb {
|
||||
background: var(--accent-color-2);
|
||||
border: solid var(--accent-color-1-light);
|
||||
/* border: solid var(--accent-color-1-light); */
|
||||
cursor: pointer;
|
||||
border-width: 0px;
|
||||
border-radius: 25px;
|
||||
border-radius: var(--crossfader-thumb-radius);
|
||||
}
|
||||
input[type=range]::-ms-track {
|
||||
background: transparent;
|
||||
@@ -238,7 +287,7 @@ input[type=range]::-ms-fill-upper {
|
||||
}
|
||||
input[type=range]::-ms-thumb {
|
||||
background: var(--accent-color-2);
|
||||
border: solid var(--accent-color-1-light);
|
||||
/* border: solid var(--accent-color-1-light); */
|
||||
cursor: pointer;
|
||||
margin-top: 0px;
|
||||
/*Needed to keep the Edge thumb centred*/
|
||||
@@ -256,47 +305,50 @@ input[type=range]#crossfader::-webkit-slider-runnable-track {
|
||||
}
|
||||
input[type=range]#crossfader::-webkit-slider-thumb {
|
||||
margin-top: -20.65px;
|
||||
width: 30px;
|
||||
height: 50px;
|
||||
border-width: 5px;
|
||||
border-radius: 12px;
|
||||
width: var(--crossfader-thumb-width);
|
||||
height: var(--crossfader-thumb-height);
|
||||
/* border-width: 5px;
|
||||
border-radius: 12px; */
|
||||
}
|
||||
|
||||
input[type=range]#crossfader::-moz-range-track {
|
||||
border-radius: 25px;
|
||||
/* border-radius: 25px; */
|
||||
width: 100%;
|
||||
height: 13.3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type=range]#crossfader::-moz-range-thumb {
|
||||
width: 30px;
|
||||
height: 50px;
|
||||
border-width: 5px;
|
||||
border-radius: 12px;
|
||||
width: var(--crossfader-thumb-width);
|
||||
height: var(--crossfader-thumb-height);
|
||||
/* border-width: 5px; */
|
||||
/* border-radius: 12px; */
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type=range]#crossfader::-ms-track {
|
||||
border-width: 18.75px 0;
|
||||
/* border-width: 18.75px 0; */
|
||||
height: 13.3px;
|
||||
}
|
||||
input[type=range]#crossfader::-ms-fill-lower {
|
||||
border-width: 2.3px;
|
||||
border-radius: 50px;
|
||||
/* border-width: 2.3px;
|
||||
border-radius: 50px; */
|
||||
}
|
||||
input[type=range]#crossfader::-ms-fill-upper {
|
||||
border-radius: 50px;
|
||||
/* border-radius: 50px; */
|
||||
}
|
||||
input[type=range]#crossfader::-ms-thumb {
|
||||
width: 30px;
|
||||
height: 50px;
|
||||
border-width: 5px;
|
||||
border-radius: 12px;
|
||||
width: var(--crossfader-thumb-width);
|
||||
height: var(--crossfader-thumb-height);
|
||||
/* border-width: 5px;
|
||||
border-radius: 12px; */
|
||||
cursor: pointer;
|
||||
margin-top: 0px;
|
||||
/*Needed to keep the Edge thumb centred*/
|
||||
}
|
||||
|
||||
|
||||
.footer {
|
||||
font-weight: 100;
|
||||
}
|
||||
.footer a, .footer a:visited {
|
||||
color: var(--text-color);
|
||||
text-decoration: none;
|
||||
@@ -305,176 +357,3 @@ input[type=range]#crossfader::-ms-thumb {
|
||||
.footer span {
|
||||
cursor: pointer;
|
||||
}
|
||||
/* ==========================================================================
|
||||
Helper classes
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Hide visually and from screen readers
|
||||
*/
|
||||
|
||||
.hidden,
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* Hide only visually, but have it available for screen readers:
|
||||
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
|
||||
*
|
||||
* 1. For long content, line feeds are not interpreted as spaces and small width
|
||||
* causes content to wrap 1 word per line:
|
||||
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
||||
*/
|
||||
|
||||
.sr-only {
|
||||
border: 0;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
width: 1px;
|
||||
/* 1 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Extends the .sr-only class to allow the element
|
||||
* to be focusable when navigated to via the keyboard:
|
||||
* https://www.drupal.org/node/897638
|
||||
*/
|
||||
|
||||
.sr-only.focusable:active,
|
||||
.sr-only.focusable:focus {
|
||||
clip: auto;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
position: static;
|
||||
white-space: inherit;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
* Hide visually and from screen readers, but maintain layout
|
||||
*/
|
||||
|
||||
.invisible {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/*
|
||||
* Clearfix: contain floats
|
||||
*
|
||||
* For modern browsers
|
||||
* 1. The space content is one way to avoid an Opera bug when the
|
||||
* `contenteditable` attribute is included anywhere else in the document.
|
||||
* Otherwise it causes space to appear at the top and bottom of elements
|
||||
* that receive the `clearfix` class.
|
||||
* 2. The use of `table` rather than `block` is only necessary if using
|
||||
* `:before` to contain the top-margins of child elements.
|
||||
*/
|
||||
|
||||
.clearfix::before,
|
||||
.clearfix::after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
EXAMPLE Media Queries for Responsive Design.
|
||||
These examples override the primary ('mobile first') styles.
|
||||
Modify as content requires.
|
||||
========================================================================== */
|
||||
|
||||
@media only screen and (min-width: 35em) {
|
||||
/* Style adjustments for viewports that meet the condition */
|
||||
}
|
||||
|
||||
@media print,
|
||||
(-webkit-min-device-pixel-ratio: 1.25),
|
||||
(min-resolution: 1.25dppx),
|
||||
(min-resolution: 120dpi) {
|
||||
/* Style adjustments for high resolution devices */
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Print styles.
|
||||
Inlined to avoid the additional HTTP request:
|
||||
https://www.phpied.com/delay-loading-your-print-css/
|
||||
========================================================================== */
|
||||
|
||||
@media print {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
background: #fff !important;
|
||||
color: #000 !important;
|
||||
/* Black prints faster */
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a[href]::after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
abbr[title]::after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
/*
|
||||
* Don't show links that are fragment identifiers,
|
||||
* or use the `javascript:` pseudo protocol
|
||||
*/
|
||||
a[href^="#"]::after,
|
||||
a[href^="javascript:"]::after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap !important;
|
||||
}
|
||||
|
||||
pre,
|
||||
blockquote {
|
||||
border: 1px solid #999;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
/*
|
||||
* Printing Tables:
|
||||
* https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
|
||||
*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
tr,
|
||||
img {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
p,
|
||||
h2,
|
||||
h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
|
||||
h2,
|
||||
h3 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
|
160
css/shooting-star.css
Normal file
160
css/shooting-star.css
Normal file
@@ -0,0 +1,160 @@
|
||||
:root {
|
||||
--shooting-star-duration: 3000ms;
|
||||
--shooting-star-angle: 10deg;
|
||||
--shooting-star-translate: 300px;
|
||||
--shooting-star-direction: 1; /* 1 or -1 */
|
||||
}
|
||||
|
||||
|
||||
/* From https://www.geeksforgeeks.org/how-to-create-shooting-star-animation-effect-using-css/ */
|
||||
.shooting-stars-wrapper {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-transform: scaleX(var(--shooting-star-direction)) rotateZ(var(--shooting-star-angle));
|
||||
|
||||
transform: scaleX(var(--shooting-star-direction)) rotateZ(var(--shooting-star-angle));
|
||||
|
||||
}
|
||||
|
||||
.shooting-star {
|
||||
position: absolute;
|
||||
/* left: 50%; */
|
||||
top: 50%;
|
||||
height: 2px;
|
||||
border-radius: 885px;
|
||||
background: linear-gradient(-45deg, #eef0f5, rgba(0, 0, 255, 0));
|
||||
|
||||
-webkit-filter: drop-shadow(0 0 6px #eef1f8);
|
||||
filter: drop-shadow(0 0 6px #d7dff0);
|
||||
|
||||
-webkit-animation: tail var(--shooting-star-duration) ease-in-out 1,
|
||||
shooting var(--shooting-star-duration) ease-in-out 1;
|
||||
animation: tail var(--shooting-star-duration) ease-in-out 1,
|
||||
shooting var(--shooting-star-duration) ease-in-out 1;
|
||||
}
|
||||
|
||||
/* .shooting-star.is-shooting {
|
||||
-webkit-animation: tail var(--shooting-star-duration) ease-in-out 1,
|
||||
shooting var(--shooting-star-duration) ease-in-out 1;
|
||||
animation: tail var(--shooting-star-duration) ease-in-out 1,
|
||||
shooting var(--shooting-star-duration) ease-in-out 1;
|
||||
} */
|
||||
|
||||
/* Here we add before and after effect to star */
|
||||
.shooting-star::before,
|
||||
.shooting-star::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: calc(50% - 1px);
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(
|
||||
-45deg,
|
||||
rgba(0, 0, 255, 0),
|
||||
#eaeef8,
|
||||
rgba(0, 0, 255, 0)
|
||||
);
|
||||
-webkit-transform: translateX(50%) rotateZ(45deg);
|
||||
transform: translateX(50%) rotateZ(45deg);
|
||||
border-radius: 100%;
|
||||
-webkit-animation: shining var(--shooting-star-duration) ease-in-out 1;
|
||||
animation: shining var(--shooting-star-duration) ease-in-out 1;
|
||||
}
|
||||
/* .shooting-star.is-shooting::before,
|
||||
.shooting-star.is-shooting::after {
|
||||
-webkit-animation: shining var(--shooting-star-duration) ease-in-out 1;
|
||||
animation: shining var(--shooting-star-duration) ease-in-out 1;
|
||||
} */
|
||||
.shooting-star::after {
|
||||
-webkit-transform: translateX(50%) rotateZ(-45deg);
|
||||
transform: translateX(50%) rotateZ(-45deg);
|
||||
}
|
||||
|
||||
/* Here we are adding location of each
|
||||
nth-child, animations, delays, and
|
||||
before and after effects to each
|
||||
and every balls(stars) */
|
||||
/* .shooting-star:nth-child(1) {
|
||||
top: calc(50% - -119px);
|
||||
left: calc(50% - 43px);
|
||||
-webkit-animation-delay: 4000ms;
|
||||
animation-delay: 4000ms;
|
||||
}
|
||||
.shooting-star:nth-child(1)::before,
|
||||
.shooting-star:nth-child(1)::after {
|
||||
-webkit-animation-delay: 4000ms;
|
||||
animation-delay: 4000ms;
|
||||
} */
|
||||
|
||||
/* This code will help to generate
|
||||
effect in tail of star */
|
||||
@keyframes tail {
|
||||
0% {
|
||||
width: 0;
|
||||
}
|
||||
30% {
|
||||
width: 100px;
|
||||
}
|
||||
100% {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes tail {
|
||||
0% {
|
||||
width: 0;
|
||||
}
|
||||
30% {
|
||||
width: 100px;
|
||||
}
|
||||
100% {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* This code will generate shining
|
||||
effect in head of star */
|
||||
@keyframes shining {
|
||||
0% {
|
||||
width: 0;
|
||||
}
|
||||
50% {
|
||||
width: 30px;
|
||||
}
|
||||
100% {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes shining {
|
||||
0% {
|
||||
width: 0;
|
||||
}
|
||||
50% {
|
||||
width: 30px;
|
||||
}
|
||||
100% {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Here we make shooting effect */
|
||||
@keyframes shooting {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translateX(var(--shooting-star-translate));
|
||||
transform: translateX(var(--shooting-star-translate));
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes shooting {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translateX(var(--shooting-star-translate));
|
||||
transform: translateX(var(--shooting-star-translate));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user