/
alexxhub
/
playerjs
Обзор
Документация
Войти
/
alexxhub
/
playerjs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
patch
src/css/player.css
324 строки
6 KB
apavlov3rednet
Separate styles
02 фев 2026, 21:11
02 фев 2026, 21:11
82e9a69
Код
Авторство
О чём код?
.volume__range, .player__progress-range { -webkit-appearance: none; appearance: none; width: 100%; background: transparent; cursor: pointer; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; background: #000; color: #fff; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } .player { max-width: 960px; margin: 40px auto; background: #000; color: #fff; overflow: hidden; border-radius: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6); } .player__video-wrapper { position: relative; background: #000; } .player__video { width: 100%; display: block; background: #000; } .player__big-play { position: absolute; inset: 0; margin: auto; width: 68px; height: 48px; border: none; border-radius: 14px; background: rgba(0, 0, 0, 0.7); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease, transform 0.1s ease; pointer-events: auto; } .player__big-play::before { content: ""; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; margin-left: 3px; } .player__big-play:hover { background: rgba(255, 255, 255, 0.2); transform: scale(1.04); } .player__big-play.is-hidden { opacity: 0; pointer-events: none; } .player__controls { background: #111; padding: 10px 12px 12px; } .player__controls .speed { position: relative; } .player__controls .speed.is-open .speed__menu { display: block; } .player__controls .speed__menu { position: absolute; bottom: 110%; right: 0; min-width: 80px; background: #181818; border-radius: 6px; padding: 4px 0; font-size: 13px; color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); display: none; z-index: 10; } .player__controls .speed__menu-item { padding: 4px 10px; cursor: pointer; white-space: nowrap; } .player__controls .speed__menu-item.is-active { background: #383838; } .player__controls .speed__menu-item:hover { background: #2a2a2a; } .player__controls-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; } .control-btn { width: 32px; height: 17px; border: none; background: transparent; position: relative; cursor: pointer; flex-shrink: 0; } .control-btn::before, .control-btn::after { content: ""; position: absolute; inset: 0; margin: auto; } .control-btn.js-play::before { border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; margin-left: 13px; } .control-btn.js-play.is-paused::before { border: none; width: 4px; height: 15px; box-shadow: -3px 0 0 0 #fff, 3px 0 0 0 #fff; } .control-btn.js-mute::before { width: 10px; height: 10px; border-radius: 2px; background: #fff; clip-path: polygon(0 30%, 50% 30%, 100% 0, 100% 100%, 50% 70%, 0 70%); } .control-btn.js-mute.is-muted::after { width: 18px; height: 2px; background: #ff0000; transform: rotate(45deg); } .control-btn.js-fullscreen::before { width: 12px; height: 12px; border: 2px solid #fff; border-radius: 2px; } .time { display: flex; align-items: baseline; gap: 3px; font-size: 12px; color: #aaa; } .volume { display: flex; align-items: center; gap: 6px; min-width: 120px; } .player__share { margin-top: 8px; display: flex; gap: 8px; } .player__share-btn { border: none; border-radius: 4px; padding: 6px 10px; font-size: 13px; background: #272727; color: #fff; cursor: pointer; } .player__share-btn:hover { background: #3a3a3a; } .volume__range { max-width: 90px; } .volume__range::-webkit-slider-runnable-track, .volume__range::-moz-range-track { height: 4px; border-radius: 4px; background: #555; } .volume__range::-webkit-slider-thumb, .volume__range::-moz-range-thumb { width: 10px; height: 10px; border-radius: 50%; background: #fff; border: none; margin-top: -3px; } .player__progress { position: relative; height: 20px; margin: 0 6px; display: flex; align-items: center; } .player__progress-range { position: relative; z-index: 2; } .player__progress-range::-webkit-slider-runnable-track, .player__progress-range::-moz-range-track { height: 4px; border-radius: 4px; background: #444; } .player__progress-range::-webkit-slider-thumb, .player__progress-range::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: #ff0000; border: none; margin-top: -4px; box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.4); } .player__progress-buffer { position: absolute; inset: 0; height: 4px; margin: auto 0; background: gray; border-radius: 4px; transform-origin: left center; transform: scaleX(0); pointer-events: none; z-index: 2; } .player__segments { position: absolute; inset-inline: 0; top: 50%; transform: translateY(-50%); height: 12px; pointer-events: none; } .player__segment { position: absolute; inset-block: 0; pointer-events: auto; cursor: pointer; } .player__segment:hover .player__segment-label { opacity: 1; } .player__segment--active .player__segment-label { background: #ff0000; } .player__segment-marker { position: absolute; top: 50%; left: 0; transform: translate(-50%, -50%); width: 8px; height: 8px; border-radius: 50%; border: none; background: #ff0000; cursor: pointer; padding: 0; } .player__segment-divider { position: absolute; inset-block: 0; width: 2px; background: rgba(255, 255, 255, 0.6); transform: translateX(-1px); } .player__segment-hit { position: absolute; top: -4px; bottom: -4px; inset-inline: 0; } .player__segment-label { position: absolute; bottom: 100%; left: 50%; transform: translate(-50%, -4px); padding: 2px 6px; border-radius: 4px; background: rgba(0, 0, 0, 0.85); color: #fff; font-size: 11px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.15s ease; } /*# sourceMappingURL=player.css.map */