Skip to content

Pornhub Theatre Mode by butt_plung3r

Screenshot of Pornhub Theatre Mode

Details

Authorbutt_plung3r

LicenseNo License

Categorypornhub

Created

Updated

Size5.3 kB

Statistics

Learn how we calculate statistics in the FAQ.

Failed to fetch stats.

Description

Enhances Pornhub's Large Player mode by making the video player span the full width of the page, similar to YouTube's Theatre Mode.

Notes

This stylesheet makes use of modern CSS features. TLDR: use a modern, up-to-date browser.

Changelog:

2025-02-04:

  • Rewrite - PornHub seems to be using different markup and different styles.
  • Recommended videos beside the main video player are now hidden by default.
  • Improved layout and responsive tweaks:
    • Make full use of the screen by displaying more video thumbnails and increasing their size.
    • Video player is large by default - you no longer need to toggle 'large' player.
  • Tested in Firefox. YMMV in chromium (consider switching to Firefox!).

2024-03-26:

  • Fix missing height prop.

2024-03-23:

  • Complete rewrite. Seems this wasn't working properly for some time now due to PornHub changing their markup and styling. Should be working as advertised.
  • Video player fills the viewport - full width and full height picture. Even supports vertical video.
  • Hides ad slots in related videos section (you should use an adblocker like uBlock Origin regardless).
  • Tested (not exhaustively) on desktop in Firefox and Chrome.

Source code

/* ==UserStyle==
@name           PornHub Theatre Mode
@namespace      butt_plung3r
@version        2025-02-04
@description    Pornhub for the big screen!
@author         butt_plung3r
==/UserStyle== */


@-moz-document domain("pornhub.com") {

	html.supportsGridLayout {
		body > .wrapper > .container {
			box-sizing: border-box;
			width: 100%;
			max-width: 100%;
			min-width: unset !important;
			padding-inline: 10px;
			
			> .sectionWrapper > .sectionWrapper,
			.title-container,
			.video-actions-menu, 
			.video-actions-container,
			.videoGridTabs,
			#under-player-playlists > div {
				max-width: 1323px;
				width: 96%;
				margin-inline: auto !important;
				
				/*outline: 1px solid red;*/
			}
		}
	}
	
	
	/**
	 * Video page fixes
	 */
	
	html.supportsGridLayout.fluidContainer #main-container.vpContainer #vpContentContainer {
		.topSectionGrid {
			grid-template-columns: 1fr;
			margin-bottom: 0;
		}
		
		.videoWrapModelInfo {
			margin-bottom: 20px;
		}
		
		#hd-leftColVideoPage .video-wrapper #player {
			padding-bottom: min(98vh, 56.26%);
			
			.mgp_videoWrapper .mgp_videoPoster {
				picture, source, img {
					height: 100%;
					width: auto;
				}
			}
		}
		
		.sideColumn {
			display: none;
		}
		
		.loadMoreVideosCenter#loadMoreRelatedVideosCenter,
		.video-wrapper.relatedVideos::after {
			left: 50%;
			transform: translateX(-50%);
		}
		
		#under-player-comments {
			margin-inline: auto;
			
			.showMoreCommentsBtn {
				width: 100% !important;
			}
		}
	}
	
	#main-container #hd-leftColVideoPage .video-wrapper .video-actions-container .video-actions-tabs .video-action-tab.about-tab .show-more-btn {
		left: 50%;
		transform: translateX(-50%);
	}
	
	.latestThumbDesign ul.videos li.fixedSizeThumbContainer {
		width: 100%;
		max-width: 100%;
		height: auto;
		
		.wrap {
			.phimage img,
			.videoPreviewEl {
				height: auto;
			}
		}
	}
	
	/* end video page fixes */
	
	
	/**
	 * Responsive tweaks
	 */
	
	div.nf-videos {
		width: 100%;
	}
	
	html.supportsGridLayout {
		.sectionWrapper .full-row-thumbs {
			&#likedVideosSection,
			&#singleFeedSection {
				grid-template-columns: repeat(1, 1fr) !important;
			}
		}
	
		#incategoryVideos,
		#videoCategory,
		#videoSearchResult,
		#relatedVideosCenter,
		.sectionWrapper.videoSearch #bottomVideos.search-video-thumbs,
		.js-videosTabContent.relatedVideos > ul,
		.js-videosTabContent.recommendedVideos > ul {
			grid-template-columns: repeat(1, 1fr) !important;
		}
	}
	
	@media (width >= 640px) {
		html.supportsGridLayout {
			.sectionWrapper .full-row-thumbs {
				&#likedVideosSection,
				&#singleFeedSection {
					grid-template-columns: repeat(2, 1fr) !important;
				}
			}
		}
	}
	
	@media (width >= 960px) {
		html.supportsGridLayout {
			.sectionWrapper .full-row-thumbs {
				&#likedVideosSection,
				&#singleFeedSection {
					grid-template-columns: repeat(3, 1fr) !important;
				}
			}
	
			#incategoryVideos,
			#videoCategory,
			#videoSearchResult,
			#relatedVideosCenter,
			.sectionWrapper.videoSearch #bottomVideos.search-video-thumbs,
			.js-videosTabContent.relatedVideos > ul,
			.js-videosTabContent.recommendedVideos > ul {
				grid-template-columns: repeat(2, 1fr) !important;
			}
		}
	}
	
	@media (width >= 1280px) {
		html.supportsGridLayout {
			.sectionWrapper .full-row-thumbs {
				&#likedVideosSection,
				&#singleFeedSection {
					grid-template-columns: repeat(4, 1fr) !important;
				}
			}
	
			#incategoryVideos,
			#videoCategory,
			#videoSearchResult,
			#relatedVideosCenter,
			.sectionWrapper.videoSearch #bottomVideos.search-video-thumbs,
			.js-videosTabContent.relatedVideos > ul,
			.js-videosTabContent.recommendedVideos > ul {
				grid-template-columns: repeat(3, 1fr) !important;
			}
		}
	}
	
	@media (width < 1350px) {
		html.supportsGridLayout.fluidContainer div.nf-videos {
			#incategoryVideos,
			#videoCategory,
			#videoSearchResult {
				li.videoBox:not(.sniperModeEngaged) {
					max-width: unset;
				}
			}
		}
	}
	
	@media (width >= 1600px) {
		html.supportsGridLayout {
			.sectionWrapper .full-row-thumbs {
				&#likedVideosSection,
				&#singleFeedSection {
					grid-template-columns: repeat(5, 1fr) !important;
				}
			}
	
			#incategoryVideos,
			#videoCategory,
			#videoSearchResult,
			#relatedVideosCenter,
			.sectionWrapper.videoSearch #bottomVideos.search-video-thumbs,
			.js-videosTabContent.relatedVideos > ul,
			.js-videosTabContent.recommendedVideos > ul {
				grid-template-columns: repeat(4, 1fr) !important;
			}
		}
	}
	
	@media (width >= 1920px) {
		html.supportsGridLayout {
			.sectionWrapper .full-row-thumbs {
				&#likedVideosSection,
				&#singleFeedSection {
					grid-template-columns: repeat(6, 1fr) !important;
				}
			}
	
			#incategoryVideos,
			#videoCategory,
			#videoSearchResult,
			#relatedVideosCenter,
			.sectionWrapper.videoSearch #bottomVideos.search-video-thumbs,
			.js-videosTabContent.relatedVideos > ul,
			.js-videosTabContent.recommendedVideos > ul {
				grid-template-columns: repeat(5, 1fr) !important;
			}
		}
	}

	}

Reviews

No reviews yet.