Bunu CSS kullanarak yapmanın bir yolunu buldum, ancak kendi web sitenizin akışına bağlı olarak değişebileceğinden dikkatli olmalısınız. Web sitemin bir akışkan genişliği bölümünde sabit bir en boy oranı ile video gömmek için yaptım.
Bunun gibi gömülü bir videonuz olduğunu varsayalım:
<object>
<param ... /><param ... />...
<embed src="..." ...</embed>
</object>
Daha sonra bunu "video" sınıfına sahip bir div içine yerleştirebilirsiniz. Bu video sınıfı, büyük olasılıkla web sitenizdeki akışkan öğesi olacaktır, öyle ki, kendi başına doğrudan yükseklik kısıtlamaları yoktur, ancak tarayıcıyı yeniden boyutlandırdığınızda, web sitesinin akışına göre genişliğinde değişecektir. Bu, muhtemelen videonun belirli bir en boy oranını korurken gömülü videonuzu içeri almaya çalıştığınız öğedir.
Bunu yapmak için, "video" sınıf div içindeki gömülü nesnenin önüne bir görüntü koymak.
!!! Önemli olan kısım, görüntünün korumak istediğiniz doğru en boy oranına sahip olmasıdır. Ayrıca, görüntünün boyutunun, düzeninize bağlı olarak, videonun beklediğiniz en küçük boyutta (veya AR'yi koruduğunuz her şeyin) kadar küçük olduğundan emin olun. Bu, yüzde yeniden boyutlandırıldığında görüntünün çözünürlüğündeki olası sorunları önler. Örneğin, 3: 2 en boy oranını korumak istiyorsanız, yalnızca 3 piksele 2 piksellik bir resim kullanmayın. Bazı durumlarda işe yarayabilir, ancak test etmedim ve muhtemelen kaçınmak iyi bir fikir olacaktır.
Büyük olasılıkla, web sitenizin akışkan öğeleri için tanımlanan bunun gibi bir minimum genişliğe sahip olmalısınız. Değilse, tarayıcı penceresi çok küçük olduğunda öğelerin kesilmesini veya örtüşmesini önlemek için bunu yapmak iyi bir fikirdir. Bir noktada bir kaydırma çubuğuna sahip olmak daha iyidir. Bir web sayfasının alması gereken en küçük genişlik ~ 600 piksel civarında (sabit genişlikli sütunlar dahil) bir yerdedir, çünkü telefon dostu sitelerle uğraşmadıkça ekran çözünürlükleri daha küçük olmaz. !!!
Tamamen şeffaf bir png kullanıyorum, ancak doğru yaparsanız bunun önemli olduğunu düşünmüyorum. Bunun gibi:
<div class="video">
<img class="maintainaspectratio" src="maintainaspectratio.png" />
<object>
<param ... /><param ... />...
<embed src="..." ...</embed>
</object>
</div>
Şimdi aşağıdakine benzer bir CSS ekleyebilmeniz gerekir:
div.video { ...; position: relative; }
div.video img.maintainaspectratio { width: 100%; }
div.video object { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
div.video embed {width: 100%; height: 100%; }
Ayrıca, genellikle kopyala / yapıştır gömme koduyla gelen nesne ve gömme etiketlerindeki açık yükseklik veya genişlik bildirimlerini kaldırdığınızdan emin olun.
Çalışma şekli, video sınıfı öğesinin konum özelliklerine ve istediğiniz öğenin belirli bir en boy oranını korumasına bağlıdır. Bir öğede yeniden boyutlandırıldığında görüntünün uygun en boy oranını koruma yönteminden yararlanır. Video sınıfı öğesinde başka ne varsa, genişliğini / yüksekliğini görüntü tarafından ayarlanan video sınıfı öğesinin% 100'üne zorlayarak dinamik görüntü tarafından sağlanan gayrimenkulden tam olarak yararlanmasını söyler.
Çok havalı, ha?
Kendi tasarımınızla çalışmasını sağlamak için biraz oynamak zorunda kalabilirsiniz, ancak bu aslında benim için şaşırtıcı derecede iyi çalışıyor. Genel konsept orada.