透明 Iframe 主体

问题描述 投票:0回答:4

我需要一个具有动态宽度和高度的(跨域)iframe。

我的问题是, 我可以创建一个 100% 大小和透明背景的 iframe,以显示该 iframe 的父级(位于其后面)吗?

我可以为 iframe 背景附加 css 属性或透明 gif 来实现这种效果吗?

谢谢。

css iframe background transparent
4个回答
126
投票

是的,你可以(如果我正确理解你的问题)

这是代码 如果您有 iframe 内容的编辑权限,请将其放在(iframe 的)头部

<style type="text/css">
 <!-- BODY {background:none transparent;}-->
 </style>

然后像这样嵌入iframe

<iframe src="frame.htm" allowtransparency="true">

2
投票

通过检查 iframe 页面,您可能会发现页面的某些部分有颜色。我的建议是在添加透明度时从最高的组件开始:

html {
  background-color: transparent !important;
}

然后在 iframe 元素中:

<iframe src="www.." allowtransparency="true">

0
投票

在现代浏览器中,问题在于颜色方案的元标记(参考:https://fvsch.com/transparent-iframes

如果 iframe 的配色方案与嵌入文档不同,iframe 会获得适合其配色方案的不透明画布背景。

所以我解决这个问题的方法是在我的 iframe 中添加颜色方案元

<meta name="color-scheme" content="light dark">

-1
投票

这尚未经过测试,但 iframe(任何元素)应该具有透明的默认背景。

如果不是这样,你可以在CSS中将它们设置为透明

background: transparent

如果这不起作用,您可以使用 CSS 不透明度滤镜:
http://www.w3schools.com/Css/css_image_transparency.asp

© www.soinside.com 2019 - 2024. All rights reserved.