پیشنمایش زنده
کد HTML
<button class="ui-btc-card" type="button" aria-label="BTC / USD live card">
<span class="ui-btc-card__bg" aria-hidden="true"></span>
<span class="ui-btc-card__inner">
<span class="ui-btc-card__top">
<span class="ui-btc-card__icon" aria-hidden="true">
<svg
class="ui-btc-card__svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 4091.27 4091.73"
role="img"
aria-label="Bitcoin"
>
<path
fill="#ffffff"
fill-rule="nonzero"
d="M2947.77 1754.38c40.72,-272.26 -166.56,-418.61 -450,-516.24l91.95 -368.8 -224.5 -55.94 -89.51 359.09c-59.02,-14.72 -119.63,-28.59 -179.87,-42.34l90.16 -361.46 -224.36 -55.94 -92 368.68c-48.84,-11.12 -96.81,-22.11 -143.35,-33.69l0.26 -1.16 -309.59 -77.31 -59.72 239.78c0,0 166.56,38.18 163.05,40.53 90.91,22.69 107.35,82.87 104.62,130.57l-104.74 420.15c6.26,1.59 14.38,3.89 23.34,7.49 -7.49,-1.86 -15.46,-3.89 -23.73,-5.87l-146.81 588.57c-11.11,27.62 -39.31,69.07 -102.87,53.33 2.25,3.26 -163.17,-40.72 -163.17,-40.72l-111.46 256.98 292.15 72.83c54.35,13.63 107.61,27.89 160.06,41.3l-92.9 373.03 224.24 55.94 92 -369.07c61.26,16.63 120.71,31.97 178.91,46.43l-91.69 367.33 224.51 55.94 92.89 -372.33c382.82,72.45 670.67,43.24 791.83,-303.02 97.63,-278.78 -4.86,-439.58 -206.26,-544.44 146.69,-33.83 257.18,-130.31 286.64,-329.61l-0.07 -0.05zm-512.93 719.26c-69.38,278.78 -538.76,128.08 -690.94,90.29l123.28 -494.2c152.17,37.99 640.17,113.17 567.67,403.91zm69.43 -723.3c-63.29,253.58 -453.96,124.75 -580.69,93.16l111.77 -448.21c126.73,31.59 534.85,90.55 468.94,355.05l-0.02 0z"
></path>
</svg>
</span>
<span class="ui-btc-card__titles">
<span class="ui-btc-card__pair">BTC / USD</span>
<span class="ui-btc-card__sub">orange-black routing desk</span>
</span>
<span class="ui-btc-card__badge">LIVE</span>
</span>
<span class="ui-btc-card__mid">
<span class="ui-btc-card__price">
<span class="ui-btc-card__sym">$</span>
<span class="ui-btc-card__num">43,123.56</span>
<span class="ui-btc-card__chg">+0.82%</span>
</span>
<span class="ui-btc-card__meta">
<span class="ui-btc-card__pill">spread 0.06%</span>
<span class="ui-btc-card__pill">fee 0.10%</span>
<span class="ui-btc-card__pill">latency 21ms</span>
</span>
</span>
<span class="ui-btc-card__ticker" aria-hidden="true">
<span class="ui-btc-card__marquee">
<span>BTC→USD</span><span>route OK</span><span>confirm 3/3</span
><span>slip 0.02%</span><span>hash: 9f2a…c41b</span> <span>BTC→USD</span
><span>route OK</span><span>confirm 3/3</span><span>slip 0.02%</span
><span>hash: 9f2a…c41b</span>
</span>
</span>
</span>
</button>
کد CSS
.ui-btc-card {
--bg0: #060607;
--bg1: #0b0b10;
--text: rgba(255, 255, 255, 0.88);
--muted: rgba(255, 255, 255, 0.46);
--btcOrange: #f7931a;
appearance: none;
position: relative;
display: block;
width: 36em;
max-width: 100%;
border: 0;
padding: 0;
border-radius: 1.55em;
background: transparent;
cursor: pointer;
text-align: left;
outline: none;
transition:
transform 0.18s ease,
filter 0.18s ease;
font:
600 1rem/1.2 ui-sans-serif,
system-ui,
-apple-system,
Segoe UI,
Roboto,
Arial,
sans-serif;
}
.ui-btc-card__bg,
.ui-btc-card__inner,
.ui-btc-card__top,
.ui-btc-card__icon,
.ui-btc-card__titles,
.ui-btc-card__pair,
.ui-btc-card__sub,
.ui-btc-card__badge,
.ui-btc-card__mid,
.ui-btc-card__price,
.ui-btc-card__sym,
.ui-btc-card__num,
.ui-btc-card__chg,
.ui-btc-card__meta,
.ui-btc-card__pill,
.ui-btc-card__ticker,
.ui-btc-card__marquee {
box-sizing: border-box;
}
.ui-btc-card__bg {
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
background: radial-gradient(
28em 18em at 18% 18%,
rgba(247, 147, 26, 0.24),
transparent 62%
),
radial-gradient(
24em 16em at 82% 78%,
rgba(255, 207, 139, 0.11),
transparent 62%
),
radial-gradient(
1.2em 1.2em at 0.9em 0.9em,
rgba(247, 147, 26, 0.06) 0 2px,
transparent 2px
),
radial-gradient(
1.2em 1.2em at 2em 2em,
rgba(255, 207, 139, 0.04) 0 2px,
transparent 2px
),
repeating-linear-gradient(
to bottom,
rgba(255, 255, 255, 0.018) 0 1px,
transparent 1px 7px
),
linear-gradient(135deg, var(--bg0), var(--bg1));
background-size:
auto,
auto,
3.8em 3.8em,
3.8em 3.8em,
auto,
auto;
border: 1px solid rgba(255, 255, 255, 0.07);
box-shadow:
0 1.45em 3.6em rgba(0, 0, 0, 0.58),
inset 0 1px 0 rgba(255, 255, 255, 0.06);
transition:
box-shadow 0.22s ease,
border-color 0.22s ease;
}
.ui-btc-card__inner {
position: relative;
display: block;
padding: 1.55em;
color: var(--text);
}
.ui-btc-card__top {
display: flex;
align-items: center;
gap: 1.05em;
padding-bottom: 1.15em;
border-bottom: 1px solid rgba(255, 255, 255, 0.085);
}
.ui-btc-card__icon {
width: 3.35em;
height: 3.35em;
border-radius: 1.18em;
display: flex;
align-items: center;
justify-content: center;
background: var(--btcOrange);
box-shadow:
0 0.85em 2.1em rgba(247, 147, 26, 0.2),
inset 0 1px 0 rgba(255, 255, 255, 0.34);
border: 1px solid rgba(255, 255, 255, 0.22);
position: relative;
overflow: hidden;
transition:
box-shadow 0.22s ease,
transform 0.22s ease;
}
.ui-btc-card__icon::after {
content: "";
position: absolute;
inset: -30%;
background: radial-gradient(
circle at 30% 25%,
rgba(255, 255, 255, 0.28),
transparent 45%
);
opacity: 0.55;
pointer-events: none;
}
.ui-btc-card__svg {
width: 2.55em;
height: 2.55em;
display: block;
transform: rotate(-12deg);
filter: drop-shadow(0 0.35em 0.85em rgba(0, 0, 0, 0.28));
}
.ui-btc-card__titles {
display: block;
flex: 1;
min-width: 0;
}
.ui-btc-card__pair {
display: block;
font:
800 1rem/1.1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
letter-spacing: 0.22em;
text-transform: uppercase;
color: rgba(255, 215, 170, 0.86);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-btc-card__sub {
display: block;
margin-top: 0.45em;
font:
650 0.84rem/1.1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
letter-spacing: 0.14em;
text-transform: lowercase;
color: var(--muted);
}
.ui-btc-card__badge {
display: inline-flex;
align-items: center;
justify-content: center;
font:
850 0.76rem/1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
letter-spacing: 0.22em;
text-transform: uppercase;
padding: 0.65em 0.95em;
border-radius: 999em;
color: rgba(255, 225, 190, 0.84);
background: rgba(247, 147, 26, 0.12);
border: 1px solid rgba(255, 255, 255, 0.11);
}
.ui-btc-card__mid {
display: block;
padding-top: 1.25em;
padding-bottom: 1.15em;
}
.ui-btc-card__price {
display: flex;
align-items: baseline;
gap: 0.8em;
font:
850 1.55rem/1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
}
.ui-btc-card__sym {
font-size: 1.08rem;
color: rgba(255, 207, 139, 0.76);
}
.ui-btc-card__num {
font-size: 2.25rem;
letter-spacing: 0.06em;
color: rgba(255, 177, 74, 0.92);
text-shadow: 0 0 1.2em rgba(247, 147, 26, 0.12);
}
.ui-btc-card__chg {
font-size: 0.8rem;
letter-spacing: 0.16em;
padding: 0.65em 0.95em;
border-radius: 999em;
color: rgba(255, 215, 170, 0.64);
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
}
.ui-btc-card__meta {
display: flex;
gap: 0.7em;
flex-wrap: wrap;
margin-top: 1.15em;
}
.ui-btc-card__pill {
display: inline-flex;
align-items: center;
justify-content: center;
font:
700 0.78rem/1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
letter-spacing: 0.12em;
text-transform: lowercase;
color: rgba(255, 255, 255, 0.44);
padding: 0.7em 1em;
border-radius: 1.1em;
background: rgba(0, 0, 0, 0.28);
border: 1px solid rgba(255, 255, 255, 0.085);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.ui-btc-card__ticker {
display: block;
overflow: hidden;
border-radius: 1.1em;
background: rgba(0, 0, 0, 0.28);
border: 1px solid rgba(255, 255, 255, 0.085);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.ui-btc-card__marquee {
display: flex;
gap: 1.25em;
width: max-content;
padding: 0.95em 1.1em;
font:
800 0.78rem/1 ui-monospace,
SFMono-Regular,
Menlo,
Monaco,
Consolas,
"Liberation Mono",
"Courier New",
monospace;
letter-spacing: 0.18em;
text-transform: uppercase;
color: rgba(255, 177, 74, 0.46);
animation: ui_btc_crawl 22s linear infinite;
}
.ui-btc-card__marquee span {
display: inline-block;
white-space: nowrap;
}
.ui-btc-card:hover {
transform: translateY(-0.12em);
}
.ui-btc-card:hover .ui-btc-card__bg {
box-shadow:
0 1.65em 3.9em rgba(0, 0, 0, 0.62),
inset 0 1px 0 rgba(255, 255, 255, 0.07);
border-color: rgba(255, 255, 255, 0.09);
}
.ui-btc-card:hover .ui-btc-card__icon {
box-shadow:
0 1.05em 2.4em rgba(247, 147, 26, 0.24),
inset 0 1px 0 rgba(255, 255, 255, 0.36);
}
.ui-btc-card:active {
transform: translateY(0);
filter: brightness(1.02);
}
.ui-btc-card:active .ui-btc-card__bg {
box-shadow:
0 1.25em 3.1em rgba(0, 0, 0, 0.58),
inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.ui-btc-card:focus-visible .ui-btc-card__bg {
outline: 0.18em solid rgba(247, 147, 26, 0.42);
outline-offset: 0.18em;
}
@keyframes ui_btc_crawl {
from {
transform: translateX(0);
}
to {
transform: translateX(-50%);
}
}
@media (max-width: 46em) {
.ui-btc-card {
width: 100%;
}
.ui-btc-card__inner {
padding: 1.25em;
}
.ui-btc-card__num {
font-size: 2.05rem;
}
}
@media (prefers-reduced-motion: reduce) {
.ui-btc-card__marquee {
animation: none;
}
.ui-btc-card {
transition: none;
transform: none;
}
.ui-btc-card__bg,
.ui-btc-card__icon {
transition: none;
}
}