将边距应用于除iframe之外的所有边距

时间:2008-11-26 19:25:20

标签: css iframe

我使用'css a'有'page a'。此页面的边距设置为css。 我还有一个'页面b'使用'css b'。此页面的边距也设置为css,大小与'css a'(10px)相同。

我有什么方法可以做到这一点,以便当我自己查看'page a'时它有边距,但是当在'page b'上的iframe中查看时,边距不适用于'page a' 。我知道这是一个很长的问题,但基本的问题是我得到了iframe内容的“双倍边距”:来自“页面a”的边距,然后来自“页面b”的边距!

我想一种方法是设置iframe不受'page a''边距的影响。有没有什么方法可以设置'css a'来从边距中排除iframe,这样只会应用来自css b的边距,页面仍然会对齐。那可能吗?

感谢您的帮助

马特

4 个答案:

答案 0 :(得分:1)

如果网页位于iframe中,您可以使用Javascript更改边距。

答案 1 :(得分:1)

我不知道从a.css中指定它的方法,但是如果你将以下内容添加到b.css:

iframe { margin:-10px; }

......它可能有用。

编辑:带有a.html的iframe是b.html中唯一包含的项目吗? 你有测试文件吗?

编辑(2):在css中,您可以将其指定为

iframe#head { ...; }

此外,我认为您可以评论对您自己的问题的回答。我可以mine

答案 2 :(得分:1)

我真的很抱歉,我知道每个人都对发布答案感到非常沮丧,而不是对堆叠溢出和刚刚学习的新评论。怜悯!我已经弄清楚我做错了什么,现在我有这个'开放id'的东西,我会尝试在正确的地方发布。我害怕这次虽然我必须发布作为答案,因为我开始这个问题没有我的开放ID,所以仍然无法评论那些东西....

现在好了,这就是'测试用例':http://cart3.jaspers-sensations.com/test/pagea.html

第b页是:http://cart3.jaspers-sensations.com/test/pageb.html css a是:http://cart3.jaspers-sensations.com/test/stylea.css css b是:http://cart3.jaspers-sensations.com/test/styleb.css

答案 3 :(得分:1)

阅读your clarification之后,我认为你不能完全用CSS做到这一点。我很确定CSS不能跨框架。

但是,如果两个文档都位于同一个域中,您应该能够使用JavaScript执行此操作。

例如,这应该适用于您的示例页面。将以下属性添加到<iframe>

 onload="window.frames[0].document.body.style.margin = 0"

至少可以在Firefox 3和Opera 9中使用。但它确实是老式的JavaScript,考虑到我的浏览器在变体工作方面有点变幻无常,我不确定应用到真实网站会有多容易。

比我更精通JavaScript的人应该能够提供帮助。

这可能会有所帮助: