我正在为一个使用iframe的youtube视频使用reactplayer。我正在尝试将视频缩放到我的div,我希望它能够响应。
我在ReactPlayer上的width
和height
处放置了一个100%
,并且我有一个 Package 器div,我在上面放置了高度和宽度,但是reactPlayer不适合这个div。无论我如何调整屏幕大小,它都停留在150px的高度。
<div className="video-wrapper>
<ReactPlayer
width="100%"
height="100%"
url="https://youtu.be/BGhqlJnFIXU"
controls
muted
config={{
youtube: {
playerVars: { showinfo: 1 }
}
}}
/>
</div>
.css格式
.video-wrapper {
height: 100%;
width: 100%;
min-height: 225px;
}
8条答案
按热度按时间jecbmhm31#
这可以通过进一步扩展你的CSS来实现。由于大多数视频都是在16:9拍摄的,遵循this guide by Chris Coyier将使这个过程更容易实现。
由于您使用的是React-Player,因此我使用的是位于他们demo page上的内容。
为什么有效
TL;DR -填充百分比是基于宽度的。通过将元素的高度设置为0,我们可以利用填充顶部的百分比来完美地缩放内容。
生成16:9的百分比
(9 / 16)* 100 = 56.25
1tuwyuhd2#
为了迫使玩家完全React,我做了以下操作:
中央支助系统
JSX公司
wnvonmuf3#
最简单的方法,使它的React是增加宽度为100%
tuwxkamq4#
您可以填写:
ubof19bj5#
你可以保持宽度固定,然后允许高度调整根据视频高度不同的视频有自己的大小一样100*200.
.video-wrapper > video { width: 55vw; height: min-content; }
xesrikrc6#
对于更现代的方法,只需向React Player组件添加一个类,并将其设置为:
https://caniuse.com/mdn-css_properties_aspect-ratio
g6baxovj7#
我是这么做的。
现在,可以通过调整 Package 器的大小来调整视频的大小。
jucafojl8#
如果您正在使用Tailwindcss和Swiper,则可以使用以下代码
此代码实现了最后一个aspect-video类,以确保纵横比始终正确
同时确保如果用户滚动到下一页,前一个播放器会暂停
您还可以设置视频的最大宽度,这里是“max-w-6xl”