如何左对齐 Vimeo 嵌入
How to left-align Vimeo embed
当我嵌入 Vimeo iFrame 时,内容自动居中。我想控制 iFrame 的对齐方式并将其保持在左侧。 (iFrame 很恶心。)
我设置了一个 flexbox 容器 (.example-div),里面有两个 flex 容器。第一个容器 (.player-div) 中有库存的 Vimeo iFrame 播放器。理想情况下,第二个容器将包含一份演职员表。我似乎无法证明这个 iframe 向左。
HTML
<div class="example-div">
<div class="player-div">
<iframe src="https://player.vimeo.com/video/142760309" frameborder="0" width="100%" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div>
<div class="credits-div">
</div>
</div>
CSS
body {
margin: 0;
}
.example-div {
height: 100vh;
display: flex;
}
.player-div {
background-color: orange;
width: 80vw;
}
.credits-div {
background-color: green;
width: 20vw;
}
.player-div iframe, .player-div object, .player-div embed {
width: 100%;
height: 100%;
}
您的问题完全发生在 iframe
代码之外。 Flex-box 不响应 width
。在 display:flex
容器内,您应该使用 min/max
或 flex-basis
来设置大小...这里是 some docs.
基本上,您的 flexbox CSS 应该如下所示:
.example-div {
height: 100vh;
display: flex;
justify-content: space-between; // forces the two items to each side
}
.player-div {
background-color: orange;
flex-basis: 80%;
}
.credits-div {
background-color: green;
flex-basis:20%;
}
现在带有 width:100%
的 iFrame 将填充 flex 容器。但是,您会 运行 遇到一些其他问题,因为 100% 宽度的视频不会考虑不同的纵横比。
您基本上还需要设置 iFrame 的高度。这很容易,除了视频的高度实际上是现在动态宽度的百分比。例如,典型的宽屏视频的比例为 16:9(单位宽乘以单位高)。所以当宽度改变时,高度也必须改变。
最简单的方法是创建另一个类似 div
的容器(在弹性容器内)并使用绝对定位和填充来正确调整视频大小。
这是一个 good explanation of how that works and a codepen 的实际效果。
当我嵌入 Vimeo iFrame 时,内容自动居中。我想控制 iFrame 的对齐方式并将其保持在左侧。 (iFrame 很恶心。)
我设置了一个 flexbox 容器 (.example-div),里面有两个 flex 容器。第一个容器 (.player-div) 中有库存的 Vimeo iFrame 播放器。理想情况下,第二个容器将包含一份演职员表。我似乎无法证明这个 iframe 向左。
HTML
<div class="example-div">
<div class="player-div">
<iframe src="https://player.vimeo.com/video/142760309" frameborder="0" width="100%" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div>
<div class="credits-div">
</div>
</div>
CSS
body {
margin: 0;
}
.example-div {
height: 100vh;
display: flex;
}
.player-div {
background-color: orange;
width: 80vw;
}
.credits-div {
background-color: green;
width: 20vw;
}
.player-div iframe, .player-div object, .player-div embed {
width: 100%;
height: 100%;
}
您的问题完全发生在 iframe
代码之外。 Flex-box 不响应 width
。在 display:flex
容器内,您应该使用 min/max
或 flex-basis
来设置大小...这里是 some docs.
基本上,您的 flexbox CSS 应该如下所示:
.example-div {
height: 100vh;
display: flex;
justify-content: space-between; // forces the two items to each side
}
.player-div {
background-color: orange;
flex-basis: 80%;
}
.credits-div {
background-color: green;
flex-basis:20%;
}
现在带有 width:100%
的 iFrame 将填充 flex 容器。但是,您会 运行 遇到一些其他问题,因为 100% 宽度的视频不会考虑不同的纵横比。
您基本上还需要设置 iFrame 的高度。这很容易,除了视频的高度实际上是现在动态宽度的百分比。例如,典型的宽屏视频的比例为 16:9(单位宽乘以单位高)。所以当宽度改变时,高度也必须改变。
最简单的方法是创建另一个类似 div
的容器(在弹性容器内)并使用绝对定位和填充来正确调整视频大小。
这是一个 good explanation of how that works and a codepen 的实际效果。