css - iframe 拒绝在容器 div 内响应

标签 css iframe responsive-design skeleton-css-boilerplate

我正在尝试制作 iframe内部响应 div ,网络上有很多关于如何执行此操作的资源,但常见的解决方案不适用于我的 YouTube 视频嵌入案例。

我正在使用骨架 CSS 样板。我有一个嵌套的 div结构如下:

<div class="container">
    <div class="row item">
        <div class="six columns">
            <iframe> </iframe>
        </div>
        <div class="six columns">
            <iframe> </iframe>
        </div>
    </div>
</div>

iframe突出到包含 div 的右边缘之外(类 .six.columns )所以我尝试了以下两个 css策略(如下)。

然而,对于这些策略中的每一个,<iframe>变得巨大,并且似乎已经占据了 .container 的宽度div (或者可能是 .row div ),而不是直接父代, .six.columns div .

div > iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

div.six.columns iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

我只想要 <iframe>响应地适应 .six.columns div .我怎样才能做到这一点?

最佳答案

将容器设置为 position:relative 以使 absolute 起作用。

要保持视频宽高比,将 iframe 包装到另一个 div 中,并使用 padding 技巧。假设视频是 16:9padding-bottom 值将为 9/16=56.25%。下面是简单的演示。

https://jsfiddle.net/dfkhkLhp/

.youtube {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
}
.youtube iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
<div class="youtube">
    <iframe src="https://www.youtube.com/embed/HkMNOlYcpHg" frameborder="0" allowfullscreen></iframe>
</div>

关于css - iframe 拒绝在容器 div 内响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447208/

相关文章:

javascript - 将鼠标悬停在同级上会停止悬停效果

html - 背景大小 100% 自动在 IE 10 中不起作用

javascript - 如何使用JS iframe API获取YouTube视频的实际尺寸(无黑边)?

javascript - 试图利用分享社交按钮的值(value)来进行操纵

javascript - 带有数据列表下拉菜单的 Bootstrap 输入在 iPhone (6s) 上不起作用

javascript - 我们如何通过将 HTML 元素拖放到另一列中来克隆它(仅在该列中而不是在其外部)

html - Paypal 自定义按钮和单选选项导致处理交易出错

javascript - 调整 iframe 的宽度和高度以适应其中的内容

html - 如何在没有绝对定位的情况下让导航栏 float 到容器div的左侧

javascript - 我希望创建一个特定的下拉菜单(包括示例)