Display YouTube controller below the video

youtubeのコントローラーを動画下に表示する

2025-11-29 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

/* ==UserStyle==
@name           Display YouTube controller below the video
@namespace      github.com/openstyles/stylus
@version        1.0.0
@description    youtubeのコントローラーを動画下に表示する
@license        MIT
@author         Me
==/UserStyle== */
@-moz-document domain("youtube.com") {
    /* 動画コントローラーを動画下に表示する */
    :root {
        --controller-height: 61px;
        --controller-bgcolor: #000;
    }
    ytd-watch-flexy[theater] #full-bleed-container,
    ytd-watch-flexy:not([theater]) #player-container-outer {
        margin-bottom: calc(var(--controller-height) + 10px) !important;
    }
    #movie_player,
    #error-screen {
        z-index: 1;
    }
    #ytd-player,
    .html5-video-player {
        overflow: visible !important;
    }
    html:not([data-cast-api-enabled]) ytd-watch-flexy[theater] #movie_player > .ytp-chrome-bottom {
        margin-bottom: calc(var(--controller-height) * -1 - 15px) !important;
    }
    html:not([data-cast-api-enabled]) #movie_player > .ytp-chrome-bottom {
        margin-bottom: calc(var(--controller-height) * -1) !important;
    }
    ytd-watch-flexy[theater] #player-container:not(.ytd-video-preview)::after {
        height: calc(var(--controller-height) + 15px);
    }
    #player-container:not(.ytd-video-preview)::after {
        content: '';
        position: absolute;
        width: 100%;
        height: var(--controller-height);
        background: var(--controller-bgcolor);
    }

    /* 再生終了後の動画を非表示 */
    #movie_player:has(.ytp-fullscreen-grid[style=""]) video {
        display: none !important;
    }
    /* シークバーのシーンプレビュー横幅をはみ出さない */
    .ytp-fine-scrubbing-container {
        overflow: hidden !important;
    }
    /* ツールチップサムネイルと字幕の表示を下げる */
    html:not([data-cast-api-enabled]) :is(#movie_player:not(.ytp-player-minimized) > .ytp-tooltip, div:not(#inline-preview-player) > #ytp-caption-window-container) {
        margin-top: var(--controller-height) !important;
    }
}