Hier ist das Problem auf hohem Niveau: Ich habe einen Flash-Video-Player für 16: 9-Video. Die Gesamthöhe des Players wird vom Video selbst plus einigen Steuerelementen eingenommen. Die Höhe der Kontrollen ist unabhängig von der Höhe des gesamten Spielers konstant. Also möchte ich den Player mit CSS skalieren lassen, so dass die Höhe die Gleichung erfüllt: y = rx + C, wobei x die Breite, r das Verhältnis von Videohöhe zu Videobreite und C die Konstante ist Höhe der Kontrollen.Skalierung Objektelement Höhe proportional zur Breite + Konstante mit CSS
Ich habe etwas herausgearbeitet, die in Webkit funktioniert, aber scheinbar nichts anderes:
#video-container {
height: 0px;
padding-bottom: 56%; /* proportional scaling */
position:relative;
width: 100%;
}
#video-container object {
height: 100%;
padding-bottom: 50px; /* control height */
position: absolute;
width: 100%;
}
In Webkit, der Flash-Film skaliert vertikal den unteren Polsterbereich zu füllen. In jedem anderen Browser ist das untere Padding jedoch nur ein leerer Platz.
Gibt es eine CSS-Lösung zur Skalierung der Höhe eines Elements proportional zur Breite plus einem konstanten Wert? Es gibt viele Fragen zu SO bezüglich der proportionalen Skalierung, aber der konstante Teil ist der schwierige Teil.
Ich glaube nicht, dass möglich ist, nur mit CSS. Geben Sie uns genauere Informationen darüber, warum Sie dies tun möchten. Was versuchst du damit zu erreichen? Und das Bereitstellen Ihres HTML wird auch helfen. –
Wenn ich nicht auf meinem Telefon wäre, würde ich eine tatsächliche Antwort liefern, aber Sie würden JS für dieses Spitzenwerk peinlich in allen Browsern benötigen. Sie können auf diese Weise direkt auf CSS-Eigenschaften zugreifen und andere mit Bedingungen bearbeiten, die sie betreffen. – casraf