mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
Force YouTube iframe fullscreen with absolute positioning
The previous CSS fix used 100% width/height but YT.Player can bake in 300x150 fallback pixel dimensions if the placeholder isn't laid out at construction time. Inline pixel dimensions beat percentage CSS at equal specificity, so the iframe stayed small. Use absolute positioning with !important to force fullscreen over whatever YT set inline. Bumped sw cache to v6 to invalidate the previously-cached player HTML. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ed46011ae4
commit
fb0a7f48dd
|
|
@ -34,11 +34,17 @@
|
|||
|
||||
/* Player */
|
||||
#playerContainer { position: fixed; inset: 0; background: #000; }
|
||||
/* Fullscreen single-zone playback: YouTube's IFrame API replaces our placeholder
|
||||
with an iframe whose width/height attributes don't always survive layout. Pin
|
||||
any direct iframe child to the container so YT/widget embeds fill the screen. */
|
||||
/* Fullscreen single-zone playback: YouTube's IFrame API measures the placeholder
|
||||
at construction time. If that happens before layout settles, YT bakes in a
|
||||
300x150 fallback as inline pixel dimensions on the iframe, which our %-based
|
||||
rules can't override. Force fullscreen via absolute positioning + !important. */
|
||||
#playerContainer > iframe,
|
||||
#playerContainer > div > iframe { width: 100%; height: 100%; border: none; display: block; }
|
||||
#playerContainer > div > iframe {
|
||||
position: absolute !important;
|
||||
top: 0 !important; left: 0 !important;
|
||||
width: 100% !important; height: 100% !important;
|
||||
border: none !important; display: block !important;
|
||||
}
|
||||
.zone { position: absolute; overflow: hidden; }
|
||||
.zone video { width: 100%; height: 100%; object-fit: cover; }
|
||||
.zone img { width: 100%; height: 100%; object-fit: cover; }
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const CACHE_NAME = 'rd-player-v5';
|
||||
const CACHE_NAME = 'rd-player-v6';
|
||||
|
||||
// Install: skip waiting to activate immediately
|
||||
self.addEventListener('install', (event) => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue