fix: Steuerleiste bleibt bei kleinen Fenstern/Reels im Rahmen
Bei schmalen Reels ragte die Leiste über die Video-Ränder hinaus, weil (a) width:100% + padding ohne explizites box-sizing die Leiste über die Reel-Breite trieb und (b) die fixbreiten Elemente (Buttons, Slider, Zeit-Label) den verfügbaren Platz überstiegen. - Eigener box-sizing: border-box Reset für alle Extension-Elemente - min-width:0 an der Leiste + schrumpfbarer Slider (flex:0 1) - Container-Query (orientiert an der Reel-Breite, nicht am Viewport) verkleinert Buttons/Slider/Padding bei schmalen Reels und blendet das Zeit-Label bei sehr schmalen Reels aus
This commit is contained in:
parent
3ef8c142b9
commit
f64bf994b4
1 changed files with 68 additions and 1 deletions
69
controls.css
69
controls.css
|
|
@ -2,6 +2,16 @@
|
||||||
Reels Controls — controls.css
|
Reels Controls — controls.css
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
|
/* Eigener Box-Sizing-Reset: nicht auf Instagrams globales
|
||||||
|
Reset vertrauen — unsere Elemente müssen immer border-box sein,
|
||||||
|
sonst wird die Leiste (width:100% + padding) breiter als das Reel. */
|
||||||
|
.rc-wrapper,
|
||||||
|
.rc-wrapper *,
|
||||||
|
.rc-wrapper *::before,
|
||||||
|
.rc-wrapper *::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
.rc-wrapper {
|
.rc-wrapper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
@ -12,6 +22,11 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 0 12px 14px;
|
padding: 0 12px 14px;
|
||||||
|
/* Container-Query: erlaubt, die Leisten-Elemente an der
|
||||||
|
REEL-Breite (nicht am Viewport) auszurichten — wichtig,
|
||||||
|
damit auf schmalen Reels nichts über den Rand ragt. */
|
||||||
|
container-type: inline-size;
|
||||||
|
container-name: rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rc-bar {
|
.rc-bar {
|
||||||
|
|
@ -21,6 +36,9 @@
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 460px;
|
max-width: 460px;
|
||||||
|
/* min-width:0 erlaubt flex-Kindern (Slider/Progress) zu
|
||||||
|
schrumpfen, statt über den Rand zu drücken. */
|
||||||
|
min-width: 0;
|
||||||
padding: 9px 12px;
|
padding: 9px 12px;
|
||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
background: rgba(0, 0, 0, 0.62);
|
background: rgba(0, 0, 0, 0.62);
|
||||||
|
|
@ -130,7 +148,8 @@
|
||||||
|
|
||||||
/* --- Lautstärke-Slider ------------------------------------- */
|
/* --- Lautstärke-Slider ------------------------------------- */
|
||||||
.rc-vol-slider {
|
.rc-vol-slider {
|
||||||
flex: 0 0 70px;
|
flex: 0 1 70px; /* darf schrumpfen, statt zu überlaufen */
|
||||||
|
min-width: 0;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
@ -179,3 +198,51 @@
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ============================================================
|
||||||
|
Responsiv — orientiert an der REEL-Breite (Container-Query),
|
||||||
|
nicht am Viewport. So bleibt die Leiste auch bei schmalen
|
||||||
|
Reels / kleinen Fenstern sauber im Video-Rahmen.
|
||||||
|
============================================================ */
|
||||||
|
|
||||||
|
/* Schmale Reels: Elemente verkleinern, Padding/Gap reduzieren. */
|
||||||
|
@container rc (max-width: 380px) {
|
||||||
|
.rc-wrapper {
|
||||||
|
padding: 0 8px 10px;
|
||||||
|
}
|
||||||
|
.rc-bar {
|
||||||
|
gap: 6px;
|
||||||
|
padding: 7px 9px;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
.rc-btn {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
}
|
||||||
|
.rc-btn svg {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.rc-vol-slider {
|
||||||
|
flex-basis: 50px;
|
||||||
|
}
|
||||||
|
.rc-time {
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sehr schmale Reels: Zeit-Label ausblenden, Slider weiter
|
||||||
|
schrumpfen, damit Buttons + Progress + Slider garantierter
|
||||||
|
in die Breite passen. */
|
||||||
|
@container rc (max-width: 260px) {
|
||||||
|
.rc-bar {
|
||||||
|
gap: 4px;
|
||||||
|
padding: 6px 7px;
|
||||||
|
}
|
||||||
|
.rc-time {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.rc-vol-slider {
|
||||||
|
flex-basis: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue