Responsive design 防止fitVids吸引视频
我的网站上有fitVids。但是,我想知道是否有可能阻止fitVids将视频放大到超出其定义的高度/宽度。例如,如果视频的宽度为600px,但容器的宽度为800px,fitVids会将视频放大到800px,并且视频会变得模糊。我只希望fitVids在容器缩小时缩小视频,以适应较小的设备。可能吗Responsive design 防止fitVids吸引视频,responsive-design,fitvids,Responsive Design,Fitvids,我的网站上有fitVids。但是,我想知道是否有可能阻止fitVids将视频放大到超出其定义的高度/宽度。例如,如果视频的宽度为600px,但容器的宽度为800px,fitVids会将视频放大到800px,并且视频会变得模糊。我只希望fitVids在容器缩小时缩小视频,以适应较小的设备。可能吗 jQuery(document).ready(function(){ // Target your .container, .wrapper, .post, etc. $("#thing-with
jQuery(document).ready(function(){
// Target your .container, .wrapper, .post, etc.
$("#thing-with-videos").fitVids();
});
很简单
假设“thing with videos”是您调用的包装器的ID。fitvids()
因此,只需设置此容器的最大宽度css属性
例如:
#thing-with-videos {
max-width: 600px;
margin: 0px auto;
}
这不会让你的视频宽度超过600像素。边距属性将居中显示视频容器
现场编辑演示-
在“视频容器宽度”文本框中设置自定义宽度并观看预览
-帕特里克很简单
假设“thing with videos”是您调用的包装器的ID。fitvids()
因此,只需设置此容器的最大宽度css属性
例如:
#thing-with-videos {
max-width: 600px;
margin: 0px auto;
}
这不会让你的视频宽度超过600像素。边距属性将居中显示视频容器
现场编辑演示-
在“视频容器宽度”文本框中设置自定义宽度并观看预览
-PatrickPatrick的回答最终让我意识到我可以在iframe上设置最大宽度
#fitvids_container {
max-width: 600px;
}
#fitvids_container iframe {
max-width: 500px;
}
但是,如果您使用大量视频(大小不同),您可能希望动态地执行此操作。使用jQuery,我们可以从iframe属性中获取宽度,并将其设置为最大宽度样式规则。但是,只有在嵌入代码中包含了width属性时,这才有效。这只是一个示例,但可以适应.each()
循环,或者至少将容器div重命名为类
var width = $('#fitvids_container').find('iframe').attr('width');
if (typeof width !== undefined) {
$('#fitvids_container').find('iframe').css('maxWidth', width + 'px');
}
参见我的示例:Patrick的回答最终让我意识到我可以在iframe上设置最大宽度
#fitvids_container {
max-width: 600px;
}
#fitvids_container iframe {
max-width: 500px;
}
但是,如果您使用大量视频(大小不同),您可能希望动态地执行此操作。使用jQuery,我们可以从iframe属性中获取宽度,并将其设置为最大宽度样式规则。但是,只有在嵌入代码中包含了width属性时,这才有效。这只是一个示例,但可以适应.each()
循环,或者至少将容器div重命名为类
var width = $('#fitvids_container').find('iframe').attr('width');
if (typeof width !== undefined) {
$('#fitvids_container').find('iframe').css('maxWidth', width + 'px');
}
请参见我的示例:helgatheviking的解决方案限制视频的宽度,但不限制高度。如果您的容器比视频宽,那么最终会得到一个非常高的、带字母框的视频。高度很容易固定,使用相同的技术来约束宽度。但是,还有第三个变量 fitVids使用“fluid width video wrapper”类将iframe包装在一个div中,并将padding top设置为等于视频的纵横比。即使高度和宽度受到限制,如果流体宽度视频包装没有最大高度,它仍将与视频一样高。所以,视频下面有一堆空白 在初始化fitvids之前,您不必设置所有三个值(宽度、高度和填充),而可以通过使用最大宽度将iframe包装在div中来简化一切
var vidFrame = $('#fitvids_container').find('iframe');
var vidWidth = vidFrame.attr('width');
if (typeof vidWidth !== undefined) {
// Wrap the iframe in a Div with max-width defined
vidFrame.wrap('<div style="max-width:' + vidWidth + 'px;"></div>');
}
// Initialize fitVids
$('#fitvids_container').fitVids();
var vidFrame=$('fitvids_container')。查找('iframe');
var vidWidth=vidFrame.attr('width');
if(vidWidth的类型!==未定义){
//将iframe包装在定义了最大宽度的Div中
vidFrame.wrap(“”);
}
//初始化fitVids
$('fitvids_container').fitvids();
与helgatheviking的解决方案类似,如果每页有多个视频,则必须计算每个视频的最大宽度。helgatheviking的解决方案限制视频的宽度,但不限制高度。如果您的容器比视频宽,那么最终会得到一个非常高的、带字母框的视频。高度很容易固定,使用相同的技术来约束宽度。但是,还有第三个变量 fitVids使用“fluid width video wrapper”类将iframe包装在一个div中,并将padding top设置为等于视频的纵横比。即使高度和宽度受到限制,如果流体宽度视频包装没有最大高度,它仍将与视频一样高。所以,视频下面有一堆空白 在初始化fitvids之前,您不必设置所有三个值(宽度、高度和填充),而可以通过使用最大宽度将iframe包装在div中来简化一切
var vidFrame = $('#fitvids_container').find('iframe');
var vidWidth = vidFrame.attr('width');
if (typeof vidWidth !== undefined) {
// Wrap the iframe in a Div with max-width defined
vidFrame.wrap('<div style="max-width:' + vidWidth + 'px;"></div>');
}
// Initialize fitVids
$('#fitvids_container').fitVids();
var vidFrame=$('fitvids_container')。查找('iframe');
var vidWidth=vidFrame.attr('width');
if(vidWidth的类型!==未定义){
//将iframe包装在定义了最大宽度的Div中
vidFrame.wrap(“”);
}
//初始化fitVids
$('fitvids_container').fitvids();
与helgatheviking的解决方案类似,如果每页有多个视频,则必须计算每个视频的最大宽度。一个选项是对fitvids代码进行一个小的修改,该代码检查数据的maxwidth属性,如果找到,则使用max width样式包装div,以限制调整大小的iframe 这允许独立指定每个视频的最大宽度行为 比如说。将数据maxwidth属性添加到iframe
<iframe width="560" height="315" data-maxwidth="560" src="https://www.youtube.com/embed/L-UIiRlydow" frameborder="0" allowfullscreen=""></iframe>
然后将以下代码段添加到fitVides.js文件中,$allVideos.each函数末尾,紧跟$this.removeAttr('height').removeAttr('width')
if($this.data(“maxwidth”))
$this.parent('.fluid width video wrapper').wrap('.parent().css('max-width',$this.data('maxwidth'));
一个选项是对fitvids代码进行一个小的修改,该代码检查数据maxwidth属性,如果找到,则使用max width样式包装div,以限制调整大小的iframe
这允许独立指定每个视频的最大宽度行为
比如说。将数据maxwidth属性添加到iframe
<iframe width="560" height="315" data-maxwidth="560" src="https://www.youtube.com/embed/L-UIiRlydow" frameborder="0" allowfullscreen=""></iframe>
然后在$allVideos.each文件末尾,将以下代码段添加到fitVides.js文件中