【问题标题】:vertical align two class with youtube将两个类与 youtube 垂直对齐
【发布时间】:2015-05-04 16:08:26
【问题描述】:

我有一个占全屏 40% 的框图像,在此框下方我有一个 youtube 视频(iframe),但我无法在响应式(高度)中对齐

我无法在图像类中插入视频,因为该类有一个单独的函数 ajax

然后我如何对齐到两个类宽度的 40%??

这是我用过的代码,它对宽度有好处,但不明白,因为高度很大,不尊重 youtube 格式:

<div class="video44"><iframe width="560" height="315" src="https://www.youtube.com/embed/mZXkhXcZ3AQ?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe> </div>

这是一个CSS:

.video44 { width: 40%; 
    font-family: 'Raleway_Medium';
    font-size: 15px;
    text-align: center;
    text-transform: uppercase;
}

.video44  { 
    width: 40%;
    height: auto; 
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;    
}
.video44  iframe{
    left:0;
    top:0;
    height: 100%;
    width:100%;
    position:absolute;
}

这是结果,为什么高度'大??

http://s22.postimg.org/5ayakawch/tst_Kid.png

【问题讨论】:

    标签: html css youtube responsive-design


    【解决方案1】:

    如果你只想要编译后的答案,这里是:

    .video44 iframe{width: 40vw;height:calc((315/560)*40vw);height:-moz-calc((560/315)*40vw);}
    

    解释:

    您的 HTML:

    <div class="video44"><iframe width="560" height="315" src="https://www.youtube.com/embed/mZXkhXcZ3AQ?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe> </div>
    

    说width="560" height="315"。所以当你设置width: 40%时,它会占据屏幕的40%,对吗?但正如您在 HTML 中看到的那样,youtube 格式实际上并不存在,它们只有width="560" height="315"。

    因为这里“%”被用作文档宽度的百分比,所以更改为“vw”可能更容易。所以现在视频将是40vw。

    此外,如果我们使用calc(),我们也许能够找到该视频的未指定比例。

    所以我们现在宽度与高度的差异和比例是宽度/高度,因此我们将使用calc(315 / 560)。然后我们将它乘以我们想要的大小,在本例中为40vw。就是这样!看起来怎么样?

    .video44 iframe {
      width: 40vw;
      height: calc((315 / 560) * 40vw);
      height: -moz-calc((560 / 315) * 40vw);
    }
    

    您还需要添加 -moz-,因为 Mozilla 并不完全支持它。

    .video44 怎么了?它会自动调整,因为它是 &lt;div&gt;。

    这应该可行。

    更新 要回答“如何在div 中制作视频,该视频在不是div 的主体 100% 和上述容器的 div 40% 的容器中”,这里是答案:

    HTML:

    <div id="big_container">
        <div class="video44">
            <iframe width="560" height="315" src="https://www.youtube.com/embed/mZXkhXcZ3AQ?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
        </div>
    </div>
    

    CSS:

    #big_container {
      width: 100%;
      height: 25em;
      background-color: red;
    }
    
    .video44 {
      width: 40%;
      height: calc(560px / 315 * 100);
      background-color: blue;
    }
    
    iframe {
      width: 100%;
      height: 100%;
    }
    

    #big_container 应该代表您更大的容器。 我还添加了颜色,以便您可以玩弄它。

    顺便说一句,如果你想“alliniate”它,那么我建议你使用&lt;section&gt;s,然后用它创建列。

    【讨论】:

    • 不起作用,这是结果,如果您注意到不与“框图像”疏远,我希望视频框与每个分辨率的框图像保持对齐(请参阅)
    • 是.video44 占整体的40%?如果不是,那么.video44 40% 是多少?你能告诉我这些价值观是什么吗?抱歉拖了这么久……
    • yes 是 40%,因为代码已经发布了宽度,它很好并且响应迅速,但是有高度的问题,查看网站bit.ly/1EfgOsL
    • 所以你希望.video44 是全宽的,而视频是全宽的 40%?或者你希望.video44 是全宽的 40%,如果这样,视频 t 是 100%?
    • 我希望视频是全屏的 40%,因为盒子图像是全屏的 40%,所以如果我想将这两个类分开,很可能将视频盒设置为 40%
    猜你喜欢
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2016-07-20
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多