首页 新闻 会员 周边

iframe中引入新页面,html和body总是比内容多一段高度,和iframe一样的高度,会随着iframe高度变化 ,

0
[已解决问题] 解决于 2016-12-29 17:09

iframe中引入新页面,html和body总是比内容多一段高度,和iframe一样的高度,会随着iframe高度变化,这是什么原因,已排查过css,js的影响。

 

求大神帮忙解决

把body里的内容去掉body高度还是和iframe一样

陈敏航的主页 陈敏航 | 初学一级 | 园豆:119
提问于:2016-12-29 14:55
< >
分享
最佳答案
0

长啥样啊,难道是本页的iframe被撑大了?应该不是这,那你的意思是另一页的内容样式变化啦?加div没有,高度宽度设定了没有,浏览器的问题?什么浏览器,ie678,谷歌,火狐,不应该是浏览器的问题,什么原因啊,有图没有?还是margin的问题啊

奖励园豆:5
大水煮鱼 | 菜鸟二级 |园豆:366 | 2016-12-29 15:06

iframe有一个高度,body里面有内容的,但是没设定高度,浏览器上显示出来的是 body高度和iframe一样 大于内容高度

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 15:08

@陈敏航: 那你是想怎么样?还是说想知道为什么另一页的body高度和本页的iframe高度一样?不过你内容不是没设定高度,怎么会说大于内容高度,内容不是在body里的吗,body不是和iframe一样大吗,那么不就是大于内容高度吗?额额,晕了晕了

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 15:21

@此生唯伊: 想知道另一页的body高度为什么和iframe一样

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 15:22

@此生唯伊:内容的高度是要比iframe高度小的

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 15:23

@陈敏航: 唔,以我的经验来说,如果父页面的iframe高度已经确定,那么引入的子页面的不论多大,都撑不大父页面的iframe,但是如果是父页面的iframe是自适应子页面的高度,那么就会自动改变大小,就像下面那位兄弟给的那个链接里说的那种iframe自适应技术一样。你说的子页面的高度为什么和父页面的iframe一样大?如果子页面的高度没有父页面的iframe大,其实看起来两者大小就是差不多,而你的内容没有高度... 不过你body设置padding:1px;是不是这个原因啊,你是想让内容顶着头吗?全部设成0呢,body{margin:0;padding:0;}

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 15:42

@此生唯伊: 我把内容都去掉啦,body高度还是和iframe一样

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 15:52

@陈敏航: 那你别设body的margin和padding呢,你不想一样大,就在子页面里弄个盒子设置高度比父页面的iframe大,我不信子页面的body还和iframe一样大,不信,不信。。

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 16:04

@此生唯伊: 这样确实不一样大了 但是还是没搞懂为什么body没内容时 跟iframe一样大,还是很谢谢你的帮助

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 16:08

@陈敏航: 这个问题太深奥,容我仔细想想,这个机制,我感觉是其实没内容也不是一样大,只是你看起来一样大,子页面没设定大小就没有大小,就没大小这个概念啦,所以也不能说和父页面的iframe一样大,只是显示出来的和父页面一样大,如果子页面的内容大小没有超过父页面的iframe大小,那当然是包含在iframe之中了看起来就是和子页面一样大,如果子页面内容大小超过了父页面的iframe大小,那当然是超出了iframe的包含,所以看起来就是和父页面的iframe不一样大了,现在这个我也解释不好,不过这就和1+1=2的问题一样,太深入了... 

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 16:23

@此生唯伊: 有方向了 貌似iframe会影响body的高度

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 16:39

@此生唯伊: 

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 16:44

@陈敏航: 你这F12用的挺溜啊。。

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 16:53

@此生唯伊: 原来是是声明的问题 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 17:08

@陈敏航: 这样声明和<!DOCTYPE html>有啥不同啊?

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 17:11

@此生唯伊: 我刚去w3c看了下 一个是html5的声明,一个是

HTML 4.01 Transitional

该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

具体怎么样我也不是很了解

陈敏航 | 园豆:119 (初学一级) | 2016-12-29 17:31

@陈敏航: 嗯,你搞明白就行了,那个页面声明不同好像效果是有一点差别的,虽然可能有时候差别不大

大水煮鱼 | 园豆:366 (菜鸟二级) | 2016-12-29 21:52
其他回答(2)
0

把你代码贴出来看看

参考这个

http://www.cnblogs.com/Candybunny/p/6233034.html

ycyzharry | 园豆:25651 (高人七级) | 2016-12-29 15:12
0

把你代码贴出来看看

baixiaoji | 园豆:202 (菜鸟二级) | 2016-12-29 15:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册