galaxy/Cards/EddyBel_stale-mule-90.html

271 lines
8.6 KiB
HTML

<div class="card">
<div class="card__view">
<div class="card__view__data">
<p class="card__view__preview">Preview</p>
<p class="card__play__icon">
<svg width="8px" height="8px" viewBox="-0.5 0 7 7" version="1.1">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Dribbble-Light-Preview" transform="translate(-347.000000, -3766.000000)" fill="#000000">
<g id="icons" transform="translate(56.000000, 160.000000)">
<path fill="#EAECEE" d="M296.494737,3608.57322 L292.500752,3606.14219 C291.83208,3605.73542 291,3606.25002 291,3607.06891 L291,3611.93095 C291,3612.7509 291.83208,3613.26444 292.500752,3612.85767 L296.494737,3610.42771 C297.168421,3610.01774 297.168421,3608.98319 296.494737,3608.57322" id="play-[#1003]"></path>
</g>
</g>
</g>
</svg>
</p>
<p class="card__lenght">10:19</p>
</div>
</div>
<div class="card__content">
<p class="channel__video__name">The Backwards Brain Bicycle - Smarter Every Day 133" by Destin Sandlin</p>
<div class="channel__data">
<div class="channel__img"></div>
<div class="channel__data__text">
<p class="channel__name">SmarterEveryDay</p>
<div class="channel__subdata">
<p class="channel__views">519.7K Views</p>
<p class="channel__date">3 months ago</p>
</div>
</div>
</div>
</div>
</div>
<style>
/* From Uiverse.io by EddyBel - Tags: gradient, card, clean, video */
/* In this section you start by assigning a shape to the letter and an assigned size. */
.card {
--rounded: 20px;
--size: 270px;
width: var(--size);
height: calc(var(--size) - 10px);
border-radius: var(--rounded);
background: #fff;
position: relative;
overflow: hidden;
cursor: pointer;
}
/* With the before property assigns the gradient that will be used as background for the chart. */
.card::before {
--size: 100%;
--blur: 20px;
content: "";
position: absolute;
width: var(--size);
height: var(--size);
filter: blur(var(--blur));
background-color: #faff99;
background-image: radial-gradient(at 33% 82%, hsla(254,71%,69%,1) 0px, transparent 50%),
radial-gradient(at 28% 4%, hsla(289,96%,63%,1) 0px, transparent 50%),
radial-gradient(at 69% 49%, hsla(309,91%,71%,1) 0px, transparent 50%),
radial-gradient(at 94% 14%, hsla(232,66%,62%,1) 0px, transparent 50%),
radial-gradient(at 19% 93%, hsla(51,98%,74%,1) 0px, transparent 50%),
radial-gradient(at 15% 80%, hsla(194,87%,63%,1) 0px, transparent 50%),
radial-gradient(at 56% 52%, hsla(109,71%,61%,1) 0px, transparent 50%);
}
/* Cover the chart with a light white tone, this helps the gradient colors to be less aggressive. */
.card::after {
--size: 100%;
content: "";
position: absolute;
width: var(--size);
height: var(--size);
background: rgba(255, 255, 255, 0.5);
}
/*
In this section you define where the video cover will be displayed.
Modify the background-image with the address of the cover to use. */
.card__view {
position: absolute;
height: 55%;
left: 0;
top: 0;
right: 0;
margin: auto;
z-index: 1;
background-image: linear-gradient(to right bottom, #fff, #e2e2e2);
background-repeat: no-repeat;
background-size: cover;
}
/* When hovering over the element you can see the video preview. */
/* Place in the HTML an "iframe" tag with the address of the youtube video to show as preview.
The iframe tag must be a child of the div with the class "card__view".
Also place a class with name "preview__video". */
.card:hover .preview__video {
opacity: 100;
}
.preview__video {
transition: opacity 300ms;
opacity: 0;
}
/* In this section you define the size and position of the section that will contain the video content. */
.card__content {
position: absolute;
z-index: 2;
width: 100%;
height: 40%;
left: 0;
right: 0;
bottom: 0;
padding-left: 9px;
padding-right: 9px;
color: #000;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.channel__video__name {
font-size: 0.8em;
margin-bottom: 10px;
max-height: 50%;
overflow: hidden;
text-overflow: ellipsis;
font-weight: bold;
color: #000;
}
.channel__data {
display: flex;
align-items: center;
width: 100%;
gap: 10px;
margin-bottom: 8px;
}
/* In this section you assign the image of the channel that owns the video, modify the parameter "background-image" by the address of the channel cover. */
.channel__img {
--size-channel: 35px;
--rounded: 50%;
--duration: 300ms;
min-width: var(--size-channel);
min-height: var(--size-channel);
border-radius: var(--rounded);
transition: transform var(--duration);
background-repeat: no-repeat;
background-size: cover;
background-color: #99cfff;
background-image: radial-gradient(at 6% 14%, hsla(234,90%,72%,1) 0px, transparent 50%),
radial-gradient(at 9% 73%, hsla(298,79%,64%,1) 0px, transparent 50%),
radial-gradient(at 50% 38%, hsla(196,72%,75%,1) 0px, transparent 50%),
radial-gradient(at 61% 82%, hsla(288,92%,79%,1) 0px, transparent 50%),
radial-gradient(at 91% 67%, hsla(170,86%,66%,1) 0px, transparent 50%),
radial-gradient(at 83% 29%, hsla(289,73%,63%,1) 0px, transparent 50%),
radial-gradient(at 93% 34%, hsla(191,88%,75%,1) 0px, transparent 50%);
}
.channel__img:hover {
transform: scale(1.08);
}
.channel__data__text {
display: flex;
flex-direction: column;
gap: 5px;
width: 100%;
}
.channel__subdata {
display: flex;
gap: 10px;
}
.channel__name {
font-size: 0.8em;
transition: color 400ms;
}
.channel__views, .channel__date {
font-size: 0.6em;
}
.card__view__data {
position: absolute;
bottom: 0;
width: 100%;
display: flex;
justify-content: flex-end;
gap: 10px;
padding: 8px;
box-sizing: border-box;
pointer-events: none;
}
.card__lenght, .card__play__icon, .card__view__preview {
background: rgba(0, 0, 0, 0.5);
padding: 5px;
border-radius: 6px;
font-size: 0.6em;
font-weight: bold;
color: rgba(255, 255, 255, 0.7);
}
.card__play__icon {
display: flex;
justify-content: center;
align-items: center;
min-width: 30px;
}
.card__view__preview {
opacity: 0;
transform: translateY(-10px);
transition: opacity 900ms, transform 900ms;
}
.card:hover .card__view__preview {
opacity: 100;
transform: translateY(0px);
}
/* List of other colors you can use */
.card:nth-child(2n)::before {
background-color: #ffd399;
background-image: radial-gradient(at 15% 65%, hsla(249,84%,60%,1) 0px, transparent 50%),
radial-gradient(at 38% 24%, hsla(197,80%,66%,1) 0px, transparent 50%),
radial-gradient(at 65% 93%, hsla(228,83%,60%,1) 0px, transparent 50%),
radial-gradient(at 16% 58%, hsla(314,83%,72%,1) 0px, transparent 50%),
radial-gradient(at 77% 57%, hsla(298,90%,78%,1) 0px, transparent 50%),
radial-gradient(at 76% 95%, hsla(178,64%,76%,1) 0px, transparent 50%),
radial-gradient(at 15% 61%, hsla(248,75%,64%,1) 0px, transparent 50%);
}
.card:nth-child(3n)::before {
background-color: #99b3ff;
background-image: radial-gradient(at 93% 72%, hsla(293,71%,70%,1) 0px, transparent 50%),
radial-gradient(at 28% 37%, hsla(252,81%,71%,1) 0px, transparent 50%),
radial-gradient(at 25% 59%, hsla(158,67%,62%,1) 0px, transparent 50%),
radial-gradient(at 48% 16%, hsla(197,69%,63%,1) 0px, transparent 50%),
radial-gradient(at 70% 56%, hsla(171,69%,70%,1) 0px, transparent 50%),
radial-gradient(at 7% 33%, hsla(65,65%,79%,1) 0px, transparent 50%),
radial-gradient(at 89% 22%, hsla(286,64%,72%,1) 0px, transparent 50%);
}
.card:nth-child(4n)::before {
background-color: #e2ff99;
background-image: radial-gradient(at 22% 80%, hsla(265,77%,67%,1) 0px, transparent 50%),
radial-gradient(at 91% 77%, hsla(292,60%,78%,1) 0px, transparent 50%),
radial-gradient(at 66% 7%, hsla(46,95%,76%,1) 0px, transparent 50%),
radial-gradient(at 16% 32%, hsla(275,90%,75%,1) 0px, transparent 50%),
radial-gradient(at 26% 23%, hsla(283,60%,69%,1) 0px, transparent 50%),
radial-gradient(at 2% 64%, hsla(208,62%,62%,1) 0px, transparent 50%),
radial-gradient(at 62% 77%, hsla(112,88%,75%,1) 0px, transparent 50%);
}
.card:nth-child(5n)::before {
background-color: #99d1ff;
background-image: radial-gradient(at 21% 94%, hsla(270,95%,76%,1) 0px, transparent 50%),
radial-gradient(at 56% 5%, hsla(252,65%,79%,1) 0px, transparent 50%),
radial-gradient(at 67% 94%, hsla(194,81%,67%,1) 0px, transparent 50%),
radial-gradient(at 15% 72%, hsla(304,97%,77%,1) 0px, transparent 50%),
radial-gradient(at 63% 56%, hsla(38,98%,63%,1) 0px, transparent 50%),
radial-gradient(at 41% 67%, hsla(321,61%,77%,1) 0px, transparent 50%),
radial-gradient(at 68% 68%, hsla(263,67%,69%,1) 0px, transparent 50%);
}
</style>