Bootstrap,两个响应式 iframe,彼此相邻
Bootstrap, two responsive iframes, next to each other
我想要一个可以在我的网站上聊天的 Twitch 播放器。我需要它来响应。我正在与 Bootstrap.
合作
我有这个代码
HTML:
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-1 nopadding">
<div id="player">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="player" src="https://player.twitch.tv/?volume=1&channel=example&autoplay=false" style="border: 0px; top:0px;" allowfullscreen></iframe>
</div>
</div>
</div>
<div class="col-md-2 nopadding">
<div id="chat">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="chat" src="https://www.twitch.tv/example/chat?popout=" style="border: 0px;"></iframe>
</div>
</div>
</div>
<div class="col-md-offset-1"></div>
</div>
CSS:
.nopadding {
padding: 0 !important; }
我正在使用这个 CSS 从网格中删除填充,我需要让播放器和聊天彼此相邻,没有填充。
问题是聊天太小了,就是身高太小了。我可以在css中设置高度,但是这个高度不会随着玩家的身高而变化。我该如何解决?
您可以通过将聊天包装器设置为绝对,然后将其中的 iframe 设置为 100% 的宽度和高度并将聊天包装器定位到 50% 的左侧并为其指定行来执行此操作全部包裹在 class 和相对位置中。然后在较小的屏幕上,您可以将聊天包装器定位到 0 的相对位置和左侧,这样当您达到移动宽度时它会堆叠在播放器下方。这是我使用的标记。同样在示例中,我使用了 col-sm,但您可以将其更改为 col-md 我只使用了 sm,因为它在 fiddle 演示中更容易查看。
这里有一个 fiddle 演示将输出屏幕拖动得更大和更小,以查看不同屏幕尺寸的结果 Fiddle Demo
Html:
<div class="container-fluid">
<div class="row player-section">
<div class="col-sm-6 no-padding">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="player" src="https://player.twitch.tv/?volume=1&channel=example&autoplay=false" allowfullscreen></iframe>
</div>
</div>
<div class="chat-wrapper">
<iframe class="chat" src="https://www.twitch.tv/example/chat?popout="></iframe>
</div>
</div>
</div>
Css:
.no-padding{
padding:0;
}
iframe{
border:none;
}
.player-section{
position:relative;
}
.chat-wrapper{
position:absolute;
left:50%;top:0;right:0;bottom:0;
}
.chat-wrapper iframe{
width:100%;
height:100%;
}
@media screen and (max-width:767px){
.chat-wrapper{position:relative;height:300px;left:0;}
}
另一种选择是创建您自己的自定义宽高比,如本 blog 中所述。
例如,如果您想在您的网页中显示 pdf(A4 大小),您可以将以下内容添加到您的样式中 sheet:
.embed-responsive-210by297 {
padding-bottom: 141.42%;
}
现在您可以将自定义样式sheet添加到您的 iframe 中:
<div class="embed-responsive embed-responsive-210by297">
<iframe src="..."></iframe>
</div>
通过自定义不同iframe的宽高比,您可以对齐所有iframe的高度以相互匹配。另一个优势是您遵循 bootstrap 理念。
我想要一个可以在我的网站上聊天的 Twitch 播放器。我需要它来响应。我正在与 Bootstrap.
合作我有这个代码 HTML:
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-1 nopadding">
<div id="player">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="player" src="https://player.twitch.tv/?volume=1&channel=example&autoplay=false" style="border: 0px; top:0px;" allowfullscreen></iframe>
</div>
</div>
</div>
<div class="col-md-2 nopadding">
<div id="chat">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="chat" src="https://www.twitch.tv/example/chat?popout=" style="border: 0px;"></iframe>
</div>
</div>
</div>
<div class="col-md-offset-1"></div>
</div>
CSS:
.nopadding {
padding: 0 !important; }
我正在使用这个 CSS 从网格中删除填充,我需要让播放器和聊天彼此相邻,没有填充。
问题是聊天太小了,就是身高太小了。我可以在css中设置高度,但是这个高度不会随着玩家的身高而变化。我该如何解决?
您可以通过将聊天包装器设置为绝对,然后将其中的 iframe 设置为 100% 的宽度和高度并将聊天包装器定位到 50% 的左侧并为其指定行来执行此操作全部包裹在 class 和相对位置中。然后在较小的屏幕上,您可以将聊天包装器定位到 0 的相对位置和左侧,这样当您达到移动宽度时它会堆叠在播放器下方。这是我使用的标记。同样在示例中,我使用了 col-sm,但您可以将其更改为 col-md 我只使用了 sm,因为它在 fiddle 演示中更容易查看。
这里有一个 fiddle 演示将输出屏幕拖动得更大和更小,以查看不同屏幕尺寸的结果 Fiddle Demo
Html:
<div class="container-fluid">
<div class="row player-section">
<div class="col-sm-6 no-padding">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="player" src="https://player.twitch.tv/?volume=1&channel=example&autoplay=false" allowfullscreen></iframe>
</div>
</div>
<div class="chat-wrapper">
<iframe class="chat" src="https://www.twitch.tv/example/chat?popout="></iframe>
</div>
</div>
</div>
Css:
.no-padding{
padding:0;
}
iframe{
border:none;
}
.player-section{
position:relative;
}
.chat-wrapper{
position:absolute;
left:50%;top:0;right:0;bottom:0;
}
.chat-wrapper iframe{
width:100%;
height:100%;
}
@media screen and (max-width:767px){
.chat-wrapper{position:relative;height:300px;left:0;}
}
另一种选择是创建您自己的自定义宽高比,如本 blog 中所述。
例如,如果您想在您的网页中显示 pdf(A4 大小),您可以将以下内容添加到您的样式中 sheet:
.embed-responsive-210by297 {
padding-bottom: 141.42%;
}
现在您可以将自定义样式sheet添加到您的 iframe 中:
<div class="embed-responsive embed-responsive-210by297">
<iframe src="..."></iframe>
</div>
通过自定义不同iframe的宽高比,您可以对齐所有iframe的高度以相互匹配。另一个优势是您遵循 bootstrap 理念。