यह सुंदर पुराना है लेकिन लोग अभी भी यहाँ मदद पड़ सकता है। मुझे इसकी भी आवश्यकता है इसलिए मेरे समाधान का एक पेन बनाया गया है जो मदद करनी चाहिए - http://codepen.io/MikeMooreDev/pen/QEEPMv
उदाहरण एक ही वीडियो के दो संस्करणों को दिखाता है, एक मानक के रूप में और दूसरे फसल और केंद्रीय रूप से पूर्ण पैरेंट तत्व के आकार में फिट करने के लिए गठबंधन भयानक काले सलाखों को दिखाए बिना।
आपको वीडियो के लिए एक नई चौड़ाई की गणना करने के लिए कुछ जावास्क्रिप्ट का उपयोग करने की आवश्यकता है, लेकिन यदि आप पहलू अनुपात को जानते हैं तो यह वास्तव में आसान है।
एचटीएमएल
<div id="videoWithNoJs" class="videoWrapper">
<iframe src="https://www.youtube.com/embed/ja8pA2B0RR4" frameborder="0" allowfullscreen></iframe>
</div>
सीएसएस - ऊंचाई और चौड़ाई ओ videoWrapper कुछ भी हो सकता है, वे प्रतिशत हो सकता है अगर आप चाहें तो
.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"});
});
यह कर सकते हैं यह सुनिश्चित करने के लिए आकार पर ट्रिगर भी किया जा सकता है कि यह उत्तरदायी बना रहता है। ऐसा करने का सबसे आसान (शायद सबसे कुशल नहीं) तरीका निम्न के साथ है।
$(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"});
});
ठीक है लेकिन क्या होगा यदि स्क्रीन बहुत लंबा है? मैं समझता हूं कि अगर वीडियो को div के अंदर एम्बेड किया गया था, तो div स्क्रीन आकार के अनुसार अनुकूलित और आकार बदल जाएगा। लेकिन, इस मामले में, शरीर कंटेनर है और मैं चाहता हूं कि वीडियो इसे पूरी तरह से भर दे। मैं इसके आकार पर नियंत्रण नहीं रख सकता क्योंकि यह स्क्रीन/ब्राउज़र आकार पर निर्भर करता है ... – Owly