侧边栏壁纸
博主头像
MicroMatrix博主等级

曲则全,枉则直,洼则盈,敝则新,少则得,多则惑。是以圣人抱一为天下式。不自见,故明;不自是,故彰;不自伐,故有功;不自矜,故长。夫唯不争,故天下莫能与之争。古之所谓“曲则全”者,岂虚言哉!诚全而归之。

  • 累计撰写 80 篇文章
  • 累计创建 21 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CSS3小技巧-在div中iframe出现滚动条问题

蜗牛
2022-11-30 / 0 评论 / 0 点赞 / 7 阅读 / 2624 字 / 正在检测是否收录...

前言

父元素.parent设定了高度,设置iframe height:100%,通过浏览器观察发现,外层div与iframe高度相同,为什么出现滚动条,发现没有padding/margin的影响。

<div class="parent"> 
    <iframe frameborder="no" style="width:100%;height:100%;" src=""></iframe> 
</div>

解决方法

简单来说,iframe=inline frame它是一个内联元素,默认是baseline对齐的,iframe后边有个看不见、摸不着的行内空白节点, 空白节点占据着高度,iframe与空白节点的基线对齐,导致了div被撑开,从而出现滚动条。 找到原因了,解决方案也就简单了。

  1. 第一种,设置iframe的vertical-align:top
  2. 第二种,设置父div的font-size:0,从而影响空白节点的line-height是0,从而不占据高度。
  3. 第三种,改变iframe的内联元素性质,改为块级元素,display:block

最后发现是vertical-align:baseline导致的,改为top后正常,但是在IE110中仍旧存在问题 经尝试 vertical-align:text-top(text-bottom)可以保证兼容性

0

评论区