所以我嵌入了一段youtube视频oembed
像这样:
$embed_code = wp_oembed_get(get_field(\'youtube_video\') );
echo $embed_code;
但如何使其响应屏幕大小?在移动设备上观看视频时,视频的宽度比屏幕长,所以我想把它放到html中
<video>
所以我可以控制大小,因为把它放在
div
没有对它做任何事。但即使使用
video
标签似乎不起作用。我这样试过:
<?php
$video = wp_oembed_get( get_field(\'youtube_video\') );
echo \'<div>\';
echo \'<video width="500" controls>\';
echo \'<source src= "\'.$video.\'" type="video/mp4">\';
echo \'</video>\';
echo \'</div>\';
?>
i forgot to add that the video doesn\'t actually get called. like the <video>
html appears but the <source>
doesn\'t seem to be working, like a broken link. could this be how i set up the custom field? as the type is set as text and called with oembed
有人有什么建议吗?
SO网友:tmdesigned
欢迎使用WordPress StackExchange。
这实际上是一个HTML/CSS问题,而不是特定于WordPress的问题,因此您将来可以通过发布到另一个StackExchange站点(如Stack Overflow)来获得更快的答案。
但是,如果将百分比设置为宽度,而不是像代码片段中显示的500这样的值进行硬编码,则应该修复问题。
例如,
<iframe width="100%" height="315" src="https://www.youtube.com/embed/yHfLyMAHrQE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
结果:
https://jsfiddle.net/qj6o4t23/然而,这将总是100%地填满,因此更好的方法可能是在其上也有一个最大宽度,这意味着使用CSS规则而不是HTML属性。
<iframe style="width:100%; max-width: 500px; height: 315px" src="https://www.youtube.com/embed/yHfLyMAHrQE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
结果:
https://jsfiddle.net/qj6o4t23/1/有了这样的多个规则,您最好遵循在CSS中单独定义样式的最佳实践。