CSS 1 px border with responsive bootstrap, Vimeo embed, and WordPress theme
我在使用 Vimeo 在我的 WordPress 主题中嵌入视频时遇到问题。显示视频嵌入左侧的 Vimeo 背景的 1px 边框(在 Chrome 中)。 Bootstrap 也是用这个主题实现的。
基本上,当嵌入 Vimeo iframe 时,它??会在左侧显示一个非常细的黑色边框,这是其 iframe 的 Vimeo 默认背景。我们有白色背景,因此在某些页面上非常明显。如果您查看源代码,则基本嵌入是:
1 | <iframe src="http://player.vimeo.com/video/64685575" width="940" height="528" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframex> |
但实际的嵌入要复杂得多,并且会在其上添加引导流样式等。我尝试检查所有元素并对其进行编辑,但无法弄清楚。有这个问题的页面的一个很好的例子是:http://www.universityoffashion.com/disciplines/fashion-art/
这个答案不正确。 .player .video-wrapper 位于加载到 iframe 的 HTML 文档中,因此 !important 什么都不做,因为 iframe 从字面上加载了框架内的不同网页,这绝不会受到本地 CSS 的影响。在过去的一年里,Vimeo 上有多个关于这个问题的报告,而且它们基本上没有响应。
我的解决方案是把我的 iframe 放在一个 div 中,位置:absolute,top:0,left:0,width:100%。该宽度是 div 父级的 100%,在我的情况下,它受到响应式布局中列宽的限制。这实际上有效,与之前标记为正确的答案不同。
这是对我有用的代码,
1 2 3 4 5 6 | position: relative; top: 0; left: 0; width: 100%; border: 5px solid gold; box-sizing: initial; |
我的解决方法是将 iframe 的宽度和高度扩展为顶部和左侧 2px。之后,将 iframe 集中在容器package器中。
package器隐藏了溢出,然后,1px 边框消失了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* Embed iframe wrapper */ .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; padding-bottom: 56.25%; /* 16 x 9 */ } /* Vimeo/Youtube Iframe */ .embed-responsive iframe{ position: absolute; bottom: 0; width: calc(100% + 2px); height: calc(100% + 2px); border: 0; top: 50%; left: 50%; transform: translate(-50%, -50%); } |
我尝试在 iframe 标记中使用内联 css,它可以正常工作并且响应速度也很好。
1 | <iframe ..... style="border:1px solid;"></iframex> |
您需要更改视频package div 的背景颜色。具有类视频package器的 div 具有 #000 的背景。将其更改为#fff。
以下是 player.css 中第 2 行的代码。
1 2 3 4 5 6 | .player .video-wrapper { background: none repeat scroll 0 0 #000000; height: 100%; position: absolute; width: 100%; } |
替换为:
1 2 3 4 5 | .player .video-wrapper { background: none repeat scroll 0 0 #FFFFFF; height: 100%; position: absolute; width: 100%; |
}