Fixes YouTube’s oversized thumbnails with a customizable grid: More videos per row, full width, and no gaps — for a compact, efficient layout.
当前为
// ==UserScript==
// @name YouTube Big Thumbnails Fix
// @namespace https://greasyfork.org/users/1461079
// @version 1.2
// @description Fixes YouTube’s oversized thumbnails with a customizable grid: More videos per row, full width, and no gaps — for a compact, efficient layout.
// @author Michaelsoft
// @match *://www.youtube.com/*
// @grant GM_addStyle
// @run-at document-start
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// === SETTINGS ===
const settings = {
videosPerRow: 6, // Change this to set videos per row (e.g. 4, 5, 6, etc.)
enableShowMoreFix: true // Set to false to show only 1 row of Shorts (disables "Show More" force-expand)
};
// === Apply CSS customizations ===
GM_addStyle(`
ytd-rich-grid-renderer {
--ytd-rich-grid-items-per-row: ${settings.videosPerRow} !important;
--ytd-rich-grid-posts-per-row: ${settings.videosPerRow} !important;
--ytd-rich-grid-gutter-margin: 0px !important;
}
ytd-two-column-browse-results-renderer.grid-${settings.videosPerRow}-columns {
width: 100% !important;
}
ytd-two-column-browse-results-renderer.grid:not(.grid-disabled) {
max-width: 100% !important;
}
`);
// === "Show More" / hidden content fix ===
if (settings.enableShowMoreFix) {
const observer = new MutationObserver(() => {
document.querySelectorAll('ytd-rich-item-renderer[hidden]').forEach(el => {
el.removeAttribute('hidden');
});
document.querySelectorAll('ytd-rich-shelf-renderer').forEach(el => {
el.setAttribute('is-show-more-hidden', '');
});
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
}
})();