Bu oldukça eski ama insanlar hala burada yardımcı gerekebilir. Buna da ihtiyacım olan bir çözümümün yaratılmasına yardımcı olan bir Kalem yarattım - http://codepen.io/MikeMooreDev/pen/QEEPMv
Örnek, aynı videonun iki versiyonunu, biri standart olarak ve ikinci kırpılmış ve merkezi olarak hizalanmış, tam ana öğenin boyutuna sığacak şekilde çirkin siyah çubukları göstermeden.
Video için yeni bir genişlik hesaplamak için bazı javascript kullanmanız gerekir, ancak en boy oranını biliyorsanız, bu gerçekten kolaydır.
HTML
<div id="videoWithNoJs" class="videoWrapper">
<iframe src="https://www.youtube.com/embed/ja8pA2B0RR4" frameborder="0" allowfullscreen></iframe>
</div>
CSS - videoWrapper o yükseklik ve genişlik herhangi bir şey olabilir, onlar istedikleri takdirde yüzdeler olabilir
.videoWrapper {
height:600px;
width:600px;
position:relative;
overflow:hidden;
}
.videoWrapper iframe {
height:100%;
width:100%;
position:absolute;
top:0;
bottom:0;
}
jQuery
$(document).ready(function(){
// - 1.78 is the aspect ratio of the video
// - This will work if your video is 1920 x 1080
// - To find this value divide the video's native width by the height eg 1920/1080 = 1.78
var aspectRatio = 1.78;
var video = $('#videoWithJs iframe');
var videoHeight = video.outerHeight();
var newWidth = videoHeight*aspectRatio;
var halfNewWidth = newWidth/2;
video.css({"width":newWidth+"px","left":"50%","margin-left":"-"+halfNewWidth+"px"});
});
Bu can Ayrıca, yanıt vermeye devam etmesini sağlamak için yeniden boyutlandırma sırasında tetiklenir. Bunu yapmanın en kolay yolu (muhtemelen en verimli değil) aşağıdaki gibidir.
$(window).on('resize', function() {
// Same code as on load
var aspectRatio = 1.78;
var video = $('#videoWithJs iframe');
var videoHeight = video.outerHeight();
var newWidth = videoHeight*aspectRatio;
var halfNewWidth = newWidth/2;
video.css({"width":newWidth+"px","left":"50%","margin-left":"-"+halfNewWidth+"px"});
});
Tamam ama ne ekran çok uzunsa? Videonun bir div içine gömülmesi durumunda div'in ekran boyutuna göre uyarlanıp yeniden boyutlandıracağını anlıyorum. Ancak, bu durumda, gövde konteynır ve videonun onu tamamen doldurmasını istiyorum. Boyutu kontrol edilemez çünkü ekran/tarayıcı boyutuna göre değişir ... – Owly